Learning to teach computer programming
Marcia C. Linn · 2009
What does recent research in the learning sciences have to offer computing education researchers and course designers? Over the past 50 years, course designers have learned a great deal about how to teach computer programming. Programming courses have motivated imaginative instructional innovations including microworlds, case studies, programming patterns, peer critiques, and lab-based courses. Early courses often employed collaborative learning by default--due to limited access to personal computers--and invented solutions to common dilemmas such as imbalances in the contributions to a group product. In addition, many of the innovators in computer programming instruction were themselves self-taught, bringing intriguing insights to the design of new courses.Recent work in the learning sciences offers some fresh ideas while also drawing on this promising tradition of innovation. In this talk I will integrate the research of the Technology-Enhanced Learning in Science (TELS) center with my experiences in design of computer programming courses to identify some fruitful directions for the field.