Разработка теста для проверки знаний

Разработка теста для проверки знаний языка программирования Си, предназначенного для автоматизации работы в ВУЗах по оценке знаний учащихся. Основные требования к программе. Выбор и обоснование выбора среды разработки. Описания тестовых случаев.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 15.06.2012
Размер файла 832,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение

В настоящее время во всех сферах человеческой деятельности компьютер является неотъемлемой частью любого производственного либо обучающего процесса. В связи с все возрастающим потоком информации и необходимостью ее структурирования появилась потребность в создании программ, способных обрабатывать большие объемы информации.

Сейчас компьютеры превратились в универсальные средства для получения, обработки и контроля всех видов информации, используемых человеком.

Для облегчения труда программистов были созданы языки программирования, которые строились на основе определенного алфавита и строгих правил построения предложений. Отличительной особенностью этих языков является их ориентация не на систему команд той или иной ЭВМ, а на систему операторов, характерных для записи определенного класса алгоритмов. Такие языки принято называть языками программирования высокого уровня. К ним относятся: Бейсик, Фортран, Паскаль, Алгол, Си и многие другие.

Количество людей, которые необходимы для работы в области создания, внедрения, сопровождения и т.д. программного обеспечения постоянно увеличивается. Сейчас фактически во всех развитых странах, включая нашу, существует определенный дефицит профессиональных специалистов в сфере информационных технологий (системных и прикладных программистов, менеджеров, руководителей проектов, архитекторов программных систем, дизайнеров, технических писателей, компьютерных художников и т.д.). Поэтому главная задача нашего образования - подготовка профессионалов, владеющих современными методами, технологиями и инструментами разработки программного обеспечения, умеющих применять полученные знания в процессе обучения для разработки конкурентоспособных программных продуктов.

Трудно назвать другую сферу человеческой деятельности, которая развивалась бы столь быстро и продолжала бы такое разнообразие проблем, как информатизация и компьютеризация общества.

С помощью различных языков программирования можно создавать не только программные продукты, использование которых облегчает нашу жизнь, но также создавать тестирующие системы, которые будут способствовать повышению уровня образования учащихся.

С помощью компьютера можно выполнить практически любую задачу. Последние достижения в области информационных технологий, а также относительная дешевизна современных персональных компьютеров привели к их повсеместному внедрению. Сегодня практически ни одно учреждение не может обойтись без их помощи. Важную роль в таких учреждениях выполняет сетевое окружение. Здесь ему отводится особая роль. Его применение позволяет за считанные минуты передавать информацию между рабочими станциями, даёт возможность обобщенной работы пользователей оставаясь на своем рабочем месте, что значительно экономит время.

Целью дипломной работы является разработка теста для проверки знаний по предмету «Язык программирования Си». Данная система позволит пользователям проверить свои знания по языку программирования Си.

Предполагаемый проект должен обладать рядом качеств, которые бы выделили его среди остальных программ с той же функцией.

Во-первых, функциональность, то есть программа должна на модели интерактивного объекта осуществлять все основные операции.

Во-вторых, простота интерфейса, рассчитанного практически на любого пользователя, имеющего хотя бы первоначальное знакомство с персональным компьютером.

В-третьих, удобство в использовании программы.

1. Концепция

Слово «тест» вызывает у преподавателей самые различные представления. Одни полагают, что это вопросы или задачи с одним готовым ответом, который надо угадать. Другие считают тест формой игры или забавы. Третьи пытаются истолковать это как перевод с английского слова «test», (проба, испытание, проверка). В общем, по этому вопросу нет единства мнений. Тем более что в учебниках педагогики об этом не пишут. А если где и пишут, то нередко написанное трудно понять. Не случайно размах мнений о тестах оказывается слишком широким: от суждений обыденного сознания до попыток научного истолкования сущности тестов.

В наши дни существует много видов тестов, поэтому дать универсальное определение для всех этих видов вряд ли можно.

Традиционный тест представляет собой стандартизованный метод диагностики уровня и структуры подготовленности. В таком тесте все испытуемые отвечают на одни и те же задания, в одинаковое время, в одинаковых условиях и с одинаковыми правилами оценивания ответов. Главная цель применения традиционных тестов - установить уровень знаний. И на этой основе определить место (или рейтинг) каждого на заданном множестве тестируемых испытуемых. Для достижения этой цели можно создать бесчисленное количество тестов, и все они могут соответствовать достижению поставленной задаче.

И тогда возникает один из главных вопросов теории тестов - вопрос выбора наилучшего теста из практически неограниченного множества всех возможных тестов. Каждый тест может отличаться от других по числу заданий и другим характеристикам. С прагматической точки зрения выгодней делать тест, имеющий сравнительно меньшее число заданий, но обладающий большинством достоинств, присущих более длинным, как говорят в зарубежной теории, тестам. Понятие «длина теста» введено в начале XX века Ч. Спирманом и обозначает, на русском языке, количество заданий в тесте. Чем длиннее тест, тем больше в нем заданий. От числа заданий некоторым образом зависит точность педагогического измерения.

В тест стараются отобрать минимально достаточное количество заданий, которое позволяет сравнительно точно определить уровень и структуру подготовленности. Интерпретация результатов тестирования ведется преимущественно с опорой на среднюю арифметическую и на так называемые процентные нормы, показывающие, - сколько процентов испытуемых имеют тестовый результат худший, чем у любого другого испытуемого. Такая интерпретация тестовых результатов называется нормативно-ориентированной.

Тест определяется как система заданий возрастающей трудности, позволяющая эффективно измерить уровень и качественно оценить структуру подготовленности учащихся. Это определение педагогического теста.

Педагогический тест определяется как система заданий возрастающей трудности, специфической формы, позволяющая качественно и эффективно измерить уровень и оценить структуру подготовленности учащихся. Для лучшего понимания этого определения полезно дать краткое истолкование его основных терминов.

