Teaching of programming is a major point of every computing based academic curriculum, and of several high schools programs. Unfortunately it is also one of the hardest cliffs for novice students, as put in evidence by the high dropout and failure rates of introductory programming courses. Several researches give evidence that the use of active learning strategy and methodologies can be more effective than traditional, lecture-based teaching. This appears to be an inherent consequence of the true nature of programming, which can be regarded more as ability than a subject of study. In particular we place our attention on educational approaches built upon the so-called Cognitive Apprenticeship model that emphasizes the relationship between a master and an apprentice in the teaching of the whole process of constructing an object, a computer program in our case. Since educational research points out the benefits of interactions among peers, or among students having different competence level, to improve engagement and stimulate practicing, we explored the integration of activities that promote learners cooperation in cognitive apprentice based approaches to teach programming. We describe a learning environment designed according to these ideas and some outcome of its usage in a training course for the Italian Olympiads in Informatics
Learning and teaching programming with cognitive apprenticeship
L Forlizzi
Membro del Collaboration Group
;G. ProiettiMembro del Collaboration Group
;BIZZARRI, GIUSEPPEMembro del Collaboration Group
2016-01-01
Abstract
Teaching of programming is a major point of every computing based academic curriculum, and of several high schools programs. Unfortunately it is also one of the hardest cliffs for novice students, as put in evidence by the high dropout and failure rates of introductory programming courses. Several researches give evidence that the use of active learning strategy and methodologies can be more effective than traditional, lecture-based teaching. This appears to be an inherent consequence of the true nature of programming, which can be regarded more as ability than a subject of study. In particular we place our attention on educational approaches built upon the so-called Cognitive Apprenticeship model that emphasizes the relationship between a master and an apprentice in the teaching of the whole process of constructing an object, a computer program in our case. Since educational research points out the benefits of interactions among peers, or among students having different competence level, to improve engagement and stimulate practicing, we explored the integration of activities that promote learners cooperation in cognitive apprentice based approaches to teach programming. We describe a learning environment designed according to these ideas and some outcome of its usage in a training course for the Italian Olympiads in InformaticsPubblicazioni consigliate
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.