Програмна реалізація перевірки відкритої форми тестування. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Програмна реалізація перевірки відкритої форми тестування.



В даний час існує велика кількість комп'ютерних систем тестування знань. Вони охоплюють різні галузі знання, надають тим, хто цими системами користується, різноманітні засоби досягнення поставлених цілей. Укладачам тестів надається можливість контролювати знання, а користувачам тестів - перевірити знання.

Згідно з однією з різновидів класифікації тестів, заснованої на характері відповідей на питання, існує два види тестів - тести закритого типу та відкритого типу. У тестах закритого типу відповіді приписані, і випробуваному необхідно лише вибрати із запропонованих варіантів відповідей той чи інший варіант. У тестах відкритого типу випробуваному необхідно самостійно сформулювати відповідь, дописавши слово, словосполучення, речення, знак, формулу і т. д. [ 1 ].

Все розмаїття комп'ютерних систем тестування об'єднує те, що вони перевіряють, в основному, лише початковий рівень засвоєння знань

- Репродуктивне впізнавання. Це пов'язано з тим, що більша частина комп'ютерних систем тестування знань заснована на різновидах однієї форми тестування - закритою. Ця форма тестування легко можна реалізувати, чим і обумовлено її широке поширення.

Існує багато досліджень, присвячених ефективності закритої форми тестування з

вибором відповідей. В [ 2 ], наприклад, зазначено, що контроль знань, побудований на основі вибіркових відповідей, принципово не може виявити більш високого рівня навчання, ніж рівень «знайомства». Інші види закритої форми тестування (альтернативні відповіді, відповідність, послідовність, множинний вибір, вилучення зайвого, аналогії) в тому чи іншому вигляді також реалізують вибір із запропонованих варіантів, і, отже, також дозволяють перевіряти лише початковий рівень придбання знань.

Слід зазначити, що навіть у тих випадках, коли характер поставленого питання дозволяє перевіряти більш високу ступінь набуття знань, наприклад, розуміння або застосування, використання закритої форми тестування призводить до того, що знижується його діагностична ефективність. В якості ілюстрації сказаного можна навести питання, перевіряючий вміння застосовувати отримані знання, який взятий з документації до системи тестування ОрепТе81 [ 3 ].

Дано три цифри (наприклад, 1, 2, 3). Скільки тризначних чисел можна скласти з них, якщо цифри не повторюються?

· 3;

· 6;

· 9;

· 12.

Очевидно, що приведення декількох заданих відповідей знижує ефективність тестування. У такій формі різко підвищується ймовірність випадкового вибору правильної відповіді при повному невмінні вирішити задачу. Водночас, змінивши форму тестування із закритою на відкриту форму, тобто прибравши варіанти відповідей, дійсно можна перевірити вміння відповідає вирішувати подібні завдання.

З усього сказаного можна зробити висновок, що, не відмовляючись повністю від використання завдань закритого типу, розробники автоматизованих систем контролю знань повинні думати про розширення різноманітності видів тестування. Іншими словами, якщо потрібно перевіряти вміння розуміти, а не дізнаватися пред'явлений матеріал, вміння застосовувати його для отримання відповіді на запитання, потрібно наявність систем, що реалізують відкриту форму тестування.

У тестах відкритого типу виділяють наступні можливі варіанти відповідей:

• завдання доповнення - випробовуваний повинен сам сформулювати відповіді з урахуванням передбачених у завданні обмежень;

• вільного викладу - випробовуваний повинен самостійно сформулювати відповіді, бо ніякі обмеження на них в завданні не накладаються.

Відомо, що в даний час завдання комп'ютерної реалізації відкритої форми тестування в загальному випадку (вільно - конструюються розгорнуту відповідь на природній мові) не вирішена. Причина полягає в складності вилучення сенсу з фраз слабо формалізованого природної мови, на якому формулюється відповідь. При цьому потрібно відзначити, що можлива найпростіша реалізація відкритої форми тестування у випадку, коли результатом відповіді на питання є число або фіксована рядок. У цьому випадку перевірка правильності введеного відповіді здійснюється порівнянням з еталоном. Однак для ситуації, в якій потрібно розгорнуту відповідь, такий підхід не ефективний. Наприклад, для тестування знань основ програмування відповіддю на деякі запитання тестів може бути вихідний код програми і результат її виконання. Інша ситуація виникає при необхідності дати розгорнуту відповідь, що описує деякий алгоритм, або послідовність дій, або склад деякої системи і т. п.

Ми розглянемо питання реалізації двох систем тестування, відповідних описаним вище ситуацій.

Система тестування знань основ програмування

При навчанні основам програмування контроль придбаних практичних умінь і спо-

