Abstract

In recent years, extensive research has been conducted on the difficulties encountered by novices when being taught programming. These studies have shown that an important factor of these difficulties is the teaching methodology used, which is based on: a) a general purpose programming language that is too big and too idiosyncratic, b) a professional programming environment for the chosen programming language that does not support students neither in understanding the semantics of the control structures and the flow of control nor in the process of debugging their programs, and c) a set of problems from the area of number and symbol processing that are far from the students’ everyday experiences and are not attractive to them. This ascertainment has lead many to develop new programming environments as well as alternative approaches to teaching programming. The most important approaches are Microworlds, Compilers with Improved Diagnostic Capabilities, Iconic Programming Languages and Program Animation. Taking into account the results of the research, which are related to the students’ difficulties, we developed an educational environment for teaching object-oriented programming. Our programming environment objectKarel attempts to teach programming through a microworld and is based on the programming language of Karel++. The metaphor used is that of a world of robots and the main features of objectKarel are: e-lessons: objectKarel incorporates a series of lessons that consist of theory and activities for supporting students in understanding the basic principles of object-oriented programming and the most common control structures. A special kind of structure editor: writing a program is accomplished through a menu and dialog boxes. In contrast with typical structure editors, logic, semantical and some syntax errors are deliberately not prevented. Understandable and highly informative error messages. Program animation – explanatory visualization: students have three choices of executing a program – running the program, tracing through the program, executing it step by step. When students use the last two choices of executing programs, they are also presented with explanatory messages about the semantics of the command being executed, a feature known as explanatory visualization. Recordability of students’ actions: the system autosaves the student’s program and its errors/warnings each time it is compiled.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call