Over the years, while teaching programming at the University of
Zagreb, Faculty of Organization and Informatics in Varaždin, Croatia, we have
faced some problems inherent in the teaching itself as well as those specific
for learning programming. From this reason, we have made some software tools to
help our students in achieving programming skills.
Verificator is our software tool aimed at
helping students to more easily acquire programming skills, and improving the
process of teaching programming at the university beginners’ level. We started
from our teaching experiences in building of C++ learning programming inteface,
later named as Verificator. Students often tend to adopt some bad programming
habits in their attempt to pass the exam. There were cases in which students
would learn big fragments of program code by rote, without any or with hardly
any understanding. There were also students who wrote large program code without
any syntax and logical testing, which produced a huge number of errors,
discouraging the students from programming altogether. Verificator works
together with DevC++ IDE.
The main functionalities of Verificator are:
- Personalization of programs. Students enter basic information about themselves (name, index number, program name and description) into the appropriate form. These data are included into program code in the form of comments, together with a checksum with the help of which can be checked whether the program is actually completely written in the Verificator.
- Time limitation for making of programming tasks. Students are given the finishing time until which the task have to be accomplished that is controlled by time servers on Internet. After time elapse, student still can start the program, but can't modify it.
- Preventing copying programs from colleagues. Verificator prevents copying program code from external sources. So, the whole code, except the given library must be entered by the student.
- Adopting of good programming habits. Based on many years of teaching experience in teaching of programming, it was shown that students using a standard programming environment to some extent tend to adopt some bad programming habits like learning programming code by heart, programming without syntax and logical checks, etc. Verificator requires from students to syntax check their programs after every 10 new instructions which is graphically illustrated with semaphore (red light means that the program is no longer possible to translate). Except this, program has to be checked logically within the given intervals (expressed in the number of program blocks) in a way that all program blocks have to be reached during execution.
- Help for easier detection of syntax and logic errors. Besides the standard printing errors and warnings given by compiler, Verificator provides further explanation of possible causes of these errors (e.g. unmatched curly brackets or parentheses, incorrect use of certain operators, etc.). Also, there is a tool for analysis of the program structure as well as the debugging tool.
More about the concept:
- install DevC++ at the
default folder (C:\Dev-Cpp)
- DOWNLOAD Verificator (actual
english version: 3.23; updated 12-29-2013) and extract it in any free folder (must not to be
- read short_instructions.txt
Videos about Verificator are available at YouTube video channel (laboratory4gpml).
Generators used in teaching
On-line generators written in
Generation of Student's Exercises (C++ source code + questions)
in Teaching Programming:
Our references about teaching tools
|6. Orehovački, T., Radošević, D., Konecki, M.:"Perceived Quality of Verificator in Teaching Programming",
37th International convention on information technology, electronics and microelectronics (MIPRO 2014),
Opatija, 26.-30. May 2014.
|5. Orehovački, T., Radošević, D., Konecki, M.:"Acceptance
of Verificator by Information Science Students",
34th International Conference on Information Technology
Interfaces (ITI 2012), Cavtat, 25.-28. June 2012.
|4. Radošević, D., Orehovački:"An
Analysis of Novice Compilation Behavior using Verificator",
33th International Conference on Information Technology
Interfaces (ITI 2011), Cavtat, 27.-30. June 2011.
|3. Đanić, M., Radošević, D., Orehovački, T.:"Evaluation
of Student Programming Assignments in Online Environments",
Central European Conference on Information and Intelligent
Systems (Ceciis 2011), Varaždin, 21.-23.09.2011.
|2. Radošević, D., Orehovački, T., Stapić, Z.:"Automatic
On-line Generation of Student´s Exercises in Teaching
Programming", Central European Conference on
Information and Intelligent Systems, CECIIS 2010, Varaždin,
22-24 September 2010.
|1. Radošević, D., Orehovački, T., Lovrenčić, A:"Verificator:
Educational Tool for Learning Programming",
Informatics in Education, Vol. 8, No. 2, pg. 261-280, ISSN
1648-5831, Institute of Mathematics and Informatics,
Vilnius, Lithuania, 2009.