собности створювати правильно працюючу програму набагато корисніше для навчання, ніж відповіді на загальні питання в тестують діалозі. Саме в цій ситуації потрібна давати розгорнуті відповіді у вигляді тексту програм. Перевірка правильності відповіді повинна включати стадії синтаксичної та семантичної правильності написаної програми. Основна ідея реалізації системи пов'язана з тим, що предметна область включає в себе проблемно -орієнтована мова - мова програмування. Синтаксичну перевірку тексту на цій мові можна передати компілятору вибраної мови програмування. А семантична перевірка здійснюється тестуванням синтаксично правильної програми при заданому наборі вихідних даних.

Розроблена система призначена не тільки для тестування знань основ програмування, а й для підсумкового контролю цих знань у формі заліку або іспиту. Важливо відзначити, що система призначена для студентів, які вивчають програмування як загальноосвітню дисципліну. Тому система повинна позбавляти студента від необхідності знати тонкощі і деталі реалізації мови програмування, використовувані бібліотеки і особливості конкретного середовища розробки, конкретну реалізацію введення і виведення. Крім того, система надає засоби підготовки матеріалів для тестування (інструмент викладача). Одним з головних принципів організації системи автоматизованого тестування є можливість викладача самостійно або через оператора вносити завдання в систему, не вдаючись до послуг програміста.

При розробці першого компонента системи, здійснює процес тестування студентів, було проведено попередній аналіз питань, що зустрічаються в залікових та екзаменаційних білетах з програмування. У результаті виділено три основні категорії, які потребують відповіді у вигляді:

• значення (числа або рядки);

• вихідного коду програми;

• вихідного коду процедури або функції. Розроблена система тестування виконує такі основні завдання:

• надає можливість випадкового вибору питань (квитків) для тестування;

• надає кошти для введення значень відповідей на питання першої категорії і тексту програми для решти категорій питань;

• на основі введеного тексту програми генерує максимально близький до нього вихідний код, доповнений формалізованим введенням і виведенням та засобами організації контролю (наприклад, засобами запису отриманого результату у файл певної структури для подальшого порівняння з еталоном відповіді);

Рис. 1. Початкове вікно і вікно реєстрації системи тестування знань з основ програмування

• викликає компілятор для перевірки синтаксичної правильності програми;

• організовує виведення повідомлень компілятора у вікно з текстом програми студента;

• враховує кількість неуспішних компіляцій;

• організовує запуск успішно скомпільованій в консольному режимі для її налагодження;

• надає тестові набори даних для семантичного тестування створеної програми;

• виробляє порівняння еталонних та отриманих результатів і оцінює результат тестування.

В якості мови програмування для студентів обраний мову Паскаль, який використовується при вивченні основ програмування для непрофільних спеціальностей. Система генерує код у вигляді проекту Бе1рИ для компілятора фірми Бог1апе, включеного в постачання Бе1рИ (вибір мови та компілятора принципового значення не має).

Кілька слів про другий компоненті системи - Інструменті викладача. Він реалізований у вигляді текстового редактора, що зберігає підготовлений викладачем файл наборів питань (квитків) та еталони відповідей до них в зашифрованому вигляді, щоб студенту було неможливо впізнати його вміст.

Тут представлені кілька скріншотів, що ілюструють основні етапи роботи системи тестування. Після запуску програми студент повинен вибрати форму тестування (залік або іспит), пройти реєстрацію і отримати доступ до питань квитка, обраного системою випадковим чином. На рис. 1 представлено початкове вікно системи, а на рис. 2 і 3 - вікна діалогів для відповідей на питання білета. При відповіді на питання, що вимагає введення тексту програми клацання по кнопці «Здати» викликає поява вікна (рис. 4), в якому наведені вихідні дані, необхідні для тестування семантичної правильності програми.

Рис. 2. Діалог з полями для введення відповідей на питання першої категорії

Рис. 3. Вікно для відповіді на питання другої категорії з текстом програми та повідомленнями компілятора

Рис. 4. Вікно повідомлення з вихідними даними для тестування семантичної правильності програми

Система контролю, заснована на відкритій формі тестування з використанням конструируемого відповіді

Розробка системи була обумовлена ​​необхідністю автоматизувати перевірку знань початкового рівня освоєння комп'ютера, а також програмних засобів інформаційних технологій. Особливість відповідей при перевірці цієї тематики в тому, що: 1) вони рідко укладаються в одне слово або число; 2) часто включають перелік послідовності дій, необхідних для досягнення певної мети, або ж перелік елементів досліджуваної системи. Застосування закритої форми тестування, як зазначалося вище, не дозволяє належним чином перевірити отримані знання. Використання відкритої форми тестування в найпростішому вигляді також малоеф -

фективно через зазначеної розлогий відповідей. Для підвищення ефективності відкритої форми тестування в даному випадку було вирішено використовувати її різновид, засновану на ви - борочно - конструюються відповідях.