Система означает, что в тесте собраны такие задания, которые обладают системообразующими свойствами. Здесь, в первую очередь, надо выделить общую принадлежность заданий к одной и той же системе знаний, т.е. к одной учебной дисциплине, одному разделу, теме и т.д., их связь и упорядоченность. Для итоговой аттестации выпускников школ нужно разрабатывать интегративные задания, содержание которых охватывает систему знаний. В педагогическом тесте задания располагаются по мере возрастания трудности - от самого легкого до самого трудного. Иначе говоря, главным формальным системообразующим признаком теста является различие заданий по степени их трудности.

Специфическая форма тестовых заданий отличается тем, что задания теста представляют собой не вопросы и не задачи, а задания, сформулированные в форме высказываний, истинных или ложных, в зависимости от ответов. Традиционные вопросы, напротив, истинными или ложными не бывают, а ответы на них нередко настолько неопределенны и многословны, что для выявления их правильности требуются заметные, в суммарном исчислении, затраты интеллектуальной энергии преподавателей. В этом смысле традиционные вопросы и ответы нетехнологичны, и потому их лучше не включать в тест.

Определенное содержание означает использование в тесте только такого контрольного материала, который соответствует содержанию учебной дисциплины; остальное в педагогический тест не включается ни под каким предлогом.

Возрастающую трудность заданий можно образно сравнить с барьерами на беговой дорожке стадиона, где каждый последующий выше предыдущего. Поскольку в педагогическом тесте задания упорядочиваются по принципу возрастающей трудности, одни испытуемые «заваливаются» уже на самом легком, первом задании, другие - на последующих заданиях. Ученик среднего уровня подготовленности могут ответить правильно только на половину заданий теста и, наконец, только самые знающие в состоянии дать правильный ответ на задания самого высокого уровня трудности, расположенные в конце теста. Трудность задания может определяться двояко: а) умозрительно, на основе предполагаемого числа и характера умственных операций, необходимых для успешного выполнения заданий, и … б) после эмпирического опробывания заданий, с подсчетом доли неправильных ответов. В классической теории тестов многие годы рассматривались только эмпирические показатели трудности.

Показатель трудности задания рассматривается как важный системно-, и одновременно, структурообразующий фактор теста. К этому можно добавить еще один критерий - это критерий логической определенности тестового задания. Его можно сформулировать словами, близкими к формулировке Х. Карри: задание является определенным, если на него можно ответить утвердительно или отрицательно, и если существует эффективный процесс для нахождения такого ответа.

Ответ на задание педагогического теста представляет собой краткое суждение, связанное по содержанию и по форме с содержанием задания. Каждому задания ставятся в соответствие ответы правильные и неправильные. Критерии правильности заранее определяются авторами теста. Вероятность правильного ответа на любое задание зависит от соотношения уровня знаний испытуемого и уровня трудности задания. Инструкция для испытуемых в таких случаях может быть такой: «Обведите кружком номер (нажимайте на клавишу с номером) наиболее правильного, на ваш взгляд, ответа!»

Посредством тестирования чаще других признаков проверяются знания, умения, навыки и представления. С точки зрения педагогических измерений полезно ввести два основных показателя качества знаний - уровень и структура знаний. Они оценивается посредством регистрации оценок, как за знание, так и за незнание всех требуемых компонентов проверяемого материала. Для объективизации этого процесса все компоненты должны быть одинаковы. Одинаковыми являются и правила выставления оценок испытуемым. Эти условия открывают дорогу для объективного сравнения индивидуальных структур знания и не знания.

Уровень знаний выявляются при анализе ответов каждого ученика на все задания теста. Чем больше правильных ответов, тем выше индивидуальный тестовый балл испытуемых. Обычно этот тестовый балл ассоциируется с понятием «уровень знаний» и проходит процедуру уточнения на основе той или иной модели педагогического измерения. Один и тот же уровень знаний может быть получен за счет ответов на различные задания.

Если тестовый балл ниже требуемого уровня (измеряемого критерия), то проявленные при этом знания, умения, навыки и представления указывают на докритериальный уровень подготовленности испытуемого. Этот уровень является самым распространенным и массовым. Для многих он оказывается вполне преодолимым по мере изучения ими наук и овладения мастерством. Однако некоторые, преимущественно в силу недостатка способностей и прилежания, так и остаются на этом уровне.

Структура знаний оценивается на основе последовательности правильных и неправильных ответов на задания возрастающей трудности. Формой представления индивидуальной структуры знания и незнания является профиль знаний испытуемого, представляемый последовательностью единиц и нулей, получаемых каждым студентом. Профиль знаний представляет собой упорядоченный набор оценок (вектор-строку) в матрице тестовых результатов. Если испытуемый отвечает правильно на первые, сравнительно легкие задания, можно говорить о правильной структуре знаний. Профиль называется правильным, если в строке баллов у испытуемого все нули следуют за всеми единицами.

Если же обнаруживается противоположная картина, (испытуемый правильно отвечает на трудные задания и неправильно - на легкие), то это противоречит логике теста и потому такая структура знаний может быть названа инвертированной. Она встречается редко, и чаще всего, из-за нарушения требования располагать задания по мере возрастающей трудности. При условии, что тест сделан правильно, каждый профиль свидетельствует о структуре знаний. Эту структуру можно назвать элементарной (поскольку есть еще факторные структуры, которые выявляются с помощью методов факторного анализа).

Каждое учебное заведение должно стремиться, в первую очередь, к формированию правильных индивидуальных структур знаний, в которых не было бы пробелов (разрывов в знаниях), и на этой основе повышать уровень подготовки. Уровень знаний в значительной степени зависит от личных усилий и способностей учащихся, в то время как структура знаний заметно зависит от правильной организации учебного процесса, от индивидуализации обучения, от мастерства педагога, от объективности контроля - в общем, от всего того, чего обычно не хватает.

