Розробка програми генерації тестів з бази даних на мові РНР

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Курсова робота

На тему:

«Генератор тестів»

Зміст

Введення

Глава 1. Тести та їх призначення

1.1 Види тестів

1.2 Функції тестів

1.3 Правила розробки тестового завдання і тесту

Глава 2. Практична реалізація програми

Висновок

Список використаних джерел

Додаток 1.

Введення

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

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

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

Метою даної курсової роботи є розробка програми генерації тестів з бази даних на мові РНР.

Глава 1. Тести та їх призначення

1.1 Види тестів

Дамо кілька визначень поняття тест:

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

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

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

Тест (від англійського test - «випробування», «перевірка») - стандартизовані, короткі, обмежені в часі випробування, призначені для встановлення кількісних і якісних індивідуальних відмінностей.

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

Виділяють п'ять загальних вимог до тестів:

  • Валідність (адекватність);

  • визначеність (общепонятном);

  • простота;

  • однозначність;

  • надійність.

При реалізації систем комп'ютерного тестування необхідно, на мій погляд, дотримуватися саме цих п'яти вимог до створюваних тестів.

Тестування має три основних етапи:

  1. проектування та розробка (вибір) тіста;

  2. реалізація процедури тестування;

  3. аналіз, оцінка та інтерпретація результатів тестування.

Основною складовою тесту є тестове завдання.

Тестове завдання - складова частина тесту, що відповідає вимогам технологічності, форми, змісту і, крім того, статистичним вимогам:

  • відомої труднощі;

  • достатньої варіації тестових балів;

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

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

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

Класифікація тестів проводиться за різними ознаками. Наведемо основні:

  • За процедурою створення - стандартизовані, не стандартизовані.

  • По засобах пред'явлення - бланкові, натурні, комп'ютерні.

  • За генерування - детерміновані, стохастичні, динамічні.

  • По спрямованості - інтелекту, особистісні, досягнень.

  • За однорідності - гомогенні, гетерогенні.

  • За цілями - інформаційні, діагностичні, навчальні, мотиваційні, атестаційні.

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

  • За методологією інтерпретації результатів - нормативно-орієнтовані (по відношенню до деякого нормативному зразку) і критеріально орієнтовані (для оцінки ступеня оволодіння знаннями і вміннями).

Є й інші підходи до класифікації тестів.

Розглянемо докладніше одну з класифікацій: класифікацію тестів за формою. Виділяють такі форми тестових завдань:

  1. Відкрита форма, коли завдання вимагає від випробуваного довільного відповіді на поставлене питання, тобто завдання, в яких немає готових відповідей, їх треба конструювати самостійно. До цієї форми тестових завдань відносяться:

    • Завдання на доповнення. У цих тестах завдання оформляються з пропущеними словами або символами. Пропущена місце має бути заповнено проходять тестування. Такі тести корисні при вивченні алгоритмів.

    • Завдання вільного викладу.

  2. Закрита форма: завдання, в яких є готові відповіді і необхідно вибрати один або кілька правильних відповідей з декількох наданих альтернативних відповідей. До цієї форми належать:

  • Завдання з однозначним вибором відповіді. На кожне завдання пропонується кілька варіантів відповіді, з яких тільки один вірний. У математиці це зазвичай числові відповіді або відповіді в координатній запису.

  • Завдання з багатозначним відповіддю. У варіанти відповіді може бути внесено більше одного вірної відповіді, але в різних видах. Або серед відповідей може не бути вірних відповідей.

  1. Завдання на відповідність - тестове завдання, при виконанні якого необхідно встановити правильну відповідність між елементами двох множин: об'єктів (суб'єктів, процесів) та їх атрибутів (властивостей, характеристик, структур і т.д.). Такі завдання також можуть бути однозначними і багатозначними.

  2. Завдання на встановлення правильної послідовності - тестове завдання, при виконанні якого необхідно встановити правильну послідовність операцій, дій, чисел, подій.

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

1.2 Функції тестів

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

  • Діагностична функція полягає у виявленні рівня знань, умінь, навичок учня. Це основна, і найочевидніша функція тестування. За об'єктивності, широті і швидкості діагностування, тестування перевершує всі інші форми педагогічного контролю.

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

  • Виховна функція проявляється в періодичності й неминучості тестового контролю. Це дисциплінує, організовує і спрямовує діяльність учнів, допомагає виявити і усунути прогалини в знаннях, формує прагнення розвинути свої здібності.

1.3 Правила розробки тестового завдання і тесту

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

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

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

Завдання тесту повинно перевіряти конкретне знання, уміння або конкретні навички піддослідних.

Тестові завдання мають бути інформативними на всьому діапазоні зміни рівня складності.

Необхідно використовувати просту, граматично правильну ствердну форму завдання у вигляді одного речення з 5-20 слів, без оборотів, використовуючи прості придаткові пропозиції, без переносу фрагмента тестового завдання на нову сторінку.

Відповіді повинні містити не більше 2-3 ключових слів за умовою питання.

Бажано будувати відповіді однакової форми, а якщо можливо, то і довжини.

Кількісні відповіді необхідно впорядковувати, причому першим не повинен бути вказаний правильний відповідь.

Необхідно виключити можливість вибору відповіді інтуїтивно, здогадкою.

Відповіді повинні бути незалежні і однаково привабливі для вибору.

У тестових завданнях не можна використовувати скорочення, якщо завдання не розраховане на їх знання.

У кожному завданні закритої форми кількість варіантів відповідей повинне бути від 4 до 6, а у завданнях на встановлення відповідності - приблизно в 2 рази більше.

Умова завдання не повинно ніколи (ні для одного варіанту відповіді) приймати невизначене значення.

Всі варіантів відповідей мають бути підібрані вміло.

Повторювані слова і словосполучення у відповідях повинні бути виключені і перенесені в основну частину умови.

З відповіді до одного тестового завдання не можна одержувати будь-яким чином відповідь до іншого завдання.

Не повинен виникнути питання щодо уточнення умови, варіантів відповідей (або, точніше, підготовленому випробуваному немає необхідності поставити запитання за умовою завдання викладачу, а викладач може не відповідати на такі запитання).

Жоден тестований не повинен отримувати перевагу перед іншим на всьому проміжку тестування.

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

Специфікація (опис атрибутів тесту - предмет, час розробки, автор і ін) до тесту повинна містити всю інформацію, необхідну для проведення тестування.

Не можна передбачати в тестових завданнях необхідність проведення розгорнутих викладок.

Кількість завдань у базі даних тестових завдань повинно бути приблизно в 10 разів більше усередненої довжини тесту (тобто від 200-300 завдань).

Більшість завдань у тесті - закритої форми. Закрита форма більш швидко воспринимаемость і близька щодня розв'язуваної людиною проблеми вибору.

Завдання в тесті повинні бути впорядковані за зростанням рівня складності, наприклад, А - легкі, В - середні, З - складні. Порядок пред'явлення завдань: всі завдання групи А - всі завдання групи В - всі завдання групи С.

Можливі такі варіанти пред'явлення тестових завдань:

  1. від легких завдань - до більш складним;

  2. від середніх завдань - до більш легким або важким (залежно від відповіді);

  3. від складних завдань - до більш легким і ін

Основними критеріями відбору змісту тесту є:

  1. відповідність гіпотезі тестування;

  2. значимість;

  3. правильність;

  4. репрезентативність;

  5. відповідність сучасному стану науки і методики;

  6. збалансованість змісту тесту;

  7. тематична спрямованість;

  8. варіативність змісту;

  9. доступність;

  10. відповідність рівня труднощі змістом мети тестування.

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

Глава 2. Практична реалізація програми

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

При запуску програми, показується назва програми і кнопка-посилання «Почати». Після натискання цієї кнопки починається сам тест.

При натисканні кнопки «Почати» відкривається нова сторінка, на якій відображаються питання, вибрані з бази даних, і по чотири варіанти відповіді до кожного питання. Питання і відповіді до них розташовуються послідовно один під одним. Вибір варіанта відповіді виробляється кліком миші. Після вибору відповідей до всіх питань користувач повинен натиснути на кнопку «Перевірити», після чого програма підрахує кількість правильних відповідей і виведе результати на екран.

У Базі даних зберігається дві таблиці: таблиця питань «Vopr" та перелік відповідей до них - «Otv». Питання в базі даних розбиті на блоки, по три питання в кожному, кожен наступний блок містить більш складні питання, ніж попередній.

