Computer Programming Education in Portuguese Universities

Computer programming plays a relevant role in the digital age as a key competency for project leverage and a driver of innovation for today’s modern societies. Despite its importance, this domain is also well known for their higher learning failure rates. In this context, the study of how computer programming is taught is fundamental to clarify the teaching-learning process and to ensure the sharing of the best practices. This paper presents a survey on computer programming teaching in the first-year courses of Portuguese Universities, more precisely, what is taught and how it is taught. The study focuses essentially on the following facets: the class characterization, the methodologies used and the languages/technologies taught. Based on these criteria, a survey was done which gathers information of 59 courses included in a wide range of Universities spread across Portugal. The results were collected and analyzed. Based on this analysis a set of conclusions were taken revealing some interesting results on the teaching methods and languages used which can be useful to support a discussion on this subject and, consequently, to find new paths to shape the future of programming teaching.

[1]  Ricardo Queirós A Survey on Computer Programming Learning Environments , 2019 .

[2]  Paulo Martins,et al.  Improving teaching and learning of computer programming through the use of the Second Life virtual world , 2011, Br. J. Educ. Technol..

[3]  José Paulo Leal,et al.  Authoring Game-Based Programming Challenges to Improve Students' Motivation , 2018, ICL.

[4]  Juan C. Burguillo,et al.  Using game theory and Competition-based Learning to stimulate student motivation and performance , 2010, Comput. Educ..

[5]  J. Paul Gibson,et al.  RoboCode & problem-based learning: a non-prescriptive approach to teaching programming , 2006, ITICSE '06.

[6]  Edward L. Deci,et al.  Competitively Contingent Rewards and Intrinsic Motivation: Can Losers Remain Motivated? , 2003 .

[7]  Tony Clear,et al.  An Australasian study of reading and comprehension skills in novice programmers, using the bloom and SOLO taxonomies , 2006 .

[8]  Marco Aurélio Gerosa,et al.  Why is programming so difficult to learn?: Patterns of Difficulties Related to Programming Learning Mid-Stage , 2017, SOEN.

[9]  Ricardo Queirós,et al.  Gamification-Based E-Learning Strategies for Computer Programming Education , 2016 .

[10]  Janet Rountree,et al.  Learning and Teaching Programming: A Review and Discussion , 2003, Comput. Sci. Educ..

[11]  Huseyin Haci,et al.  Integration of Gamification Technology in Education , 2016 .

[12]  Ana Pacheco,et al.  Mathematics and programming: some studies , 2008, CompSysTech.

[13]  Ricardo Queirós A Framework for practice - based learning applied to computer programming , 2012 .

[14]  A. Mendes,et al.  Aprendizagem de programação de computadores: dificuldades e ferramentas de suporte , 2008 .

[15]  Kirsti Ala-Mutka,et al.  A Survey of Automated Assessment Approaches for Programming Assignments , 2005, Comput. Sci. Educ..