The hands-on activities of the programming microworld objectKarel

objectKarel is a didactic microworld for introducing novices to object oriented programming (OOP). objectKarel uses a subset of the Karel++ programming language and its pedagogical features are: (i) a structure editor for avoiding common syntax and semantic errors; (ii) an animation and visualization system that incorporates the ability of step by step execution and explanatory visualization, which means that students are presented with explanatory messages in natural language for the current statement; (iii) a series of e-lessons. These lessons contain brief and concise theory and hands-on activities for motivating students with OOP concepts before they are asked to use them for implementing programs. This demonstration focuses on presenting the hands-on activities of objectKarel, which play an important role in the teaching/learning process. The rationale of the design of each activity focuses either on presenting in a clear manner the taught concept, usually in a visual manner (for example object construction, sending messages to objects with simultaneous presentation of both the source code and the representation of the corresponding function in the screen), or on driving the novice to a dead end, so as to consider as a natural consequence the adoption of new concepts, such as inheritance. Next, due to space limitations, we give more details for the first two activities.