This state-of-the-art survey, reflecting on the teaching of programming, has been written by a group of primarily Scandinavian researchers and educators with special interest and experience in the subject of programming. The 14 chapters - contributed by 24 authors - present practical experience gathered in the process of teaching programming and associated with computing education research work. Special emphasis is placed on practical advice and concrete suggestions.
The authors are all members of the Scandinavian Pedagogy of Programming Network (SPoP), and bring together a diverse body of experiences from the Nordic countries. The 14 chapters of the book have been carefully written and edited to present 4 coherent units on issues in introductory programming courses, object-oriented programming, teaching software engineering issues, and assessment. Each of these individual parts has its own detailed introduction.
The topics addressed span a wide range of problems and solutions associated with the teaching of programming such as introductory programming courses, exposition of the programming process, apprentice-based learning, functional programming first, problem-based learning, the use of on-line tutorials, object-oriented programming and Java, the BlueJ environment to introduce programming, model-driven programming as opposed to the prevailing language-driven approach, teaching software engineering, testing, extreme programming, frameworks, feedback and assessment, active learning, technology-based individual feedback, and mini project programming exams.