System komputerowy do interaktywnego sprawdzania wiedzy

Transkrypt

System komputerowy do interaktywnego sprawdzania wiedzy
X Konferencja „Sieci i Systemy Informatyczne”
Łódź, październik 2002
LIDIA JACKOWSKA – STRUMIŁŁO
WOJCIECH BIENIECKI
TOMASZ BROŻYŃSKI
Katedra Informatyki Stosowanej Politechniki Łódzkiej
e-mail: [email protected]
SYSTEM KOMPUTEROWY DO INTERAKTYWNEGO SPRAWDZANIA
WIEDZY STUDENTÓW W INTRANECIE
Recenzent
Streszczenie
W referacie przedstawiono założenia projektowe i wyniki wdrożenia
interaktywnego systemu komputerowego do sprawdzania wiedzy studentów i prezentacji materiału dydaktycznego. System pracuje jako serwis
WWW w sieci lokalnej Katedry Informatyki Stosowanej i wykorzystywany
jest jako interaktywna instrukcja do laboratorium komputerowego
z przedmiotu „Wstęp do Informatyki”. Działanie systemu zostało sprawdzone w wyniku testu przeprowadzonego na dużej grupie studentów.
W pracy przedstawiono statystyczną analizę ocen.
Słowa kluczowe: Intranet, nauczanie na odległość, MySQL, PHP.
1. Wstęp
Rozwój nowoczesnej techniki komputerowej stwarza coraz więcej możliwości dla
usprawnienia procesu dydaktycznego i wzbogacania go o nowoczesne formy przekazywania informacji i sprawdzania wiedzy studentów. W Katedrze Informatyki Stosowanej powstał system informatyczny "Kolokwium", którego głównym celem była możliwość przeprowadzania sprawdzianu pisemnego dla dużej liczby studentów i jego
automatycznego sprawdzania. Dodatkowo został on wzbogacony o serwis WWW,
który służy studentom jako pomoc dydaktyczna do przedmiotu „Wstęp do Informatyki”.
W systemie "Kolokwium" zastosowano techniki zdalnego dostępu do bazy danych,
w której przechowywane są dane studentów, pytania testu i poprawne odpowiedzi oraz
L. Jackowska – Strumiłło, W. Bieniecki, T. Brożyński
System komputerowy do interaktywnego sprawdzania wiedzy studentów w Intranecie
wyniki testu uzyskane przez studentów. Jako serwer bazy danych wybrano MySQL
komunikujący się z serwerem WWW poprzez języki skryptowe PHP i JavaScript. Interfejs użytkownika zrealizowano jako dynamiczną stronę WWW o ograniczonym dostępie.
2. Struktura techniczna systemu
System „Kolokwium” został zainstalowany na serwerze Sun Solaris v 2.7.
w Katedrze Informatyki Stosowanej. Wykonano również testy na innych systemach
operacyjnych: Linux RedHat 7.0, FreeBSD, Windows NT 4.0.
System składa się z następujących modułów:
- serwer WWW (Apache) udostępniający dokumenty hipertekstowe
w intranecie,
- zestaw statycznych dokumentów hipertekstowych prezentujących materiały
dydaktyczne,
- serwer PHP (Personal Home Pages) wspomagający działanie serwera WWW
i pozwalający na prezentację dynamicznych dokumentów hipertekstowych
oraz komunikację z bazą danych,
- zestaw skryptów PHP realizujących dynamiczne strony hipertekstowe, stanowiące interfejs użytkownika do bazy danych,
- serwer bazy danych (MySQL) zarządzający bazą danych,
- baza danych, w której przechowywane są zestawy pytań, dane osobowe studentów oraz wyniki kolokwium.
Struktura systemu przedstawiona została na rys. 1.
Serwer
WWW
PHP
MySQL
Przeglądarka
internetowa
Dokumenty
hipertekstowe
Skrypty
PHP
Rys 1. Modułowa budowa systemu „Kolokwium”[2].
Baza
danych
X Konferencja „Sieci i Systemy Informatyczne”
Łódź, październik 2002
Dokumenty hipertekstowe w systemie realizowane są w języku DHTML (Dynamic
Hipertext Markup Language) [3]. Stanowią one szkielet interfejsu użytkownika, zarówno studenta jak i wykładowcy. Są one udostępnione zarówno w Internecie jak i w Intranecie i zawierają pomoce dydaktyczne dla studentów: instrukcje do ćwiczeń laboratoryjnych ze „Wstępu do Informatyki” oraz wybrane zagadnienia teoretyczne, które prezentowane są na wykładzie lub stanowią jego uzupełnienie. Materiały dydaktyczne
dostępne na stronach WWW zostały pogrupowane tematyczne. W celu uatrakcyjnienia
i ujednolicenia wyglądu stron WWW do ich budowy zastosowano także arkusze stylów
CSS. Są one bardzo wygodne przy modyfikacji treści wykładów lub ćwiczeń oraz przy
dodawaniu nowych materiałów dydaktycznych do systemu. Strona tytułowa serwisu
WWW została uatrakcyjniona animacjami wykonanymi w technologii Flash. Do realizacji interakcji w systemie, np. efekty rozwijalnego menu ułatwiającego nawigację w
materiałach dydaktycznych, zastosowano popularną technikę DHTML JavaScript [1].
Jest to zestaw skryptów działających po stronie przeglądarki. Skrypty te wykorzystano
również do weryfikacji danych wpisywanych w formularze kolokwium oraz do tworzeniu zapytań do serwera lub wysyłania danych na podstawie wypełnionych formularzy.
Materiały związane z kolokwium udostępniane są studentom tylko w Intranecie,
w czasie trwania kolokwium.
Mechanizm przetwarzania i prezentacji danych opiera się na konfiguracji współpracujących ze sobą serwerów Apache, PHP, MySQL [4,6]. Wymieniony zestaw trzech
produktów stanowi obecnie najpopularniejszą konfigurację dla różnych serwisów internetowych. Serwery te mogą być instalowane na różnych systemach operacyjnych spokrewnionych z Unixem, między innymi darmowych, takich jak Linux i FreeBSD, istnieją również wersje dla Windows NT/2000. O ich popularności decyduje głównie to,
że produkty te są darmowe, a dane, czyli struktury katalogowe dokumentów hipertekstowych, skrypty PHP, bazy danych są przenośne pomiędzy różnymi systemami operacyjnymi. PHP i MySQL zostały tak zaprojektowane, że praktycznie stanowią jedno
środowisko programowania. Z jednej strony MySQL ma interfejs programowania (API)
do PHP (również do innych języków, takich jak C, C++, Eiffel, Java, Perl,
Python i Tcl). Z drugiej strony PHP jako język programowania daje duże możliwości
tworzenia pętli, instrukcji warunkowych i przetwarzania łańcuchów znakowych.
MySQL jest systemem działającym w technologii klient/serwer składającym się
z wielowątkowego serwera SQL, który może być obsługiwany przez kilka różnych
programów klienta oraz bibliotek, narzędzi administracyjnych i interfejsów programistycznych. Wielowątkowość pozwala na optymalne wykorzystanie systemu wieloprocesorowego. W omawianym systemie funkcje SQL zostały zaimplementowane za pomocą bardzo dobrze zoptymalizowanej biblioteki klas, co pozwoliło na zwiększenie
jego wydajności. Serwer został napisany w językach C i C++ i przetestowany z wieloma różnymi kompilatorami. W rezultacie powstał system szybki i wydajny, współpra-
L. Jackowska – Strumiłło, W. Bieniecki, T. Brożyński
System komputerowy do interaktywnego sprawdzania wiedzy studentów w Intranecie
cujący z kilkoma bazami danych o objętości 50 mln. rekordów. Udało się to osiągnąć
dzięki zastosowaniu techniki szybkiej i oszczędnej alokacji pamięci oraz przetestowaniu systemu na okoliczność „wycieków” pamięci, czyli jej niewłaściwej dealokacji.
Zastosowany do budowy oprogramowania PHP jest najpopularniejszym ostatnio językiem skryptowym działającym po stronie serwera, wykorzystywanym do tworzenia
dynamicznych serwisów WWW. Kody źródłowe PHP są bezpłatnie udostępnione
(OpenSource) i mogą być kompilowane na różnych systemach operacyjnych. Również
pomoc związana z wykorzystaniem PHP jest bezpłatna i łatwo dostępna. Składnia języka PHP jest podobna do składni innych popularnych języków programowania, jak:
Pearl i C. Dlatego też wielu programistów chętnie uczy się i używa PHP, zwłaszcza, że
serwer PHP umożliwia dużo lepsze zabezpieczenie serwera przed włamaniami, niż to
było w przypadku wcześniej używanych technik CGI [7].
Obecnie coraz częściej wykorzystywanym zestawem technik tworzenia profesjonalnych, komercyjnych aplikacji bazodanowych i bazodanowych serwisów internetowych
jest zestaw Oracle (np. wersja 9i) oprogramowany przez aplikacje i aplety Javy oraz
języki skryptowe np. Python. Serwisy takie oferują lepsze zarządzanie bazą danych
w środowisku rozproszonym i wielodostępowym (np. system transakcji), jednak
w przypadku konkretnego omawianego przez nas systemu, w którym nie istnieje konflikt dostępu do rekordów przez różnych użytkowników, ich użycie nie było konieczne.
3. Struktura funkcjonalna systemu
Serwis WWW dla „Wstępu do Informatyki” podzielono na trzy zasadnicze części:
instrukcje do ćwiczeń laboratoryjnych, prezentacja wybranych zagadnień teoretycznych
oraz kolokwium. W oknie serwisu umieszczone zostało menu pozwalające użytkownikowi na sprawne poruszanie się po serwisie WWW i wybór interesujących go wiadomości. Zbudowane jest ono z systemu zakładek umożliwiających hierarchiczną prezentację informacji zawartych w serwisie.
3.1. Prezentacja materiału wykładowego i ćwiczeniowego [5]
Główne zakładki, które dzielą serwis na cztery kategorie tematyczne, to: Semestr I,
Semestr II, Teoria, Kolokwium. Na rys. 2 przedstawiono schemat układu dokumentów
dla materiałów dydaktycznych.
W zakładce Semestr I zostały zamieszczone instrukcje do ćwiczeń laboratoryjnych,
które studenci wykonują w pierwszym semestrze. Do pierwszych czterech ćwiczeń,
które dotyczą systemu operacyjnego DOS, nakładek na system DOS, systemu Windows
i edytorów tekstowych, dołączone zostały informacje teoretyczne na temat obsługi
X Konferencja „Sieci i Systemy Informatyczne”
Łódź, październik 2002
a)
S e m e s tr I
1 DOS
T E O R IA
P O L E C E N IA D O S
Z A D A N IA
2 N a k ła d k i
T E O R IA
Z A D A N IA
3 W in d o w s
T E O R IA
Z A D A N IA
4 E d y to r y
T E O R IA
Z A D A N IA
5 -1 3 P a s c a l
S e m e s tr II
Z A D A N IA
1 4 -2 4 P a s c a l
Z A D A N IA
2 5 U N IX
T E O R IA
Z A D A N IA
b)
T e o r ia
A lg o r y t m y s o r t o w a n ia
ALGORYTM PROSTY
ALGORYTM BĄBELKOW Y
A L G O R Y T M K A R C IA N Y
ALGORYTM SZYBKI
Pascal
PODSTAW OW E ELEM ENTY
D E K L A R A C J E I IN S T R U K C J E
PODPROGRAMY
M ODUŁY
T Y P P L IK O W Y
Rys 2. Zestaw dokumentów hipertekstowych prezentujących
materiał dydaktyczny z przedmiotu „Wstęp do Informatyki”:
a) – podział na zajęcia, b) – pomoc teoretyczna.
L. Jackowska – Strumiłło, W. Bieniecki, T. Brożyński
System komputerowy do interaktywnego sprawdzania wiedzy studentów w Intranecie
komputera, które nie są prezentowane na wykładzie. Instrukcje do kolejnych ćwiczeń
zawierają zbiór zadań do programowania w języku Pascal.
W zakładce Semestr II zebrane zostały zadania, które obejmują dalszy ciąg programowania w Pascalu oraz obsługę komputera pracującego w systemie operacyjnym
Unix.
W zakładce Teoria zamieszczono informacje na temat języka programowania Pascal
oraz algorytmów sortowania. Służą one studentom jako pomoc naukowa podczas wykonywania ćwiczeń laboratoryjnych.
3.2. Moduł do sprawdzania wiedzy studentów
Moduł ten stanowi najważniejszą część systemu. Pozwala on na tworzenie nowych
testów, przeprowadzanie ich w trybie „on-line” oraz oferuje możliwość automatycznego sprawdzenia poprawności wykonania testu. Zostały w nim zdefiniowane dwie klasy
użytkowników: Egzaminator i Student. Student może jedynie rozwiązywać test, natomiast egzaminator ma dodatkowo dostęp do edycji testu oraz do wyników (rysunek 3).
Rys 3. Uprawnienia użytkowników do części testującej systemu „Kolokwium”.
Funkcje dostępne w omawianym module w zakładce Kolokwium zostały przedstawione na rysunku 4.
Zakładka Test dostępna jest dla wszystkich użytkowników sieci lokalnej Katedry Informatyki Stosowanej. Po uruchomieniu opcji Start studenci, którzy prawidłowo wpiszą
nazwę testu i hasło podane przez prowadzącego zajęcia laboratoryjne, mogą przystąpić
do rozwiązywania testu. W pierwszej kolejności student wpisuje swoje dane osobowe,
które go jednoznacznie identyfikują, czyli imię, nazwisko, numer grupy oraz semestru.
Po poprawnej autoryzacji w oknie kolokwium wyświetlają się po kolei pytania losowane z bazy danych wraz z możliwymi czterema odpowiedziami, a student musi zaznaczyć jedną z nich. Po zaznaczeniu jednej z odpowiedzi i wciśnięciu klawisza Enter w
oknie ukazuje się kolejne pytanie, a student nie ma już możliwości powrotu do po-
X Konferencja „Sieci i Systemy Informatyczne”
Łódź, październik 2002
przednich pytań. Po zakończeniu testu okno kolokwium się zamyka i nie ma możliwości ponownego rozwiązania testu z tymi samymi danymi osobowymi.
Zakładki Edycja i Wyniki dostępne są tylko dla egzaminatora. Edycja umożliwia następujące opcje:
• Nowy test – tworzenie nowego testu,
• Edycja testu – edytowanie istniejącego testu,
• Usuń test – usuwanie istniejącego w bazie testu,
• Kategorie pytań – edycja kategorii pytań.
Po wyborze opcji Nowy test egzaminator wpisuje nazwę tworzonego testu oraz hasło dostępu do niego. Podaje również liczbę pytań, które będą losowane z bazy danych,
definiuje kategorie tematyczne, na które będą podzielone pytania oraz określa ile pytań
będzie losowanych z każdej kategorii. Po zatwierdzeniu danych na oknie przeglądarki
pojawia się formularz, w którym egzaminator wpisuje treść pytań i możliwych odpowiedzi oraz zaznacza właściwą odpowiedź i kategorię pytania. Liczba pytań nie jest
ograniczona i zależy jedynie od zasobów fizycznych serwera.
Zakładka Wyniki zawiera dwie opcje:
• Zbiorowe – prezentacja wyników testu w postaci zbiorczej tabeli dla całej grupy laboratoryjnej, w której wyświetlana jest lista studentów, liczba błędnych
odpowiedzi i ocena;
• Indywidualne – szczegółowa prezentacja wyników testu wybranego studenta.
Wyświetlana jest wówczas lista pytań i odpowiedzi jakie student udzielił podczas testu. Odpowiedzi błędne zaznaczone są kolorem czerwonym.
K o lo k w iu m
Test
START
E d y c ja
NOW Y TEST
EDYCJA TESTU
USUŃ TEST
K A T E G O R IE P Y T A Ń
W y n ik i
Z B IO R O W E
IN D Y W ID U A L N E
Rys 4. Układ stron WWW w module testującym systemu „Kolokwium”.
L. Jackowska – Strumiłło, W. Bieniecki, T. Brożyński
System komputerowy do interaktywnego sprawdzania wiedzy studentów w Intranecie
3.3. Konstrukcja bazy danych
Baza danych zbudowana jest z sześciu tabel, które, wraz z istniejącymi pomiędzy
nimi relacjami, zostały pokazane na rysunku 5.
Rys. 5. Układ tabel i relacji dla bazy danych systemu „Kolokwium”
(wizualizacja w Microsoft Access) [2].
Dane w tabelach rozmieszczone są w następujący sposób:
• Kategorie_pytan – kategorie występujących pytań które definiuje wykładowca,
• Odpowiedzi – treść odpowiedzi do pytań; które są wprowadzane podczas konstrukcji testu,
• Pytania – każdy rekord zawiera treść pytania, kategorię i numer właściwej odpowiedzi,
• Studenci – dane personalne studentów,
• Testy – informacje o testach: nazwa, hasło i dane dotyczące ilości losowanych
pytań,
• Wyniki – dane generowane podczas przeprowadzania testu.
X Konferencja „Sieci i Systemy Informatyczne”
Łódź, październik 2002
4. Wyniki testu systemu
Po uruchomieniu i wstępnym przetestowaniu system został zastosowany do przeprowadzenia kolokwium z przedmiotu „Wstęp do Informatyki” na I semestrze kierunku
Informatyka. Celem przeprowadzonych badań było sprawdzenie przydatności testów
jako formy sprawdzania wiedzy oraz sprawdzenie poprawności działania systemu komputerowego "Kolokwium". Badania przeprowadzono dla grupy 200 studentów. Pierwsze kolokwium pisali oni w formie tradycyjnej. Składało się ono z trzech pytań: na dwa
pytania z teorii należało udzielić odpowiedzi w formie opisowej, a jedno polegało na
rozwiązaniu prostego przykładu obliczeniowego. Kolokwium z materiału wykładowego
z drugiej części semestru studenci pisali w formie testu wyboru, który składał się z 21
pytań podzielonych na trzy kategorie tematyczne. Spośród czterech możliwych odpowiedzi na pytanie studenci zaznaczali jedną, którą uważali za poprawną. Spośród grupy
200 osób zdających test 50 osób pisało go na kartkach, a 150 na komputerze. Oceny
uzyskane przez studentów z testu poddano analizie statystycznej. Na rysunku 6 przedstawione zostały histogramy ocen z obu kolokwiów.
n 50
I kolokwium
40
30
20
10
0
2
n 50
3- 3 3+ 3.5 4- 4 4+ 4.5 5- 5
oceny
II kolokwium
40
30
20
10
0
2
3-
3 3+ 3.5 4- 4 4+ 4.5 5- 5
Rys. 6. Histogramy ocen z I i II kolokwium.
oceny
L. Jackowska – Strumiłło, W. Bieniecki, T. Brożyński
System komputerowy do interaktywnego sprawdzania wiedzy studentów w Intranecie
Średnia ocen z I kolokwium wynosiła 4.14, a z II kolokwium 3.87. W I kolokwium
najwięcej osób uzyskało ocenę 5 (n = 45 osób), a rozkład ocen jest zbliżony do rosnącego. W II kolokwium najwięcej osób uzyskało ocenę 4- (n = 29 osób), a rozkład ocen
jest zbliżony do symetrycznego. Wynika stąd, że zaliczenie testu okazało się dla studentów trudniejsze od tradycyjnego kolokwium. Na rysunku 7 przedstawiono histogram
różnic pomiędzy ocenami z pierwszego i drugiego kolokwium ∆ dla tej samej grupy
studentów. Wynika z niego, że dla przeważającej większości studentów różnica ta nie
przekracza jednej oceny. Jej rozkład jest w przybliżeniu symetryczny, a moda histogramu wynosi 0.5 oceny. Średnia wartość z modułów różnic ocen wynosi ∆ SR = 0.67 .
Histogram ten potwierdza zgodność statystyczną pomiędzy ocenami z obu kolokwiów
oraz fakt, że I kolokwium było dla studentów łatwiejsze od testu. Należy jednak zaznaczyć, że pytania w teście charakteryzowały się dużym poziomem szczegółowości.
n 30
20
10
0
-3
∆
-2
-1
0
1
2
Rys. 7. Histogram różnic pomiędzy ocenami z pierwszego i drugiego kolokwium.
W grupie 50 osób piszących test na kartkach średnia ocen z I kolokwium wynosiła
4.09, z II kolokwium 3.62, a średnia wartość z modułów różnic ocen ∆ SR = 0.73 .
Histogram ocen dla tej grupy studentów przedstawiono na rysunku 8.
W grupie 150 osób piszących test przy komputerze średnia ocen z I kolokwium wynosiła 4.16, z II kolokwium 3.97, a średnia wartość z modułów różnic ocen
∆ SR = 0.66 . Histogram ocen dla tej grupy studentów przedstawiono na rysunku 9.
Porównując histogramy z rysunków 8 i 9 można stwierdzić, że nieznacznie lepsze
oceny uzyskali studenci piszący kolokwium przy komputerze, ale uzyskali oni także
lepsze wyniki w I kolokwium. Na podstawie porównania zaprezentowanych wyników
można stwierdzić, że system komputerowy „Kolokwium” działa poprawnie i może być
stosowany do sprawdzania wiedzy studentów.
X Konferencja „Sieci i Systemy Informatyczne”
Łódź, październik 2002
n
8
6
4
2
0
2
3
3.5
4
4.5
5
oceny
Rys. 8. Histogram ocen dla grupy studentów piszących test na kartkach.
n
25
20
15
10
5
0
2
3
3.5
4
4.5
5 oceny
Rys. 9. Histogram ocen dla grupy studentów piszących test przy komputerze.
5. Podsumowanie
Działanie opisanego w artykule systemu komputerowego „Kolokwium” zostało
sprawdzone na podstawie kolokwium przeprowadzonego dla grupy 200 studentów.
Oceny uzyskane przez studentów z testu poddano analizie statystycznej i porównano
z ocenami uzyskanymi tradycyjną metodą. Potwierdziły one, że system działa poprawnie, a testy pisane przy komputerze mogą być stosowane jako skuteczna forma sprawdzania wiedzy studentów.
System jest uniwersalny i umożliwia testowanie wiedzy z różnych dziedzin. Zastosowana platforma programowa czyni system w dużym stopniu niezależnym od posiadanego sprzętu i oprogramowania, co daje możliwość przeniesienia go np. do szkół.
Prace, które obecnie są prowadzone w Katedrze ukierunkowane są na zwiększenie
bezpieczeństwa systemu.
L. Jackowska – Strumiłło, W. Bieniecki, T. Brożyński
System komputerowy do interaktywnego sprawdzania wiedzy studentów w Intranecie
Literatura
[1] Barret D., Livingston D., Brown M.: JavaScript dla profesjonalistów.
Translator s.c., Warszawa, 1999.
[2] Brożyński T.: Serwis WWW jako interaktywna instrukcja w laboratorium komputerowym „Wstęp do Informatyki”. Praca dyplomowa, Katedra Informatyki Stosowanej, Politechnika Łódzka, Łódź 2001.
[3] Campbell B., Darnell R.: Dynamic HTML. Helion, Gliwice, 1998.
[4] Hilton C., Willis J.: PHP3 – internetowe aplikacje bazodanowe. Helion, Gliwice,
2000.
[5] Jackowska-Strumiłło L. i inni: „Wstęp do informatyki”- instrukcja do laboratorium. Katedra Informatyki Stosowanej, Politechnika Łódzka, Łódź 2001.
http://www.kis.p.lodz.pl/~labor/
[6] Nowakowski M.: PHP4 & MySQL dla webmastera. Translator s.c., W-wa, 2001.
[7] Wilk P.: Skrypty i skrypciki. Chip Special, październik 2000, str. 38.