Karel the Robot is a programming environment with a graphical output window. It was originally developed by Richard E. Pattis (cf. here)
Karel enables students to programmatically solve problems, using the C language, in a two-dimensional world by moving the robot around while checking and manipulating its surroundings. We use Karel to solve the dilemma of either demanding too much or not enough from students during the first weeks of an introductory CS course, since interesting problems can be solved with limited input from lectures. Karel enables problem solving from day one of CS1, and encourages good software engineering practices such as top-down design from the beginning.
This page contains teaching materials that we use in our classes at OTH Regensburg. Karel is implemented in C and student programs are also written in C.
The following videos show how Karel is introduced in the first two lectures of a one semester programming course. The videos also cover organisational details of the course and contents beyond Karel. Karel is presented in around 65min of lecture time overall.
The Karel reader summarizes the core concepts behind Karel such as Top Down Design or stepwise refinement. The reader is written in a very accessible language and should help students in their self-study after having attended the lecture. The reader is directly inspired from Stanford's Java version of Karel and was adapted to fit Karel in C.
In addition to introducing Karel in the lecture, students have to complete lab exercises in which they need to apply the concepts from the lecture by solving first programming problems.
Karel is fully integrated into the IDE Clion o get students started with Karel quickly. Currently there is only a windows starter project available:
We published our experiences with using Karel the Robot. The paper is presented at EDUCON 2018 and will be available through the IEEE digital library at computer.org:
Heckner, M., Bazo A., & Scherzinger S. (2018). Karel relearns C. Teaching good software engineering practices in CS1 with Karel the Robot. In Proceedings of the 2018 IEEE Workshop on Technical Didactic Software Engineering (TDSE) (Santa Cruz de Tenerife, April 2018) at the IEEE Global Engineering Education Conference (EDUCON).