Как справедливо отмечал М. Минский, человек не может хорошо учиться, если разрывы для него между известным и неизвестным слишком велики. Уровень знаний в значительной степени зависит от личных усилий и способностей учащихся. В то время как структура знаний зависит от правильной организации учебного процесса, от индивидуализации обучения, от мастерства педагога, от объективности контроля. В общем, от всего того, чего обычно у нас не хватает.

В тестовом задании внимание педагога привлекает, в первую очередь, содержание и форма. Содержание определяется как отображение фрагмента учебной дисциплины в тестовой форме, форма - как способ связи, упорядочения элементов задания. Содержание теста существует, сохраняется и передается в одной из четырех основных форм заданий. Вне тестовых форм ни тест, ни его содержание не существуют.

Существуют два основных вида тестов: традиционные и нетрадиционные.

Традиционные тесты. Тест обладает составом, целостностью и структурой. Он состоит из заданий, правил их применения, оценок за выполнение каждого задания и рекомендаций по интерпретации тестовых результатов. Целостность теста означает взаимосвязь заданий, их принадлежность общему измеряемому фактору. Каждое задание теста выполняет отведенную ему роль и потому ни одно из них не может быть изъято из теста без потери качества измерения.

Структуру теста образует способ связи заданий между собой. В основном, это так называемая факторная структура, в которой каждое задание связано с другими через общее содержание и общую вариацию тестовых результатов.

Традиционный тест представляет собой единство, по меньшей мере, трех систем: содержательной системы знаний, описываемой языком проверяемой учебной дисциплины; формальной системы заданий возрастающей трудности; статистических характеристик заданий и результатов испытуемых.

Традиционный педагогический тест нужно рассматривать в двух существенных смыслах: как метод педагогического измерения и как результат применения теста. В приведенном выше определении традиционного теста получили развитие несколько идей.

Первая идея - тест рассматривается не как обычная совокупность или набор вопросов, задач и т.п., а в виде понятия «система заданий». Такую систему образует не всякая совокупность, а только та, которая обусловливает возникновение нового интегративного качества, отличающего тест от элементарного набора заданий и от других средств педагогического контроля. Исходя из этого, можно дать одно из самых коротких определений: тест - это система заданий, образующих наилучшую методическую целостность. Целостность теста - это устойчивое взаимодействие заданий, образующих тест как развивающуюся систему.

Вторая идея состоит в том, что в данном определении теста совершен отход от укоренившейся традиции рассмотрения теста как простого средства проверки, пробы, испытания. Всякий тест включает в себя элемент испытания, он не сводится весь к нему. Ибо тест - это еще и концепция, содержание, форма, результаты и интерпретация - все, требующее обоснования. В соответствии с положениями теории, тестовые оценки не являются точными оценками испытуемых. Правильно говорить, что они лишь репрезентируют эти значения с некоторой точностью.

Третья идея, развиваемая в нашем определении традиционного теста - это включение нового понятия - эффективность теста, который ранее в литературе по тестам не рассматривался в качестве критерия анализа и создания тестов. Ведущая идея традиционного теста - минимальным числом заданий, за короткое время, быстро, качественно и с наименьшими затратами сравнить знания как можно большего числа учащихся.

По существу, этим отражается идея эффективности педагогической деятельности в области контроля знаний. Организации автоматизированного самоконтроля - самой гуманной формы контроля знаний, невозможна у нас в стране по причинам недостаточной обеспеченности классов компьютерной техники. Не в состоянии учитель это делать и физически. В силу, мягко скажем, ошибочной социальной политики зарплата педагогов уже давно не компенсирует затраты даже физической энергии, необходимой для хорошего преподавания, не говоря уже о повышенных затратах энергии интеллектуальной, что способно совершать только раскованное, а не озабоченное поисками хлеба мышление. Как отмечается в литературе, квалифицированный работник получает у нас в три-четыре раза меньше того уровня зарплаты, за границами которого нарушается нормальная жизнедеятельность и начинается разрушение трудового потенциала

К традиционным тестам относятся тесты гомогенные и гетерогенные.

Гомогенный тест представляет собой систему заданий возрастающей трудности, специфической формы и определенного содержания - система, создаваемая с целью объективного, качественного, и эффективного метода оценки структуры и измерения уровня подготовленности учащихся по одной учебной дисциплине. Легко видеть, что в своей основе определение гомогенного теста совпадает с определением традиционного теста.

Гомогенные тесты распространены больше других. В педагогике они создаются для контроля знаний по одной учебной дисциплине или по одному разделу объемной учебной дисциплины (например, физики или информатики). В гомогенном педагогическом тесте не допускается использование заданий, выявляющих другие свойства. Наличие последних нарушает требование дисциплинарной чистоты педагогического теста. Ведь каждый тест измеряет что-то заранее определенное.

Например, тест по информатике измеряет знания, умения, навыки и представления испытуемых в данной науке. Одна из трудностей такого измерения заключается в том, что знания информатики изрядно сопряжены с математическими. Поэтому в тесте по информатике экспертно устанавливается уровень математических знаний, используемых при решении информативных заданий. Превышение принятого уровня приводит к смещению результатов; по мере превышения последние все больше начинают зависеть не столько от знания информатики, сколько от знания другой науки, математики.

Другой важный аспект - стремление некоторых авторов включать в тесты не столько проверку знаний, сколько умение решать информативные задачи (читать программы и д.т.), вовлекая, тем самым, интеллектуальный компонент в измерение подготовленности по информатике.

Гетерогенный тест представляет собой систему заданий возрастающей трудности, специфической формы и определенного содержания - система, создаваемая с целью объективного, качественного, и эффективного метода оценки структуры и измерения уровня подготовленности учащихся по нескольким учебным дисциплинам. Нередко в такие тесты включаются и психологические задания для оценки уровня интеллектуального развития.
Обычно гетерогенные тесты используются для комплексной оценки выпускника школ, оценки личности при приеме на работу и для отбора наиболее подготовленных абитуриентов при приеме в вузы. Поскольку каждый гетерогенный тест состоит из гомогенных тестов, интерпретация результатов тестирования ведется по ответам на задания каждого теста (здесь они называются шкалами) и кроме того, посредством различных методов агрегирования баллов делаются попытки дать общую оценку подготовленности испытуемого.