Таблиця питань містить наступні поля: ID - ідентифікаційний номер питання; Vopros - формулювання самого питання; Block - номер блоку, до якого належить питання.

Таблиця відповідей містить поля: ID - ідентифікаційний номер відповіді; Otvet - формулювання відповіді; ID _ vopr - номер питання, до якого належить відповідь; Znach - значення істинності відповіді, може приймати два значення: T (true) - відповідь є вірним, F ( false) - не вірна відповідь.

Значення зберігаються в таблицях можна подивитися у додатку 1.

Веб-додаток складається з трьох html-сторінок: головна, тестова і сторінка перевірки.

Головна сторінка, містить вітальне слово і кнопку-посилання для переходу на наступну сторінку і початку тесту.

Код сторінки:

<Html>

<Head>

<title> Генератор тестів:: Головна </ title>

</ Head>

<body bgcolor="#D9ECFF">

<div align="center">

<font size="6"> Головна </ font> <p> </ p> <p> </ p>

<table border="1" width="50%" cellpadding="7" bgcolor="#BFDFFF" align="center">

<tr> <td> Вітаємо Вас в генераторі тестів.

</ Td> </ tr>

<tr> <td height="10%">

Будь ласка, натисніть на кнопку, щоб почати.

</ Td> </ tr>

<tr> <td height="29">

<A title = "Тисніть, не бійтеся:) "href =" index.php ">

<font size="4"> Почати </ font> </ a>

</ Td> </ tr>

</ Table> </ div>

</ Body>

</ Html>

Графічне подання (інтерфейс користувача):

Тестова сторінка - сторінка, яка містить код на мові РНР, який безпосередньо і генерує питання з БД і відповіді до них, а також виводить питання з відповідями на екран.

Розглянемо РНР код:

<? Php

ERROR_REPORTING (E_ALL & ~ E_NOTICE & ~ E_WARNING);

$ Mysql_host = "localhost";

$ Mysql_user = "tanushka";

$ Mysql_password ="******";

$ Mysql_database = "Gener";

/ * Єднаймося, вибираємо базу даних * /

$ Link = mysql_connect ("$ mysql_host", "$ mysql_user", "$ mysql_password") or die ("Could not connect:". Mysql_error ());

mysql_select_db ("$ mysql_database") or die ("Could not select database");

echo "<FORM method=\"POST\" action='proverka.php'>";

$ Num = 1; / / змінна, що відповідає за номер питання;

while ($ num <= 5) {

$ Query = "SELECT * FROM Vopr WHERE Block = '$ num'";

$ Q = @ mysql_query ($ query);

if (! $ q) break;

while ($ row = @ mysql_fetch_array ($ q))

{$ Quest [] = $ row;}

$ Current = $ quest [rand (0, count ($ quest) -1)];

echo "<hr>";

echo $ current ['Vopros'];

echo "</ hr>";

echo "<input type = 'hidden' name = 'q [$ num]'

value ='".$ current ['ID']."'>";

$ Query2 = "SELECT * FROM Otv WHERE

ID_vopr ='".$ current ['ID']."'";

$ A = @ mysql_query ($ query2);

while ($ arow = @ mysql_fetch_array ($ a))

{Echo "<p> <input type='radio' name='a[$num]' value='".$arow ['ID']."'>". $ Arow ['Otvet']. "< / p> ";

}

echo "<br> <br>";

unset ($ quest);

$ Num + +; / / переходимо до наступного питання

}

echo "<INPUT TYPE=submit VALUE=' Надіслати'>";

echo "</ FORM>";

/ * Закриваємо з'єднання * /

mysql _ close ($ link);

?>

Сторінка перевірки - сторінка, яка містить РНР код, що порівнює правильну відповідь з відповіддю користувача, якщо вони збігаються, користувачеві нараховується бал.

РНР код:

<?

if (! isset ($ _POST ['q'])||! isset ($ _POST [' a ']))

exit (0);

$ Q = $ _POST ['q'];

$ A = $ _POST ['a'];

$ Ball = 0;

$ Mysql_host = "localhost";

$ Mysql_user = "tanushka";

$ Mysql_password ="******";

$ Mysql_database = "Gener";

/ * Єднаймося, вибираємо базу даних * /

$ Link = mysql_connect ("$ mysql_host", "$ mysql_user", "$ mysql_password") or die ("Could not connect:". Mysql_error ());

