The Pedagogy of Programming
This introductory course on computer programming simultaneously teaches beginners the fundamentals of computer programming while using that learning experience as a context for developing K-12 pedagogical content knowledge of how programming is most effectively taught and learned. One primary audience for the course is future CS teachers, or future teachers interested in interdisciplinary CS. Programming topics include variables, data types, control flow, planning, debugging, abstraction, and modularization. Pedagogical topics include debugging, misconceptions, formative and summative assessment, and teaching with computational media.