Нетрадиционные тесты. К нетрадиционным тестам можно отнести тесты интегративные, адаптивные, многоступенчатые и так называемые критериально-ориентированные тесты.

1. Интегративным можно назвать тест, состоящий из системы заданий, отвечающих требованиям интегративного содержания, тестовой формы, возрастающей трудности заданий, нацеленных на обобщенную итоговую диагностику подготовленности выпускника образовательного учреждения. Диагностика проводится посредством предъявления таких заданий, правильные ответы на которые требуют интегрированных (обобщенных, явно взаимосвязанных) знаний двух и большего числа учебных дисциплин. Создание таких тестов дается только тем преподавателям, которые владеют знаниями ряда учебных дисциплин, понимают важную роль межпредметных связей в обучении, способны создавать задания, правильные ответы на которые требуют от учащихся знаний различных дисциплин и умений применять такие знания.

Интегративному тестированию предшествует организация интегративного обучения. К сожалению, существующая сейчас классно-урочная форма проведения занятия, в сочетании с чрезмерным дроблением учебных дисциплин, вместе с традицией преподавания отдельных дисциплин (а не обобщенных курсов), ещё долго будут тормозить внедрение интегративного подхода в процессы обучения и контроля подготовленности. Преимущество интегративных тестов перед гетерогенными заключается в большей содержательной информативности каждого задания и в меньшем числе самих заданий. Потребность создания интегративных тестов возрастает по мере повышения уровня образования и числа изучаемых учебных дисциплин. Поэтому попытки создания таких тестов отмечаются, в основном, в высшей школе. Особенно полезны интегративные тесты для повышения объективности и эффективности проведения итоговой государственной аттестации учащихся и студентов.

2. Адаптивные тесты. Целесообразность адаптивного контроля вытекает из необходимости рационализации традиционного тестирования. Каждый преподаватель понимает, что хорошо подготовленному ученику нет необходимости давать легкие и очень легкие задания. Потому что слишком высока вероятность правильного решения. К тому же, легкие материалы не обладают заметным развивающим потенциалом. Симметрично, из-за высокой вероятности неправильного решения нет смысла давать трудные задания слабому ученику. Известно, что трудные и очень трудные задания снижают учебную мотивацию многих учащихся. Нужно было найти сопоставимую, в одной шкале, меру трудности заданий и меру уровня знаний. Эта мера была найдена в теории педагогических измерений. Датский математик Г. Раск назвал эту меру словом «логит». После появления компьютеров эта мера легла в основу методики адаптивного контроля знаний, где используются способы регулирования трудности и числа предъявляемых заданий, в зависимости от ответа учеников. При успешном ответе следующее задание ЭВМ подбирает более трудным, при неуспешном - легким. Естественно, этот алгоритм требует предварительного опробования всех заданий, определения их меры трудности, а также создания банка заданий и специальной программы.

Использование заданий, соответствующих уровню подготовленности, существенно повышает точность измерений и минимизирует время индивидуального тестирования до, примерно, 5-10 минут. Адаптивное тестирование позволяет обеспечить компьютерную выдачу заданий на оптимальном, примерно 50%-ом уровне вероятности правильного ответа, для каждого ученика.

В западной литературе выделяется три варианта адаптивного тестирования. Первый называется пирамидальным тестированием. При отсутствии предварительных оценок всем испытуемым дается задание средней трудности и уже затем, в зависимости от ответа, каждому испытуемому дается задание легче или труднее; на каждом шаге полезно использовать правило деления шкалы трудности пополам. При втором варианте контроль начинается с любого желаемого, испытуемым, уровня трудности, с постепенным приближением к реальному уровню знаний. Третий вариант - когда тестирование проводится посредством банка заданий, разделенных по уровням трудности.

Таким образом, адаптивный тест представляет собой вариант автоматизированной системы тестирования, в которой заранее известны параметрами трудности и дифференцирующей способности каждого задания. Эта система создана в виде компьютерного банка заданий, упорядоченных в соответствии с интересующими характеристиками заданий. Самая главная характеристика заданий адаптивного теста - это уровень их трудности, полученный опытным путем, что означает: прежде чем попасть в банк, каждое задание проходит эмпирическую апробацию на достаточно большом числе типичных учащихся интересующего контингента. Недостаточная информированность о реальном уровне знаний учеников и естественные различия в их способностях усвоить предлагаемые знания стали главной причиной появления адаптивных систем, основанных на принципе индивидуализации обучения. Этот принцип трудно реализуем в традиционной, классно-урочной форме. До появления первых компьютеров наиболее известной системой, близкой к адаптивному обучению, была так называемая «Система полного усвоения знаний».

3. «Критериально-ориентированные тесты». Это весьма условное, и в принципе, неправильное название группы тестов, получивших у нас некоторое распространение и признание. К сожалению, была сделана даже попытка ввести это название в текст наших законов об аттестации и о стандартах. По существу же, мы имеем дело не столько с тестами названного рода, сколько с интерпретацией тестовых результатов. Если главной задачей является стремление выяснить, - какие элементы содержания учебной дисциплины усвоены тем или иным испытуемым, то это случай предметно - педагогического подхода к интерпретации результатов тестирования. При этом определяется - что из генеральной совокупности заданий (по англ. Domain) испытуемый знает и что не знает. Интерпретация результатов ведется педагогами, на языке учебной дисциплины. Вывод выстраивается вдоль логической цепочки: содержание учебной Дисциплины - генеральная совокупность задания для измерения знаний - тест, как выборка заданий из этой совокупности, ответы испытуемого - вероятностный вывод о его знаниях учебной дисциплины. При ориентации на такие тесты требуется большое число заданий и достаточно полное определение содержания изучаемой дисциплины. Интерпретация результатов ведется педагогами - предметниками.

