Abstract
Compared to other subjects, the typical introductory programming (CS1) course has higher than usual rates of both failing and high grades, creating a characteristic bimodal grade distribution. In this article, I explore two possible explanations. The conventional explanation has been that learners naturally fall into populations of programmers and non-programmers. A review of decades of research, however, finds little or no evidence to support this account. I propose an alternative explanation, the learning edge momentum (LEM) effect. This hypothesis is introduced by way of a simulated model of grade distributions, and then grounded in the psychological and educational literature. LEM operates such that success in acquiring one concept makes learning other closely linked concepts easier (whereas failure makes it harder). This interaction between the way that people learn and the tightly integrated nature of the concepts comprising a programming language creates an inherent structural bias in CS1, which drives students towards extreme outcomes.
Acknowledgements
I thank colleagues Sally Fincher, Josh Tenenberg, Patricia Haden, Michael Winikoff, Brendan McCane and Richard O'Keefe for very helpful comments and suggestions. I thank the University of Otago for study leave, and the Computer Science Department at the University of Kent at Canterbury which hosted the visit during which the early stages of this research took place. I also thank the seminar audiences at The University of Kent and The University of Otago for general feedback and support.
Notes
1. This includes 10% of ‘ghost students’ who are technically enrolled but never attend, a common occurrence in our general first year courses, but not summer school.
2. For similar organisations see also, for example, http://www.psychometrics-uk.co.uk/ and http://pages.netaxis.ca/winrow/ (retrieved July 3, 2009).
3. I will use ‘(post)’ to indicate a measure taken after a substantial part of the course has passed.
4. For example, the concept of modulus division might be new to a learner, but there is only one ‘place’ it can fit, it must behave like other arithmetic operators.
5. For example, the concept of Boolean expressions may be new, but they behave in a lot of ways like arithmetic expressions, with operators, operands, precedence and values.
6. Clearly, these suggestions relate to the concept of intrinsic cognitive load (Sweller, Citation1994), and exploring this connection may yield further insights and directions for future work.