Автоматизированая система тестирования знаний по программированию - Программирование, компьютеры и кибернетика дипломная работа

Главная
Программирование, компьютеры и кибернетика
Автоматизированая система тестирования знаний по программированию
Выбор инструментальной среды разработки программного обеспечения системы. Алгоритм создания теста и ввода его исходных данных. Анализ экономической эффективности применения программного обеспечения "Тестирования знаний обучающихся программированию".
посмотреть текст работы
скачать работу можно здесь
полная информация о работе
весь список подобных работ
Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
- обеспечение развития информационного общества;
- расширение сферы образовательных услуг с помощью применения информационных технологий;
- развитие самой образовательной системы на основе ИТ.
Одним из направлений совершенствования процесса обучения является разработка оперативной системы контроля знаний, умений и навыков, позволяющей объективно оценивать знания, выявляя имеющиеся пробелы и определяя способы их ликвидации. Поэтому вопросы контроля знаний интересуют многих ученых, так и специалистов в области информационных технологий. В настоящее время существует большое количество разнообразных способов проведения контроля и оценки знаний, как при традиционном, так и при компьютерном обучении.
Компьютерное тестирование имеет ряд преимуществ:
- быстрое получение результатов испытания и освобождение от трудоемкой работы по обработке результатов тестирования;
- тестирование на компьютере более интересно по сравнению с традиционными формами опроса, что создает положительную мотивацию.
В данной работе будет рассмотрена возможность автоматизации тестирования знаний обучающихся программированию. Данная задача является достаточно актуальной для современной системы обучения, так как дает возможность максимально уменьшить человеческий фактор в процессе тестирования знаний обучающихся. Так же это дает возможность получения более точных результатов, и более широкие возможности для тестирования знаний для преподавателя.
Анализ показал, что на современном этапе развития сферы образования в Украине очень важной частью является проверка и контроль знаний обучающихся тех или иных учебных заведений.
Традиционно выделяют следующие методы контроля знаний:
- устная проверка - позволяет выяснить качество подготовки учащегося к занятию, проверить выполнение ним домашнего задания, а также знание материала курса; состоит из составления преподавателем вопросов и ответа на эти вопросы учащимся; качество тестирования во многом зависит от правильности составления и количества вопросов, а также от знания предмета самым преподавателем;
- проверка контрольно-графических работ - является более объективным по сравнению с устной проверкой знаний, позволяет проверить возможность применения теоритических знаний на практике, а также позволяет проконтролировать сформировавшиеся навыки ; этот метод является более трудоемким по сравнению с устной проверкой знаний, так как состоит из 4 этапов: подготовка, организация, проведение, анализ результатов;
- проверка практических и лабораторных работ - с помощью этого метода получают данные об умении учащихся применять полученные знания при решении практических задач, пользоваться различными таблицами, формулами, чертежными и измерительными инструментами, приборами .
Все три выше предложенных метода обладают одним общим свойством - они требуют максимального вмешательства преподавателя. С одной стороны это очевидный плюс, так как преподаватель будет максимально осведомлен о знаниях студента. Но в тоже время это очень загружает его рабочее время, что приводит к росту погрешности в оценке работы студента. Вследствие чего падает качество контроля знаний учащегося.
С развитием научно-технического прогресса человечеством было придумано более качественный и менее трудоемкий способ проведения контроля знаний - тестирование. И совсем недавно этот способ применяется с использованием ЭВМ. Это дает возможность повысить качество контроля, уменьшить его трудоемкость, а также себестоимость. Максимально возможно убирается из процесса тестирования человеческий фактор. Большая степень его влияния остается только на этапе составления тестов, но путем проведения нескольких итераций их составления и здесь этот фактор значительно уменьшается. Это позволяет повысить качество. ЭВМ самостоятельно проводит этапы организации, проведения и анализа результатов. Это позволяет сократить затраты времени на подготовку, а также освободить человека от этих обязанностей. Это уменьшает трудоемкость, а также снизить себестоимость контроля знаний. Обобщенная схема компьютерного тести рования знаний приведена на рисунке 1.1.
Рисунок 1.1 - Обобщенная схема проведения компьютерного тестирования
Несмотря на все очевидные достоинства данного вида тестирования , он также обладает и рядом недостатков, среди которых:
- минимальная уникальность тестовых заданий - тестовых заданий столько , сколько их добавил преподаватель;
- однотипность заданий - одинаковые типы заданий для разных направлений обучения;
- разрыв с вязи обучающийся - педагог и не знание преподавателем знаний студента;
- в большинстве своем проверяет только теоритические знания студентов, сводя к минимум у проверку практических навыков.
Данная работа предполагает повышение качества контроля знаний обучающихся программированию путем добавления уникальных типов заданий, а также заданий разных типов. Также она подразумевает проверку практических навыков программирования и анализа задач по программированию .
При проведении предварительного проектирования не было обнаружено прототипов системы полностью удовлетворяющим заданию на выпускную бакалаврскую работу , а именно систем которые содержали бы те типы заданий, которые необходимы для тестирования знаний обучающихся программированию , но было найдено ряд программных продукт ов подходящих по ряду параметров описанных далее.
" Конструктор тестов " [1] (рисунок 1.2) - это универсальная система проверки знаний. Данную программу можно использовать как в домашних условиях, так и для проведения тестирования в любых учебных заведениях. Программа позволяет использовать неограниченное количество тем, вопросов и ответов. Программа поддерживает пять типов вопросов, что позволяет проводить любые тесты. В тестах имеется возможность использовать музыку, звуки, изображения и видеоролики. Любые данные можно распечатать на принтере. На одном компьютере тестирование независимо могут проходить несколько человек, входя в программу под своими именами. Программа проста в использовании.
Среди недостатков этой системы относительно поставленной задачи является отсутствие необходимых типов заданий, а также закрытый исходный код системы.
Рисунок 1. 2 - Окно редактирования вопроса в " Конструкторе тестов "
Рисунок 1.3 - Окно тестируемого в системе " MyTestX "
Moodle [3] ( рисунок 1.4) -- система управления курсами (электронное обучение), также известная как система управления обучением или виртуальная обучающая среда (англ.). Представляет собой свободное (распространяющееся по лицензии GNU GPL) веб-приложение, предоставляющее возможность создавать сайты для онлайн-обучения.
Система реализует философию " педагогики социального конструкционизма " и ориентирована прежде всего на организацию взаимодействия между преподавателем и учениками, хотя подходит и для организации традиционных дистанционных курсов, а также поддержки очного обучения.
Moodle переведена на десятки языков , в том числе и русский и используется почти в 50 тысячах организаци й из более чем 200 стран мира . В РФ зарегистрировано более 1000 инсталляций. Количество пользователей Moodle в некоторых инсталляция х достигает 500 тысяч человек .
Лидером и идеологом системы является Martin Dougiamas из Австралии. Проект является открытым и в нём участвует и м ножество других разработчиков . Русификацию Moodle осуществляет команда добровольцев из России, Белоруссии и Украины .
Среди недостатков этой системы относительно поставленной задачи является отсутствие необходимых типов заданий, а также то, что настройка системы занимает слишком много времени и требует специальных навыков, так как она имеет Web - интерфейс.
Рисунок 1. 4 - Демонстрационный сайт системы Moodle
1.3 Обоснование выбора инструментальной среды разработки программного обеспечения системы
Основной задачей данной работы является автоматизация тестирования знаний обучающихся программированию. Для выполнения этой цели будет разработан а программная система для те стирования знаний. Чтобы это сделать необходимо выбрать язык программирования и среду программирования максимально поддерживающих разработку программных приложений с дружелюбным и современным интерфейсом пользователя. Вследствие этого были отброшены языки низкого уровня, такие как Assembler и C . Среди языков высокого уровня был выбран язык C ++, так как он облад ает необходимым набором средств для реализации данной задачи, имеет большое количество справочной информации, а также присутствует большое количество библиотек классов для работы с ним. Среди сред программирования были варианты Borland C ++ Builder , Visual Studio , Qt Creator (рисунок 1.5 ) .
Рисунок 1.5 - Графическая среда разработки Qt Creator
Была выбрана среда Qt Creator версии 2.8.1 и библиотека Qt 4.8.5 , так как она обладает следующими преимуществами:
- большая библиотека классов Qt для работы на языке C ++;
- большое сообщество Qt - project , которое поддерживает и развивает библиотеку Qt ;
- бесплатность использования библиотеки Qt версии 4.8.5;
- кроссплатформенность приложений написанных с использованием библиотеки Qt .
Целевой операционной системой была выбрана Windows XP, так как именно эта версия Windows является доминирующей на рынке операционных систем внутри учебных заведений Украины. Так же возможно сборка проекта под другие операционные системы, поддерживаемые библиотекой Qt после проведения минимальных изменений в исходном коде проекта.
1.4 Обоснование выбора технической платформы разрабатываемой системы
Эффективность разрабатываемой системы обеспечивается при наличии таких технических условий эксплуатации:
- 200 МБ свободного пространства на жестком диске;
Цель работы: снижение сроков и повышение качества тестирования знаний обучающихся программированию.
1. Проанализировать предметную область тестирования знаний.
2. Разработать требования к разрабатываемой системе и выделить задачи , которые будет решать система.
3. Провести декомпозицию задач автоматизированной системы тестирования знаний.
4. Разработать алгоритм решения декомпозированных задач.
5. Разработать автоматизированную систему тестирования знаний.
В данной работе необходимо разработать автоматизированную систему тестирования знаний учащихся программированию.
Автоматизированная подсистема тестирования знаний учащихся программированию должна решать следующие задачи:
- максимальная автоматизация формирования списка тестовых заданий по дисциплине;
- сохранение списка тестовых заданий по дисциплине в файл;
- генерация билета и отправка его студенту ;
- непосредственно сам процесс тестирования;
- сохранение результатов в базе данных.
Программная система поддерживает следующие типы заданий:
- написать программу - студенту будет необходимо написать программу , которая соответствует требования задания, описанным преподавателем;
- проанализировать вывод программы - студенту будет необходимо проанализировать текст программы и ввести в ответ то значение, которое , по его мнению , выведет программа;
- вычислить генерируемые выражения с операц иями - тестируемому будет выведено на экран выражение с несколькими операциями и ему будет необходимо вычислить значение этого выражения ;
- определить исход работы генерируемого выражения инициализации - тестируемому будет предложено выражение для инициализации переменной и ему будет необ ходимо определить , что будет при своено этой переменной .
Вследствие этого было решено разбить прогр аммную систему на 2 независимые программные единицы: программу - сервер и программу - клиент. Далее необходимо провести тестирование систе мы и исправить найденные ошибки.
Задачей данной работы является автоматизация тестирования знаний для повышения качества тестирования и сокращение его сроков и затрат. В связи с этим является необходимым разработать программную систему для тестирования знаний.
На данном этапе необходимо описать базовые поняти я , которые будут применят ь ся в работе : тест , тема , билет (тестовый билет) , вопрос .
Вопрос - это базовое понятие для данной работы - некоторая структура, которая хранит непосредственно вопрос, ответ и варианты ответа, если это з акрытая форма вопроса .
Тема - структура данных, которая хранит некото рый набор вопросов по одном у направлению некоторой дисциплины .
Тест - структура данных, которая хранит некоторый набор тем по одной дисциплине, а также настройки тестирования.
Билет - структура данных, которая хранит некоторое количество (указанное в настройках теста) вопросов из тем одного теста.
Количество вопросов в тестовом билете
Тип вопроса - вычислить выражение с операторами
Количество тестов написанной программы
Тип вопроса - описать вывод программы
Тип вопроса - определить исход работы инициализирующего выражения
Количество параметров в инициализаторе
Рисунок 2.3 - Детализация создания тестов
На этапе создания тестов изначально вводится название теста и его настройки. Далее преподавателю необходимо добавить вопросы, которые будет возможно редактировать в дальнейшем. Результатом работы этих этапов является структура данных представляющая собой тест. На следующем этапе происходит запись этого теста на диск, так как не целесообразно его постоянно хранить в оперативной памяти. После чего, по запросу системы тестируемого, происходит генерация билета в соответствии с настройками теста и отправка его тестируемому.
Рисунок 2.4 - Детализация задачи тестирования
Рисунок 3 . 1 - Алгоритм создания теста и ввода его исходных данных
Рисунок 3 . 2 - Алгоритм создания и добавления вопроса
В алгоритме записи объекта теста в файл (рисунок 3.3) изначально идет цикл от 0 до количества тем в тесте. Внутри этого цикла в файл записывается количество вопросов в теме. Далее начинается внутренний цикл от 0 до количества вопросов в теме. В нем сначала записывается название типа вопроса, а затем сам вопрос в файл. После этого внутренний цикл закрывается, а после него закрывается внешний цикл. После чего продолжается работа.
Рисунок 3 . 3 - Алгоритм записи теста в файл
Рисунок 3 . 4 - Алгоритм генерации тестового билета
В алгоритме отправки билета (рисунок 3.5) вначале выполняется отправка количества вопросов в билете и уникального идентификатора билета. Далее начинается цикл от 0 до количества вопросов в билете-1 , в котором сначала выполняется отправка типа вопроса. Далее отправляется вопрос. Далее проверяется, отправился ли вопрос, если да, то цикл заканчивается и продолжается работа. Если вопрос не был отправлен, то выдаётся запрос на повторную отправку. Если пользователь выбирает не отправлять, то удаляются личная информация студента и сгенерированный билет.
Рисунок 3 . 5 - Алгоритм отправки билета
Рисунок 3 . 6 - Алгоритм ввода личной информации
Рисунок 3 . 7 - Алгоритм отправки запроса на новый билет
Рисунок 3 . 8 - Алгоритм получения билета
Рисунок 3 . 9 - Алгоритм тестирования
Рисунок 3 . 10 - Алгоритм отправки ответов
Рисунок 3 . 11 - Алгоритм получения ответов
Рисунок 3 . 12 - Алгоритм проверки ответов
Рисунок 3 . 13 - Алгоритм добавления результатов в таблицу базы данных
- Qt4Core.dll - динамическая библиотека для работы основных функций библиотеки Qt;
- Qt4Network.dll - динамическая библиотека для работы с сетью;
- Qt4GUI.dll - динамическая библиотека для работы оконного окружения библиотеки Qt;
- Libgcc_s_dw2-1.dll - динамическая библиотека для работы компилятора языка С++ mingw;
- Mingwm10.dll - динамическая библиотека для работы компилятора mingw C++.
Для работы сервера также необходимо, чтобы в папке "С:\mingw\" был установлен компилятор языка C++ MinGW версии не ниже 4.0.
В программе также присутствуют контроль на ввод данных. На их наличие (рисунок 5.2) а так же на их корректность (рисунок 5.3). Так же осуществляется проверка диапазонов значений в соответствии с таблицами 2.1 - 2.3.
В составе комплекса средств автоматизации особое место занимает программное обеспечение автоматизированных систем (АСНИ, САПР, АСУ). Особая важность данного вида обеспечения определяется тем, что именно в программное обеспечение закладываются и реализуются функции автоматизированных систем. В состав программного обеспечения могут включаться пакеты программ и отдельные программные модули, созданные для широкого применения или специального назначения. Однако оригинальные или специальные программы имеют возможность найти в дальнейшем широкое применение, если они созданы и оформлены в соответствии с определенными требованиями, предъявляемыми к созданию программ как к продукции производственно-технического назначения, то есть как к программным изделиям.
В связи с этим целесообразно выделять процесс создания программного обеспечения из общего процесса создания автоматизированных систем (АС) и рассматривать его с двух позиций:
Проектирование программы в среде Delphi для тестирования знаний студентов по программированию, с выводом оценки по окончанию тестирования. Разработка экранных форм и алгоритма программы. Описание программных модулей. Алгоритм процедуры BitBtn1Click. курсовая работа [365,0 K], добавлен 18.05.2013
Выбор среды разработки программного обеспечения. Компьютерная система тестирования знаний в дистанционном обучении OpenTEST. Написание встроенного текстового редактора для расширенного форматирования текста. Руководство пользователя, структура программы. дипломная работа [7,1 M], добавлен 20.05.2013
История развития и виды тестирования программного обеспечения. Инсталляционное, регрессионное, конфигурационное, интеграционное, локализационное, модульное тестирование. Методы сокращения трудоемкости модульного тестирования разрабатываемого приложения. курсовая работа [309,5 K], добавлен 16.12.2015
Методика и основные этапы разработки системы тестирования для оценки уровня знаний студентов с применением технологии "Клиент-сервер". Проектирование клиентской, серверной части данной системы тестирования, порядок составления финальных отчетов. дипломная работа [587,6 K], добавлен 08.11.2010
Изучение различных видов тестирования программного обеспечения. Выявление в программной системе скрытых дефектов до того, как она будет сдана заказчику. Тестирование методом черного ящика. Требования, предъявляемые к процессу тестирования больших систем. курсовая работа [3,0 M], добавлен 19.11.2009
Неразрешимость проблемы тестирования программного обеспечения. Виды и уровни тестирования. Стратегии восходящего и нисходящего тестирования. Методы "белого" и "черного" ящика. Автоматизированное и ручное тестирование. Разработка через тестирование. курсовая работа [112,2 K], добавлен 22.03.2015
Проектирование логической схемы данных для предметной области, физической модели базы данных. Разработка алгоритмов функциональных модулей программного приложения. Принципы тестирования спроектированного программного обеспечения, анализ эффективности. курсовая работа [926,7 K], добавлен 20.05.2015
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .
© 2000 — 2021
Автоматизированая система тестирования знаний по программированию дипломная работа. Программирование, компьютеры и кибернетика.
Дипломная работа по теме Дизайн-проект календаря 'Детские рисунки'
Реферат На Тему Научные Исследования: Реальность И Перспективы
Сочинение По Картине Зима В Лигачево
Реферат На Тему Общество
Контрольная работа: Социальная работа в системе социального образования
Реферат по теме Черепахи: общие сведения
Реферат: Современные тенденции развития международных отношений. Скачать бесплатно и без регистрации
Селекция И Ее Виды Реферат По Биологии
Реферат По Истории Олимпийские Игры
Контрольная работа по теме Этика и психология делового общения
Научная работа: Образ управления по делам молодёжи НСО в Интернете
Доклад по теме Экономическая ситуация после англо-бурской войны
Сочинение: Образ кавказского пленника в русской литературе.
Контрольная Работа Вторая Половина 20 Века
Отчет По Практике Предпринимательство
Реферат На Тему Обоняние. Вкус
Реферат по теме Анализ иерархических структур управления и их особенностей
Т Н Яблонской Утро Сочинение Короткое
Доклад: Эшерихиоз
Фиктивное Банкротство Реферат
Разработка стратегии взаимодействия издательства с библиотеками - Журналистика, издательское дело и СМИ дипломная работа
Разработка интернет-рекламы с целью развития онлайн-продаж для ЗАО Страховая компания "Двадцать первый век" - Маркетинг, реклама и торговля дипломная работа
Применение института замены неотбытой части наказания более мягким видом наказания - Государство и право курсовая работа