Споры ведутся вокруг двух главных вопросов:

1. правильности содержания теста, что означает безошибочность формулировок его заданий, предметно-научная обоснованность, допустимость теста для проверки интересующих знаний в данной группе испытуемых. При аргументации в пользу того или иного теста педагоги-предметники опираются на понятийный аппарат, язык принципы и вообще на знания преподаваемой ими учебной дисциплины. В таких случаях говорят о тестах с содержательно-ориентированной интерпретацией результатов. Это так называемое соотнесение знаний по результатам теста со знаниями, полный перечень которых представлен в генеральной совокупности (domain);

2. обоснованности оценки знаний по всему учебному предмету, на основе результатов тестирования испытуемых по небольшой выборке заданий теста; выборка из потенциально или реально существующей генеральной совокупности всех заданий, которые можно было бы дать испытуемым для уверенной и обоснованной оценки. Фактически это вопрос обоснования точности индуктивного вывода о знании большого числа вопросов на основе ответов по малому числу заданий теста.

Второй вид тестов связан с ориентацией на такие конкретные цели и задачи, как, например, проверка уровня усвоения сравнительно короткого перечня требуемых знаний, умений и навыков, выступающих в качестве заданного стандарта или критерия усвоения. Например, для аттестации выпускников образовательных учреждений важно иметь такие задания, которые позволяют делать вывод о минимально допустимой компетентности выпускников. За рубежом их так и называют: Minimum Competency Tests. При проверке минимально допустимого уровня знаний содержание заданий носит принципиально облегченный характер. Поскольку такие задания должны выполнять все выпускники, допущенные учебным заведением к аттестации, здесь невозможно трудно говорить о тестах, как методе объективного и эффективного измерения испытуемых с разным уровнем подготовленности, в строгом смысле понятия «тест». Этот подход выработан для органов управления образованием, стоящих перед необходимостью в короткое время проверить состояние образования в большом количестве учебных заведений, и не позволять последним опускаться ниже предельно допустимого уровня требований.

Тесты с критериально-ориентированной интерпретацией нередко противопоставляются тестам с так называемой нормативно-ориентированной интерпретацией результатов. На самом деле, последние - это традиционные тесты, некоторые из которых имеют параллельные варианты.

Современная практика использования компьютерных технологий для сопровождения преподавания языка программирования Си не позволяет дать пока однозначные ответы на некоторые возникающие вопросы. Мне хотелось бы рассмотреть все «плюсы» и «минусы» данной проблемы (таблица 1.1).

Таблица 1.1. Плюсы и минусы

« Плюсы»

«Минусы»

1. Современный этап развития общества характеризуется резким количественным ростом информации, широким внедрением цифровых и сетевых Интернет-технологий в различные сферы человеческой деятельности, в том числе и образование. Сегодня нет формальных ограничений в использовании информативных технологий в качестве элемента дидактических систем, применяемых в ВУЗах.

2. С помощью компьютера можно реализовывать широкий спектр типов учебных заданий. Использование компьютеров более эффективно, чем печатного учебника или ТСО.

Например:

ь оперативная обработка и анализ итогов фронтального контроля;

ь компьютер позволяет выявить динамику сформированности языковых умений, навыков;

ь компьютерные программы достаточно эффективно реализуют упражнения на закрепление и повторение;

ь особенности компьютерных обучающих программ позволяют осуществлять индивидуальный подход в обучении.

3. Компьютерное представление учебного материала обладает большими возможностями. Сейчас наблюдается тенденция по интеграции звуковых и зрительно-звуковых средств наглядности в мультимедийные комплексы для демонстрации на большом экране изображений со звуковым сопровождением.

Любая экранная информация может быть распечатана, а печатные дидактические материалы через веб-камеру выведены на экран. Широкое применение новых информационных технологий позволяет более полно реализовать дидактический принцип наглядности при обучении.

1. Работа учащегося с компьютером уменьшает долю прямых межличностных контактов. Программы орфографической поддержки вырабатывают привычку больше полагаться на автоматический машинный редактор, чем на собственное языковое чутьё. Использование компьютера для сопровождения процесса обучения языка программирования Си может привести к утрате каких-либо языковых умений и навыков.

2. На сегодняшний день роль компьютеров в школьном обучении русскому языку ограничена. Например, некоторые типы компьютерных заданий (упражнения, требующие развернутых ответов), пока не так методически эффективны, как аналогичные традиционные задания.

Компьютерные обучающие программы можно условно разделить на два типа по принципу анализа ответов учащихся.

1. Программы построены на сравнении ответов учащихся с имеющимися в памяти машины образцами ответов (выбор альтернативного ответа да или нет).

В статье Е.В. Архиповой утверждается, что «на основании одних лишь только тестов нельзя сформировать полноценные языковые умения и навыки».

2. Программы, моделирующие те или иные особенности вербального общения. Такие программы функционируют в режиме диалога, но они пока не нашли применения в обучении из-за своей сложности.

Диалог «учащийся-компьютер» лишь моделирует, но не отражает полностью особенности диалогов «учитель-ученик».

3. При всем уважении к последним достижениям научно-технического прогресса можно отметить, что экранные средства зрительной наглядности имеют несколько меньшую по сравнению с печатными средствами информационную ёмкость. Сочетание двух способов подачи информации не всегда эффективно.

«Отличие мультимедийной информации от текстовой заключается в более укрупненной (блоковой, схематичной) подаче информации.

При индуктивном методе изложения материала возможности компьютерного сопровождения логично использовать в конце рассуждения, а при дедуктивном - в начале». Учитывая все отличия, следует говорить об их взаимодополняемости.

Учитывая все «плюсы» и «минусы», можно сказать, что компьютерные программы, предназначенные для обучения языковым умениям и навыкам, а также проведения тестирования, могут являться эффективным дополнительным средством, позволяющим разнообразить инструментарий средств, применяемых преподавателем во время занятия.

