I get into these discussions and notes-exchange at random intervals most of which relate to ‘teaching programming methods and implementations. So, I started reading up Reflections on the Teaching of Programming: Methods and Implementations (Lecture Notes in Computer Science).
As the blurb states 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.
I went through “Experiences with Functional Programming in an Introductory Curriculum” by Michael R Hansen and Jens Thyge Kristensen. And, I’d say I was surprised.