Learning programming is a difficult task and many students fail to complete introductory computer science courses. The talk will describe our research into two approaches to improve learning of programming.
Scratch is a visual programming environment intended for young people. They construct programs by dragging-and-dropping blocks labeled with commands and operations; the programs control the animation of sprites which provides a motivating context. We found that even middle-school students (age group 12-14) are capable of developing non-trivial software and, furthermore, they find it easier to learn professional programming languages when they reach secondary school. However, Scratch can cause students to develop bad programming habits that may be difficult to overcome and teachers must ensure that this doesn’t happen.
The other approach is to visualize the execution of programs written as text in professional programming languages. The Jeliot program animation system automatically generates detailed animations of programs written in the Java. Jeliot significantly facilitates learning because it provides a graphic display of the dynamic aspects of program execution that are hidden within the computer. An investigation into the use of Jeliot by secondary-school teachers showed a wide range of engagement, from full integration into the teaching practice to rejection caused by psychological factors.
Mordechai (Moti) Ben-Ari is a full professor in the Department of Science Teaching of the Weizmann Institute of Science, where he heads the computer science education group. He is the author of numerous textbooks, including Principles of Concurrent and Distributed Computation, and Mathematical Logic for Computer Science. His group, in collaboration with the University of Eastern Finland, developed the Jeliot program animation system. In 2004, he received the ACM/SIGCSE Award for Outstanding Contributions to Computer Science Education, and in 2009 he was elected as a Distinguished Educator of the ACM.