Для разработки теста для проверки знаний по предмету «Язык программирования Си» можно рассмотреть следующую концепцию создания данной программы.

Создать тест для проверки знаний учащихся по предмету «Язык программирования Си» можно используя визуальную среду программирования Delphi. Объектно-ориентированная технология визуального проектирования, позволяет отдельным программистам и коллективам разработчиков почувствовать уверенность в возможности полного удовлетворения запросов самых требовательных пользователей и устойчивость своего положения на рынке высоких технологий. С помощью программной реализации и удобного интерфейса можно создать возможность подключения модуля, в котором осуществляется тест для проверки знаний учащихся.

Преимущества: простота реализации; инструментарий Delphi позволит создать оболочку для разрабатываемого теста; программа имела бы возможность получения справочной информации разного рода, и более презентабельный вид.

Оболочка не требует использования дополнительных библиотек и приложений.

Недостатки: повышается цена приобретения программного продукта; более высокие требования, как к программному обеспечению, так и квалификации персонала, усложняется работа с программой.

На основании данной концепции можно сделать вывод, что разработанное приложение будет простым и понятным в использовании каждому пользователю.

Для того чтобы достичь положительного результата, необходимо сделать тест, обладающий приятным внешним видом, имеющим понятный и простой интерфейс, который способствует лучшему восприятию отображенной на экране информации. Работа с тестовой программой не должна вызывать затруднений.

Входной информацией будут являться ответы на тестовые задания. В качестве выходной информации пользователь получает результаты выполненных пользователем тестовых заданий.

Пользовательский интерфейс разрабатываемой тестирующей системы должен быть простым и понятным в использовании. Продуманный интерфейс и легкость в использовании являются неотъемлемыми элементами любой современной программы.

Диаграмма вариантов использования представлена на рис. 1.1.

Рисунок 1.1 - Диаграмма вариантов использования

Минимальными требованиями к аппаратному и программному обеспечению, необходимому для корректной работы программы являются:

- процессор: Pentium II;

- объем оперативной памяти: 64 Мбайт;

- операционная система: Windows 98, Windows Me, Windows 2000,

Windows XP, Window Vista, Windows 7;

- свободного места на жестком диске 50 Мбайт;

- наличие монитора VGA с разрешением не менее 800x600 точек;

- наличие манипулятора «мышь»;

- клавиатура IBM PC.

Программно ПЭВМ должна быть обеспечена операционной системой Microsoft Windows 95/98/NT/XP/Vista/7 и средой Delphi.

Соблюдение вышесказанных системных требований приведет к оптимальной работе программы, не влияя на работу других приложений.

2. Реализация

2.1 Постановка задачи

Тема проекта - тест проверки знаний по предмету «Язык программирования Си». Основными функциями программы являются:

- добавление, удаление, редактирование вопросов и ответов для теста;

- добавление пользователей;

- регистрация пользователей;

- просмотр результатов тестирования;

- просмотр рейтинга тестируемых.

Данная программа предназначена для проверки знаний учащихся. Введенные значения параметров должны осуществлять занесение информации в БД «Tests».

Входными данными являются ответы на вопросы, вводимые пользователем. Выходными данными являются введенные данные пользователем, результаты тестирования.

Продуманный интерфейс и легкость в использовании являются неотъемлемыми элементами любой современной программы. Интерфейс программы должен быть интуитивно понятным, чтобы для работы с программой не требовалось каких-либо специальных навыков.

Данная программа должна работать под управлением операционной системы Windows. Это подразумевает, что программа должна работать в рамках универсального интерфейса ОС Windows и подчиняться концепциям, созданным разработчиками этой операционной системы.

Для взаимодействия с пользователем должны применяться стандартные технические средства: клавиатура и мышь. Пользователь должен иметь возможность управлять работой программы без посторонней помощи.

Основными требованиями к созданию программы являются:

- организация удобного, наглядного и простого пользовательского интерфейса;

- организация эффективного использования программы.

2.2 Выбор и обоснование выбора среды разработки

Развитие вычислительной техники и потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую «быструю разработку», среди которых можно выделить Borland Delphi, Microsoft Visual Basic, C++ Builder, Visual C++.NET. Перечисленные системы, ориентированы на создание программ, которые работают в семействе популярных операционных систем Windows и являются наиболее подходящими системами для проектирования БД.

Из огромного количества пакетов можно выделить продукт компании Borland International Inc. «Delphi», на котором будет написан дипломный проект. Интерфейс Windows обеспечивает полное перенесение CASE-технологий в интегрированную систему поддержки работ по созданию прикладной системы на всех фазах жизненного цикла работы и проектирования системы.

Delphi - язык и среда программирования, относящаяся к классу RAD - (Rapid Application Development - «Средство быстрой разработки приложений») средств CASE-технологии. Delphi сделала разработку мощных приложений Windows быстрым процессом, доставляющим удовольствие. Приложения Windows, для создания которых требовалось большое количество человеческих усилий, например, в C++, теперь могут быть написаны одним человеком, использующим Delphi.

Данная система программирования достаточно сильна по своей архитектуре. Помимо всего, «Delphi» обладает широким набором возможностей, начиная от проектировщика форм и заканчивая поддержкой всех форматов популярных баз данных. Delphi предоставляет нам довольно широкий набор компонентов, из которых, как из кирпичиков, можно создать полноценную систему управления базой данных (СУБД).

Еще одной не маловажной особенностью «Delphi» является поддержка международного языка баз данных - SQL. Язык потерпел некоторый ряд видоизменений и в настоящее время представляет собой мощное ядро, упрощающее общение с наборами данных. SQL является языком запросов, который содержит минимальный, и вместе с тем достаточный набор операторов и представляет мощное средства навигации данными.

Поскольку Delphi применяется только в среде Windows, то приложение разработано именно в операционной системе Microsoft Windows 98/Me/2000/XP/Vista/7.

