Testovid - an environment for testing almost any aspect of student

Download Report

Transcript Testovid - an environment for testing almost any aspect of student

Testovid - an environment for
testing almost any aspect of
student assignments
I. Pribela, S. Tošić, M. Ivanović, Z. Budimac
Risan, September 2007
Introduction


Continuous increase of enrolled students
How to avoid straining of teachers:





decrease number of students
increase number of teachers
transfer some work load from teachers to computers
Recent advances in computer technology made
third option possible
One of major conditions is ability to represent
student work on the computer
Automated assessment

Assessment phases






question / assignment selection
question / assessment deployment
answer / solution gathering
answer / solution grading
student / teacher notification
statistical analysis of results
Advantages

Large student groups

faster assessment

moving work load from teachers

leaving more time for more productive aspects of
teaching
Advantages

Small student groups

self-assessment allows students








to monitor their own progress
to point to difficult parts of lectures early
teachers can easily note common problems and difficult
topics
question selection can be better adjusted to individual
needs
assessment results are immediate
same questions (assignments) can be repeated as much
as needed
questions can contain graphics, sound, animations, and
other multimedia content
increase of assessment objectivity
Disadvantages

Type of assessments supported



short multiple choice tests
fill-in-the-blanks tests with fixed correct answers
More appropriate for natural sciences than for
social sciences
Assessment of programming



Programming assignments are perfect example
for automated assessment
Besides generic, special systems for assessing
of computer programs were also developed
There are two distinct types of computer
program assessment:

correctness assessment


does the student program solve given problem?
optimality assessment

how efficient the student program is?
Assessing correctness

Oldest correctness assessment method is



Input data




created by teacher and given to the student
created by the student
hidden from the student
Selecting input data



running student programs against various sets of input data
comparing output form student program with correct one
fixed
chosen randomly every time
Output data


compared with fixed data corresponding to given input
compared with output from correct solution
Assessing optimality

Early systems focused on execution speed
and precision of numeric results

Recently attention has shifted towards
readability and code style
Testovid

Batch system

Students can test solutions by themselves

Teacher can test all tasks at once

Generates execution reports

Uses Apache Ant
Apache Ant

Apache Ant is a tool for automatization on a build
proceses

Looks like Make, but written in Java

Demands Java virtual machine

Most appropriate for Java projects

Uses XML for description of build processes

Open source
Implementation

Client-server architecture


Server
Clients (students, teacher)
Student
Instructor
Student
Student
Batch testing
Interactive testing
Server
Student
Student
Computer lab
Implementation

Directory structure of a server
/
system
test
log
OS
OOP
a) Instructors
temp
OS
OOP
TMP238
students
OS
OOP
John
Mary
TMP189
John
Mary
Steve
John
TMP845
Steve
John
test data
Bob
Bob
c) Temporary directories
b) Log files containing test results
d) Student directories for storage
of latest attempts
Implementation

Two Ant build files



File for single testiranje
File for batch testing
Two configuration files


File with testing modules
File with weights of every module
Testing module
targets.all=test01,test02,test03,test04,test05,t
est06,
test07,test08
test01.name=Kompajliranje
test01.score=1
test02.name=Up
test02.score=1
test03.name=Down
test03.score=1
test04.name=Up - Gornje ogranicenje
test04.score=2
test05.name=Down - Gornje ogranicenje
test05.score=2
test06.name=Sigurnost
test06.score=1
test07.name=Greske u stilu
test07.score=1
test08.name=Greske ili upozorenja u stilu
test08.score=1

List of used modules

Name of every module

Number of points for
each module

All marks are binary
Testing module implementation
<target name="test07">
<checkstyle config="checks.xml"
file="synchronization/primitives/Sema
phore.java"
failureProperty="test07.fail"
failOnViolation="false"
maxErrors="15">
<formatter type="xml"
toFile="style.xml"/>
</checkstyle>
<style in="style.xml" out="style.rep"
style="style.xsl"/>
<condition property="test07.advice"
value="Postoji vise od 15 gresaka u
stilu.">
<equals arg1="${test07.fail}"
arg2="true"/>
</condition>
<property name="test07.advice"
value=""/>
</target>

One module is one Ant
target

Result of execution is
string that contains
message about error
Further Work

Integration of system with Svetovid
environment

Creation of base of usefull modules for
testing

Adding system for plagiarism detection
The end
Thank you for your attention