Introductory computer science (CS) and programing courses have universally recorded high rates of failure, which directly impact the pathway options into second- and third-year courses. This article addresses the problem using three teaching methods: pair programming, media computation, and peer instruction. The authors used these teaching approaches over a four-year period, during which time they were able to document higher levels of student retention and success in course outcomes.
The reasoning behind the success of the research suggests that, while programming is perceived as asocial, pair programming improved the collaboration and discussion between pairs of students. Furthermore, the media computation method was found to contextualize the course materials and engage students in areas that were relevant and meaningful. Finally, peer instruction has been a tried and tested instructional method used in the classroom for many decades. The authors dismiss the suggestion that these methods made the courses too easy or dumbed down, noting that “there is no great virtue in a difficult course that flunks out students.” I recommend this paper to lecturers in CS who seek a fresh approach to programming courses.