Популярность ОС Windows обеспечили следующие ее свойства:

- приятный внешний вид пользовательского интерфейса;

- простота в работе;

- достаточно высокая производительность;

- надежность хранения информации на диске;

- поддержка широкого спектра нового оборудования;

- устойчивость, надежность работы;

- многозадачность.

Кроме того, исключительно важной чертой Windows является единый стандарт в работе, как с самой системой, так и с ее программными приложениями. К тому же Windows сегодня содержит такой спектр программных средств, что они практически покрывают все сферы человеческой деятельности. Эти средства постоянно пополняются новыми и более совершенными. Все перечисленные качества Windows обеспечивают комфортную и продуктивную работу пользователя на ПК.

2.3 Стадия реализации

Для реализации программы предполагается использовать на главной форме следующие стандартные классы: CButton, CString, Edit и т.д.

Форма представляет собой окно, в которое выводится множество надписей и управляющие элементы в виде кнопок, для перемещения по записям таблицы и возможностью обработки информации. Через форму можно загружать данные во взаимосвязанные таблицы БД из документов-источников, просматривать данные, а также их корректировать, получать различные данные. При помощи формы можно контролировать вводимые данные, устанавливать ограничения на доступ к данным, выводить необходимые сообщения.

Для связи программы с БД были использованы такие классы, как:

- ADOConnection1 - создает псевдоним для подключаемой БД «Tests»;

- TADOTable - экземпляры этого класса служат для связи с таблицей;

- TDataSouce - служит для связи компонентов Table или Query с визуальными компонентами;

- TDBGrid, TDBComboBox - использованы для визуализации данных, находящихся в объектах классов TTable и TQuery.

Приложение состоит из следующих модулей:

- Unit 1. Модуль содержит главное меню (главная форма). Имеется навигация по кнопкам, при нажатии на которые, также можно перейти к другим формам. DBUsers - отображает таблицу «Users» - таблица пользователей;

- Unit3. Модуль содержит вопросы со списком ответов. TMemo - отображает вопросы. TRadioButton - зависимый переключатель, который дает возможность выбрать правильный ответ. TTimer - таймер, который отсчитывает продолжительность теста в реальном времени;

- Unit4. Модуль ввода пароля. Модуль содержит поле для ввода пароля TEdit1 и кнопку TButton, который выполняет вход в программу;

- Unit5. Модуль для регистрации нового пользователя. Модуль содержит поля TEdit для ввода имени пользователя и пароля;

- Unit6. Модуль содержит результаты тестирования. DBGrid1 - отображает таблицу результатов тестирования;

- Unit7. Модуль содержит главное окно программы;

- Unit8. Модуль вызова справки «О программе». Так же модуль содержит компонент Button1, который выполняет закрытие формы «О программе»;

- Unit9. Модуль вызова окна «Редактор вопросов». DBGrid1 - отображает таблицу с номерами вопросов, DBGrid2 - отображает таблицу с ответами, DBMemo1 - отображает пустое поле, где вводятся новые вопросы, или удаляются, редактируются.

- Unit10. Модуль вызова окна «Рейтинг».

Рассмотрим используемые процедуры.

Процедура вывода вопросов и вариантов ответов:

procedure TForm3. ShowAnswer (x:integer); var

j, r, p, i:integer;

begin

memo1. Text:=questions[x].q; // вывод теста вопроса

for i:=1 to 7 do

begin

FreeAndNil (CheckBoxX[i]); // освобождения памяти объекта CheckBoxX[i]

FreeAndNil (RadioButtonX[i]); // освобождения памяти объекта RadioButtonX[i]

end;

p:=0; QuestCount:=0;

for i:=1 to 7 do

begin

if questions[x].a[i].result then inc(p); // считаем число возможных правильных ответов

tempA[i]:=questions[x].a[i].rIndex; // запоминаем индексы ответов

if questions[x].a[i].answer<>'' then inc(QuestCount); // считаем количество ответов

end;

if p>1 then CheckBoxTrue:=true else CheckBoxTrue:=false; // если правильных ответов больше 1 то будем использовать CheckBox

 /// это часть кода отвечает за случайность появления ответов

fillchar (numberA, sizeof(numberA), 0); // обнуляем массив последовательности ответов

for i:=1 to QuestCount do // цикл по ответам

begin

repeat

r:=random(QuestCount)+1; // генерируем случайное число в переменную r

until tempA[r]>0; // проверяем генерир. это число ранее

numberA[i]:=r; // запоминаем номер ответа;

tempA[r]:=tempA[r]*(-1); // делаем индекс ответа отрицательным для проверки until tempA[r]>0;

end;

 ///

for i:=1 to QuestCount do // цикл по ответам

begin

if CheckBoxTrue then // выбираем что выводить Checkbox или Radiobutton

begin

CheckBoxX[i]:=TCheckBox. Create(self); // создаем CheckBox

CheckBoxX[i].Parent:=TabSheet1; // назначаем родителя

CheckBoxX[i].Left:=8; // устанавливаем положения

CheckBoxX[i].top:=120+(i-1)*26;

CheckBoxX[i].width:=400; // устанавливаем размер

CheckBoxX[i].Caption:=questions[x].a [numberA[i]].answer; // сам ответ

if questions[x].RB [numberA[i]] then CheckBoxX[i].Checked:=true; // если был проставлен ответ то его отображаем

end else

begin

RadioButtonX[i]:=TRadioButton. Create(self); // аналогично

RadioButtonX[i].Parent:=TabSheet1;

RadioButtonX[i].Left:=8;

RadioButtonX[i].top:=120+(i-1)*26;

RadioButtonX[i].width:=400;

RadioButtonX[i].Caption:=questions[x].a [numberA[i]].answer;

if questions[x].RB [numberA[i]] then RadioButtonX[i].Checked:=true;

end

end;

form3. Update;

end;

