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. Proietti
Membro del Collaboration Group
;
BIZZARRI, GIUSEPPE
Membro 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 Informatics
2016
978-606-17-0978-6
File in questo prodotto:
Non ci sono file associati a questo prodotto.
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11697/121657
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact