How can we teach programming more effectively?
Computer programming educators currently work in a very stressful context. On the one hand, industries around the world are complaining about a serious shortage of skilled programmers. On the other hand, programming is one of the most difficult academic subjects for students to learn, with some of the highest reported failure rates across tertiary institutions.
A few years ago, Dale Parsons, Krissi Wood and Patricia Haden from Otago Polytechnic participated in a large multi-institutional study of programming assessment. This involved computer science educators from several countries submitting their exams and other assessment tools, and a meta-analysis being performed. The results showed that many of the assessments consisted of multiple choice questions which tested obscure points of computer language syntax and theory. This did not align with what the researchers believe a student needs to know in order to be able to program at a professional level.
“The results of this experiment have directly informed our teaching practice,” says Patricia. “We have continued to refine the use of activity diagrams for teaching and assessment in our introductory programming papers. These tools allow us to observe the developing understanding of students long before they are experienced enough to write large working programs, they give us insight into what aspects of programming syntax, semantics or pragmatics a student is struggling with, allowing us to tailor our support for that student most effectively.”
The team’s research is already proving promising. Student pass rates have risen, and the team has had the great joy of watching most of its students mature into information technology professionals.
Parsons, D., Wood, K. and Haden, P. (2015) What are we doing when we assess programming? 17th Australasian Computing Education Conference, Sydney, Australia. Conferences in Research and Practice in Information Technology, Vol. 160. D. D’Souza and K. Falkner, Eds.