У відповідях цього типу відповідає повинен збирати правильну відповідь із запропонованих елементів відповіді або співвідносити їх між собою. Елементами відповіді можуть виступати пропозицію, одна або кілька фраз, числа, сукупності формул [ 5, 6 ] або слів, або графіків і малюнків [ 7 ]. Відомі нам реалізації цієї форми тестування мають деякими загальними ознаками. По-перше, елементи відповіді (і сам відповідь) не є фразами природної мови. Вони представляються у вигляді фрагментів хімічних формул або малюнків, що відображають деяке поняття. По-друге, елементи відповіді нумеруються, а сама відповідь представляється числовою послідовністю. Для навчальних дисциплін, в яких відповідь на питання формулюється на природній мові, таке числове його подання знижує навчальну цінність питання.

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

жет складатися з декількох слів. Частковий може бути логічно завершеним, але це не обов'язково. Для зменшення ймовірності вгадування в набір включаються також фрагменти інших відповідей - дистракторів. Фрагменти в наборі розташовуються випадковим чином і пред'являються для відповіді. Сконструйований з фрагментів відповідь порівнюється з правильною відповіддю.

При такому підході з'являється ймовірність вгадування відповіді за рахунок смислової неузгодженості фрагментів правильної відповіді і відповідей -ді- стракторов. Для зменшення такої вірогідності всі питання і фрагменти відповідей до них у процесі створення тесту класифікуються за окремими видами знань предметної області тестування. Для класифікації використовуються категорії об'єктно- структурного аналізу, призначеного для практичного структурування знань [ 4 ]. Згідно цього аналізу, знання будь-який предметної області можуть бути розділені на 8 категорій:

· НАВІЩО - знання;

· ХТО - знання;

· ЩО - знання;

· ЯК - знання;

· ДЕ - знання;

· КОЛИ - знання;

· ЧОМУ- знання;

· СКІЛЬКИ - знання.

При пред'явленні списку фрагментів відповідей випробуваному всі фрагменти беруться з відповідей для питань однієї категорії. Це дозволяє забезпечити смислове узгодженість фрагментів відповідей на ці питання.

Система складається з двох підсистем: підсистеми розробника тесту - викладача і підсистеми користувача тіста - студента. Підсистема викладача містить програмні засоби, за допомогою яких створюються і редагуються питання і відповіді тесту, виконується їх класифікація. Підсистема студента включає в себе засоби вибору і відображення питань і фрагментів відповідей на них, засоби оцінки виконаного тесту.

На рис. 5 наведено скріншот вікна програмної частини системи КИТ (Комп'ютерний Інструментарій для Тестування), призначеної для створення питань та елементів відповідей на них на стадії класифікації (підсистема викладача). З повного списку питань вибираються питання і фрагменти відповідей, відповідні категорії ЩО - знання.

На рис. 6 наведено скріншот вікна програмної частини системи КІТ - підсистема студента. Пропоновані для відповіді фрагменти відображаються в лівій частині вікна у вигляді списку. Зі списку потрібно вибрати правильні фрагменти і розташувати в потрібній послідовності в призначеної для відповіді області. При створенні тестів за допомогою систем описаного типу важливим моментом є правильна класифікація питань за категоріями зна-

ний. Це висуває відповідні вимоги і до самих питань. Іноді для кращої смислової узгодженості фрагментів відповідей доводиться перефразувати питання таким чином, щоб він з однієї категорії знань перейшов в іншу.

Наступне зауваження пов'язано діленням відповіді на окремі фрагменти. Найкраще фрагментації піддаються відповіді на питання, які включають в себе списки. У цьому випадку фрагментом є окремий елемент списку. Чаші питання такого роду відносяться до категорій ЯК - знання і ЩО - знання. Вони вимагають відповідей, що містять або перелік дій, або перелік елементів якої системи. Що стосується питань, що відносяться до інших категорій знань, то у відповідях на них фрагментами краще вибирати логічно завершені частини всієї фрази, що містить відповідь.

Описана система може бути також використана для контролю знань не тільки у згаданому, а й у будь-яких подібних випадках, коли на питання потрібні відповіді у формі перерахування.

Таким чином, описані системи тестування показують можливість повноцінної реалізації відкритої форми тестування:

• з вільно - конструйованим відповіддю на основі проблемно- орієнтованої мови;

• з вибірково - конструйованим відповіддю на природній мові.

Описані системи дозволяють перевіряти більш високі рівні знання, ніж репродуктивне впізнавання. Їх вбудовування в комп'ютерні навчальні системи, зв’язані з вивченням відповідних дисциплін, значно покращує навчальні можливості таких систем.


 



Поделиться:


Последнее изменение этой страницы: 2016-08-06; просмотров: 279; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.63.87 (0.032 с.)