mysql_select_db ("$ mysql_database") or die ("Could not select database");

for ($ i = 1; $ i <= count ($ q); $ i + +)

{$ Query = "SELECT * FROM Otv WHERE ID_vopr ='".$ q [$ i]." 'AND

Znach = 'T' ";

$ P = @ mysql_query ($ query);

$ Row = @ mysql_fetch_array ($ p);

$ Answer = $ row ['ID'];

if ($ a [$ i] == $ answer) $ ball + +;

unset ($ query, $ p, $ row);

}

echo "Ваш бал ". $ ball." З ". count ($ q).";

?>

Висновок

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

У даному курсовому проекті було створено: "Генератор тестів мовою РНР". Він являє собою веб-додаток, який вибирає довільним чином 5 питань і відповідей до них з бази даних, виводить їх на екран і перевіряє, скільки правильних відповідей дав користувач.

Користувальницький інтерфейс програми робить його простим, зрозумілим і доступним.

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

Список використаних джерел

1. Інтернет Університет Інформаційних Технологій - дистанційна освіта [Електронний ресурс]. Режим доступу: http:// www. Intuit. Ru. - Загл. з екрану. Яз. Укр.

2. Вікіпедія - вільна бібліотека [Електронний ресурс]. Режим доступу: http://ru.wikipedia.org/wiki - загл. з екрану. Яз. Укр.

3. Сайт компанії "Softwerk" [Електронний ресурс]. Режим доступу: http://www.softwerk.ru - загл. з екрану. Яз. Укр.

4. Котеров, Д.В. Самовчитель PHP 4 / Д.В. Котеров - СПб.: БХВ-Петербург, 2001.

5. Кузнєцов, М.В. РНР 5 на прикладах / М.В. Кузнєцов, І.В. Сімдянов, С.В. Голишев. - СПб.: БХВ-Петербург, 2005. - 575 с.

Додаток 1.

Опис таблиць зберігаються в базі даних "Gener":

Таблиця питань "Vopr"

ID

Vopros

Block

1

2 * 2

1

2

3 * 3

1

3

4 * 4

1

4

7 * 8

2

5

9 * 5

2

6

5 * 4

2

7

11 * 7

3

8

15 * 3

3

9

16 * 2

3

10

44:4

4

11

42:7

4

12

56:7

4

13

512:2

5

14

1024:2

5

15

256:2

5

Таблиця відповідей "Otv"

ID

Otvet

ID_vopr

Znach

1

4

1

T

2

5

1

F

3

6

1

F

4

7

1

F

5

11

2

F

6

12

2

F

7

9

2

T

8

10

2

F

9

5

3

F

10

12

3

F

11

15

3

F

12

16

3

T

13

56

4

T

14

63

4

F

15

58

4

F

16

55

4

F

17

40

5

F

18

45

5

T

19

55

5

F

20

48

5

F

21

15

6

F

22

18

6

F

23

20

6

T

24

24

6

F

25

77

7

T

26

76

7

F

27

87

7

F

28

79

7

F

29

46

8

F

30

45

8

T

31

30

8

F

32

35

8

F

33

30

9

F

34

34

9

F

35

32

9

T

36

36

9

F

37

10

10

F

38

11

10

T

39

12

10

F

40

13

10

F

41

8

11

F

42

7

11

F

43

6

11

T

44

5

11

F

45

6

12

F

46

7

12

F

47

9

12

F

48

8

12

T

49

1028

13

F

50

266

13

F

51

256

13

T

52

117

13

F

53

512

14

T

54

522

14

F

55

507

14

F

56

519

14

F

57

127

15

F

58

129

15

F

59

128

15

T

60

132

15

F

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
88.6кб. | скачати


Схожі роботи:
Розробка бази даних для програми Радіодеталі
Створення бази даних Стадіони міста на мові C
Розробка бази даних для готелю
Розробка бази даних з обліку книг в бібліотеці
Розробка бази даних для розкладу занять
Розробка і створення презентації бази даних Деканат ВНЗ
Розробка проекту бази даних для АІС Облік Проектів
Розробка проекту бази даних для АІС Облік Проектів 2
Розробка фізичної моделі бази даних Уч т характеристик сигналів телемеханіки
© Усі права захищені
написати до нас