Teaching theoretical computer science using a cognitive apprenticeship approach

High failure rates in introductory courses on theoretical computer science are a common problem at universities in Germany, Europe, and North America, as students often have difficulties coping with the contents of such courses due to their abstract and theoretical nature. This paper describes modifications to the pedagogy of a theory course held at the University of Potsdam, Germany that are motivated by a cognitive apprenticeship approach and have led to a significant reduction of the course's failure rates. Since our approach is based on the typical infrastructure for teaching introductory computer science courses and does not require additional expenses or special resources, it can be replicated by other institutions. We believe that it is a serious contribution to better support teaching as well as student learning success in this field.

[1]  Pm Jenkinson,et al.  Cognitive , 2020, Definitions.

[2]  Anthony V. Robins,et al.  Learning edge momentum: a new account of outcomes in CS1 , 2010, Comput. Sci. Educ..

[3]  Jenny Gavriel Cognitive apprenticeship , 2015, Education for primary care : an official publication of the Association of Course Organisers, National Association of GP Tutors, World Organisation of Family Doctors.

[4]  Ana Gabriela Maguitman,et al.  Didactic strategies for promoting significant learning in formal languages and automata theory , 2004, ITiCSE '04.

[5]  Philip R. Ventura,et al.  Identifying predictors of success for an objects-first CS1 , 2005, Comput. Sci. Educ..

[6]  Carl Bereiter,et al.  Situated Cognition and How to Overcome It , 2021, Situated Cognition.

[7]  Judith Good,et al.  Learning by game-building: a novel approach to theoretical computer science education , 2007, ITiCSE.

[8]  Wilhelmiina Hämäläinen,et al.  Problem-based learning of theoretical computer science , 2004 .

[9]  Susan H. Rodger,et al.  Turning automata theory into a hands-on course , 2006, SIGCSE '06.