students confident with computational thinking by introducing them to programming. We are
convinced that such programming classes offer a great opportunity to expose students to
core concepts of computer science and thereby contribute to a broad and general education.
In this article, we describe our approach and experiences with teaching programming at
various levels, namely at primary schools, high schools, and universities. We identify a set of …