Motivating students of the Nintendo generation for Computer Science can only be achieved by providing them with an exiting and fresh CS1 course. The article describes the experience of redesigning the introductory programming course at ETH Zurich and shows how the combination of state-of-the-art visualizations with open project assignments enlivens students' enthusiasm for programming. It shows the setup and the involved libraries, provides example applications that were built in the course, and presents the data gathered in the evaluation of the open assignment.
This paper presents an approach for educators to evaluate student progress throughout a course, and not merely based on a final exam. We introduce progress reports and describe how these can be used as a tool to evaluate student learning and understanding during programming courses. Complemented with data from surveys and the exam, the progress reports can be used to build an overall picture of individual student progress in a course, and to answer questions related to how students (1) understand program code as a whole, (2) understand individual constructs, and (3) perceive the difficulty level of different programming topics. We also present results from using this approach in introductory programming courses at secondary level. Our initial experience from using the progress reports is positive, as they provide valuable information during the course, which most likely would remain uncovered otherwise.