objectKarel

PhD Thesis

objectKarel was designed, implemented and evaluated in the context of PhD Thesis:

"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:


The main features of objectKarel

The microworld objectKarel

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):

  • Crisscrossing horizontal streets and vertical avenues forming one block intervals;

  • Wall sections between adjacent streets or avenues used to represent obstacles (hurdles, mountains, mazes etc); and

  • Beepers – small plastic cones that emit a soft beeping noise – placed on street corners.

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.

The lessons module

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.

  • fundamental OOP concepts are presented prior to control structures

  • each activity lies in the heart of the underlying concept

  • the main aim of the activities is to help students comprehend deeper the OOP concepts

Figure 2. The lessons module of objectKarel.

Program development

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:

  • the menu is automatically updated

  • the source code is auto-indented

Differences in comparison with a typical structure editor:

  • it allows the violation of some syntactic rules, in order to allow making changes easier

  • semantic and logic errors are reported during compilation in order to familiarize students with error messages regarding the comprehension of basic concepts and the debugging process

Figure 3. The statements menu of the structure editor.

Program compilation

User-friendly error messages:

  • in Greek (or English)

  • using natural language (no codes)

  • reporting the actual line of the error reporting the source of the error

Interaction with the results of the compilation:

  • students focus on the exact line of the source code

Program execution

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:

  • offers an alternative means of presenting the semantics of concepts/structures and flow of control during program execution

  • helps in comprehending – dealing with misconceptions about concepts/structures that are difficult for students

Figure 4. Step bys step execution of a program.

History of compilations

  • each time a program is compiled (or saved) it is saved along with the compilation results

  • the history of compilations is presented with the form of a two level tree

Benefits:

  • recording students’ difficulties-misconceptions when introduced to OOP programming

  • studying students’ problem solving techniques

  • helps the teacher adjust the lesson to students’ need