This book covers a qualitative study on the programming competencies of novice learners in higher education. To be precise, the book investigates the expected programming competencies within basic programming education at universities and the extent to which the Computer Science curricula fail to provide transparent, observable learning outcomes and assessable competencies. The study analyzes empirical data on 35 exemplary universities' curricula and interviews with experts in the field. The book covers research desiderata, research design and methodology, an in-depth data analysis, and a presentation and discussion of results in the context of programming education. Addressing programming competency in such great detail is essential due to the increasing relevance of computing in today’s society and the need for competent programmers who will help shape our future.
Although programming is a core tier of computing and many related disciplines, learning how to program can be challenging in higher education, and many students fail in introductory programming. The book aims to understand what programming means, what programming competency encompasses, and what teachers expect of novice learners. In addition, it illustrates the cognitive complexity of programming as an advanced competency, including knowledge, skills, and dispositions in context. So, the purpose is to communicate the breadth and depth of programming competency to educators and learners of programming, including institutions, curriculum designers, and accreditation bodies. Moreover, the book’s goal is to represent how a qualitative research methodology can be applied in the context of computing education research, as the qualitative research paradigm is still an exception in computing education research.
The book provides new insights into programming competency. It outlines the components of programming competencies in terms of knowledge, skills, and dispositions and their cognitive complexity according to the CC2020 computing curricula and the Anderson-Krathwohl taxonomy of the cognitive domain. These insights are essential as programming constitutes one of the most relevant competencies in all computing study programs. In addition, being able to program describes the capability of solving problems, which is also a core competency in today’s increasingly digitalized society. In particular, the book reveals the great relevance of dispositions and other competency components in programming education, which curricula currently fail to recognize and specify. In addition, the book outlines the resulting implications for higher education institutions, educators, and student expectations. Yet another result of interest to graduate students is the multi-method study design that allows for the triangulation of data and results.