"Educational Technology – A Didactical Microworld for an Introduction to Object-Oriented Programming", Department of Applied Informatics, University of Macedonia, September 2002.(Supervisor: Prof. Satratzemi Maya, Advisors: Prof. Dagdilelis Vasilios, Prof. Evangelidis Georgios)
Available (in Greek) from:
objectKarel is based on the book “Karel++ – A Gentle Introduction to the Art of Object-Oriented Programming”, 1997, John Wiley and Sons by Bergin, J., Stehlik, M., Roberts, J. and Pattis, R.
objectKarel is based on the metaphor of a world of robots. The actor of the microworld is one or more robots (objects) that are assigned various tasks in a world that consists of (Figure 1):
Students write programs that instruct robots how to perform their tasks. A task is anything we want the robot to execute based on the capabilities that they have; such as moving the robot to a particular intersection, escaping from a labyrinth, locating a beeper and moving it to another position, etc.
Figure 1. The world of objectKarel.
Every unit in the lessons module (Figure 2) contains brief and consice theory (theory tabsheet) and a hands-on activity (activity tabsheet) for familiarizing students with the programming concepts before they are asked to implement them.
Figure 2. The lessons module of objectKarel.
Programs are developed with the use of a structure editor consisting of a Statements Menu (Figure 3) and dialog boxes.
Features of the structure editor:
Differences in comparison with a typical structure editor:
Figure 3. The statements menu of the structure editor.
User-friendly error messages:
Interaction with the results of the compilation:
Execution choices:
1. Running
2. Tracing
3. Step by step execution
Program animation: when tracing or step by step execution of a program is used, explanations regarding the semantics of the current statement are presented in natural language (explanatory visualization).
Explanatory visualization:
Figure 4. Step bys step execution of a program.
Benefits:
Karel: a learning environment for an introduction to imperative/procedural programming
Learning module: series of lessons with brief theory and hands-on activities
Programming environment: structure editor, friendly error messages, program animation (step-by-step execution, tracing), explanatory visualisation, recordability of students’ actions (compiled source code versions & compilation output)
The environment is based on the book “Karel the Robot – A Gentle Introduction to the Art of Programming”, (1995), 2nd edition, John Wiley and Sons by Richard E. Pattis, revised by Jim Roberts and Mark Stehlik
and was developed in the context of
Pythagoras II-Funding of research groups in the University of Macedonia, Priority Action 2.2.3.e, Action 2.2.3, Measure 2.2, implemented within the framework of the Operational Programme “Education and Initial Vocational Training II (EPEAEK)” and co-financed by the European Union [3rd Community Support Framework, 75% financed by the European Social Fund 25% National Resources])