Novice/expert differences in programming skills
International Journal of Man-Machine Studies - The MIT Press scientific computation series
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Characteristics of the mental representations of novice and expert programmers: an empirical study
International Journal of Man-Machine Studies
Studying the Novice Programmer
Studying the Novice Programmer
Introductory programming, criterion-referencing, and bloom
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
First year programming: let all the flowers bloom
ACE '03 Proceedings of the fifth Australasian conference on Computing education - Volume 20
CS educational research: a meta-analysis of SIGCSE technical symposium proceedings
Proceedings of the 35th SIGCSE technical symposium on Computer science education
What drives curriculum change?
ACE '04 Proceedings of the Sixth Australasian Conference on Computing Education - Volume 30
A multi-national study of reading and tracing skills in novice programmers
Working group reports from ITiCSE on Innovation and technology in computer science education
ACE '05 Proceedings of the 7th Australasian conference on Computing education - Volume 42
The computer science debate: it's a matter of perspective
ACM SIGCSE Bulletin
Not seeing the forest for the trees: novice programmers and the SOLO taxonomy
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
Research perspectives on the objects-early debate
ITiCSE-WGR '06 Working group reports on ITiCSE on Innovation and technology in computer science education
Computer science education research at the crossroads: a methodological review of computer science education research, 2000--2005
The teaching of novice computer programmers: bringing the scholarly-research approach to Australia
ACE '08 Proceedings of the tenth conference on Australasian computing education - Volume 78
CS research: rules for sustaining the discourse -- engage!
ACM SIGCSE Bulletin
A method for analyzing learning outcomes in project courses
ACE '11 Proceedings of the Thirteenth Australasian Computing Education Conference - Volume 114
Introductory programming: examining the exams
ACE '12 Proceedings of the Fourteenth Australasian Computing Education Conference - Volume 123
Hi-index | 0.01 |
In just thirty years, we have gone from punched cards to Second Life. But, as the American National Science Foundation (NSF) recently noted, "undergraduate computing education today often looks much as it did several decades ago" (NSF, 2006). Consequently, today's "Nintendo Generation" have voted with their feet. We bore them. The contrast between the changes wrought via computer research over the last 30 years, and the failure of computing education to adapt to those changes, is because computing academics lead a double life. In our research lives we see ourselves as part of a community that reaches beyond our own university. We read literature, we attend conferences, we publish, and the cycle repeats, with community members building upon each other's work. But in our teaching lives we rarely discuss teaching beyond our own university, we are not guided by any teaching literature; instead we simply follow our instincts. Academics in computing, or in any other discipline, can approach their teaching as research into how novices become experts. Several recent multi-institutional research collaborations have studied the development of novice programmers. This paper describes some of the results from those collaborations. The separation of our teaching and research lives diminishes not just our teaching but also our research. The modern practice of stripping away all 'distractions' to maximize research output is like the practice of stripping away rainforest to grow beef -- both practices appear to work, for a little while, but not indefinitely. Twenty-first century academia needs to bring teaching and research together, to form a scholarship of computing that is an integrated, sustainable, ecological whole.