Workshop interactive introduction into Python programming with CMU CS Academy
1 Overview
To teach the basics of textual programming, especially in middle schools, an online learning environment is presented in which the basics of programming in Python can be learned. The "CMU Computer Science Academy" platform was developed by Carnegie Mellon University (CMU) (Pittsburgh, USA) for the Computer Science 0 course (CS0) at American high schools and has been tested and improved there since 2015 with more than 5000 students. In collaboration with Carnegy Mellon University, the chair for didactics of computer science at the TU Dresden created the German translation of the CMU Computer Science Academy. In 2020, the CS0 course was fully translated into German. In addition to the texts, code examples and comments, this also applies to the graphic library (objects, functions, methods and parameters) and the compiler feedback. As part of the cooperation, a new instance of the CMU Computer Science Academy was set up on servers in Frankfurt with its own user data management and can be used free of charge.

Fig. 1: The CMU CS Academy
The CMU Academy follows an interactive approach in that the programming tasks are embedded directly in the explanatory content and can also be processed in the browser including compiler feedback (see Figure 1). The core of the programming tasks is the creation of graphic 2D outputs using simple basic shapes (rectangles, circles, etc.). By combining and changing the shapes, complex graphics are created that motivate the initially few known programming constructs to be used. In the further course of the course, animations and input interactions are introduced (see Table 1).
Only teachers can register for the platform. After activation, a teacher creates courses and can generate accounts for students or enable students to register directly via a link. In addition to the administration of the courses, the teachers can view the learning progress and solutions of the participants and give targeted feedback (see Figure 2).

Fig. 2: Teacher's perspective
In addition to presenting the possibilities, the following didactic questions should be discussed:
- Do German translations of compiler feedback and source code (classes, parameters, methods, etc.) make sense from a didactic point of view?
- How can (parts of) extensive programming learning platforms be meaningfully integrated into IT lessons?
- Which additional, accompanying materials and content would improve the platform's suitability for use in computer science lessons?
2 Workshop concept
The workshop is divided into five sections. First, the programming language Python will be discussed as a teaching-learning language and the integration into the computer science teacher training at the TU Dresden will be presented. This is followed by a presentation of the content and possible uses with a longer phase of exploring the platform from the perspective of the learners. This is followed by a change of perspective to the teacher's view, which is first presented and then discussed. It will then be shown how the graphical library can be used offline in the Thonny development environment and how it is possible to switch from the guided entry into programming via the platform to free programming in an IDE. It concludes with a comparison with another programming platform using Python with room for open discussion.
Structure
Perspective | Content | Schedule |
---|---|---|
Introduction Organisation |
|
10 min |
Student's Perspective |
|
50 min |
Teacher's Perspective |
|
25 min |
Perspective |
|
15 min |
Conclusion and Outlook |
|
20 min |