Процедура сохранения результатов:

procedure Tform3.saveResult;

var

i:integer;

begin

 // сохраняем ответ на текущий вопрос

for i:=1 to QuestCount do

if CheckBoxTrue then

if CheckBoxX[i].Checked then questions[RIQ].RB [numberA[i]]:=true else questions[RIQ].RB [numberA[i]]:=false

else

if RadioButtonX[i].Checked then questions[RIQ].RB [numberA[i]]:=true else questions[RIQ].RB [numberA[i]]:=false;

end;

Процедура ввода пароля с заданным именем для входа в систему тестирования:

procedure TForm4. Button1Click (Sender: TObject);

begin

if tag=9 then

begin

if edit1. Text='admin' then form9. ShowModal else showmessage ('Не верный пароль!');

close;

exit;

end;

 // в базе users выбираем пользователя с заданным именем и паролем

DM.ADOSQL.SQL. Text:='select * from Users where name='''+DM.ADOUsers.fieldbyname('Name').AsString+''' and password='''+edit1. Text+'''';

DM.ADOSQL. Active:=false;

DM.ADOSQL. Active:=true;

 // если записей нет, то выводит «не верный пароль», если есть, то выводит окно тестирования

if DM.ADOSQL. RecordCount<>0 then

begin

close;

form3. PageControl1. ActivePageIndex:=0;

form3.showmodal; // показать окно тестирования

end else begin showmessage ('Не верный пароль!'); close; end;

end;

Процедура добавления, редактирования вопросов.

procedure TForm9.ADOTable1CalcFields (DataSet: TDataSet);

begin

 // создаем порядковый номер вопроса (первая таблица)

if dataset. RecNo>0 then dataset. FieldByName('N').AsInteger:=dataset. RecNo else dataset. FieldByName('N').AsInteger:=1;

end;

procedure TForm9. Action1Execute (Sender: TObject);

begin

adotable1. Insert; // Добавляем вопрос;

adotable1. FieldByName('Question').AsString:='Пусто';

adotable1. Post; // Сохраняем вопрос

end;

procedure TForm9. FormClose (Sender: TObject; var Action: TCloseAction);

var

i:integer;

begin

 // перед закрытием окна сохраняем записи в таблиц, которые в данный момент находять в режиме редактирования.

if ADOTable1. State in [dsEdit] then ADOTable1. Post;

if ADOTable2. State in [dsEdit] then ADOTable2. Post;

adotable2. DisableControls;

adotable2. First;

for i:=1 to adotable2. RecordCount do

begin

adotable2. Edit;

adotable2. FieldByName('Rindex').asinteger:=adotable2. FieldByName('N').asinteger;

adotable2. Post;

adotable2. Next;

end;

adotable2. EnableControls;

dm.ADOQuestions. Active:=false; // перед закрытием окна обновляем записи в таблицах вопросов и ответов

dm.ADOQuestions. Active:=true;

dm.ADOAnswers. Active:=false;

dm.ADOAnswers. Active:=true;

end;

procedure TForm9.ADOTable2CalcFields (DataSet: TDataSet);

begin

if dataset. State in [dsinsert] then exit; //dataset. FieldByName('N').AsInteger:=0;

if dataset. RecNo>0 then dataset. FieldByName('N').AsInteger:=dataset. RecNo else dataset. FieldByName('N').AsInteger:=1;

end;

procedure TForm9.ADOTable1BeforeScroll (DataSet: TDataSet);

var

i:integer;

begin

adotable2. DisableControls;

adotable2. First;

for i:=1 to adotable2. RecordCount do

begin

adotable2. Edit;

adotable2. FieldByName('Rindex').asinteger:=adotable2. FieldByName('N').asinteger;

adotable2. Post;

adotable2. Next;

end;

adotable2. EnableControls;

end;

end.

Процедура регистрации пользователя с паролем:

procedure TForm5. Button1Click (Sender: TObject);

begin

DM.ADOSQL.SQL. Text:='select * from Users where name='''+edit1. Text+'''';

DM.ADOSQL. Active:=false;

DM.ADOSQL. Active:=true;

if DM.ADOSQL. RecordCount<>0 then showmessage ('Пользователь с таким именем уже существует!')

else if edit2. Text=edit3. Text then begin

DM.ADOUsers. Insert;

DM.ADOUsers. Edit;

DM.ADOUsers. FieldByName('name').AsString:=edit1. Text;

DM.ADOUsers. FieldByName('password').AsString:=edit2. Text;

DM.ADOUsers. Post;

close;

end else showmessage ('Проверьте правильность ввода пароля!');

end;

Для подсчета баллов использовалась 10-бальная система. Количество баллов вычисляется следующим образом:

ball:= round (Levelне Result/LevelSum*10)

где LevelResult - счётчик баллов правильных ответов;

LevelSum - общий счётчик баллов.

2.4 Тестирование

Разработка любой программы предполагает также наличие в исходном тексте ошибок и борьбу с ними. Все практически неисчислимое множество возможных ошибок обычно подразделяют на три группы: синтаксические ошибки; ошибки времени выполнения программы (run-time errors); смысловые (логические) ошибки.

Отладка программы является итеративным процессом обнаружения и исправления ошибок, который обычно требует последовательного выполнения четырех этапов: выявление ошибки; локализация ошибки в тексте программы; установление причины ошибки; исправление ошибки.

Отладка программы осуществлялась встроенными средствами. С помощью встроенного компилятора были обнаружены синтаксические ошибки, то есть отсутствующие и лишние знаки препинания, неправильные имена переменных, которые тут же исправлялись с помощью встроенного редактора текста программы.

Цель проведения испытаний состояла в том, чтобы рассмотреть все возможные варианты работы программы, протестировать ее в нормальных, исключительных и экстремальных условиях, выявить недостатки и устранить их, если таковые имели место. В результате испытаний на контрольных примерах было доказано, что данная программа работает согласно заданному алгоритму.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.