Innovative Pedagogical Practices in the Craft of Computing - Tom Crick (IEEE, 2016)
Teaching programming is much more like teaching a craft skill than it is a purely theoretical subject. Hence an "apprenticeship" model, where apprentices learn by watching the master do, and then do themselves, and are criticised in their doing, is, we claim, more appropriate than the "lecturer/lecturee" model that universities implicitly adopt. Furthermore, there are generally many more apprentices than the master can personally supervise. Universities will therefore use various tutors, who should be regarded as the analogue of the guild-master's journeymen. However, how does one encourage this mindset in students who, for their other courses, are indeed lecturees? What are the implications for the journeymen?