Exploring Programming in Higher Education: Understanding Course Framings, Institutional Positionality, and Educator Values

Publikation: AfhandlingerPh.d.-afhandling

Abstract

While computing occupies an important position in society due to its pervasive influence on societal operations and technological development, it remains a volatile and rapidly evolving field, continually shaped by the introduction of new hardware, the internet, new approaches to solve greater challenges of society, and, more recently, generative AI. Programming, in particular, is central to constructing software that shapes both everyday experiences and societal structures, from electronic patient journals and real estate appraisal systems to climate modeling. To support the growing demand for computing professionals, the field of computing education research has emerged, aiming to help students acquire the knowledge and competences necessary to participate effectively in the construction and use of future technology. Much of the computing education research community has focused on improving learning and acquisition of knowledge for students, which is a crucial part of enforcing computing literacy. However, it often overlooks the foundational decision-making process of selecting what is important to teach and for which students—which has only become more important with the emergence of generative AI. This thesis addresses that gap by exploring how programming knowledge is selected, framed, and institutionalized in higher education across disciplines. By explicitly investigating this process for programming courses, in a wide disciplinary context, the goal of this thesis is to support educators across disciplines in programming course design through awareness of existing programming education framings and an understanding of institutional and educator positionality and values.
In this thesis, I define the decision-making process (external didactic transposition), and describe what existing research reveals concerning such processes in computing education. This includes an introduction to concepts such as programming and computing, as they serve a central role in programming education. Through these, I argue that programming is diverse and taught very differently across courses and contexts. While perhaps obvious, I suggest this counters the uniformity which certain computational movements suggest and promote. Further, I outline how existing research—at large, in the context of higher education—focuses on choice of programming language and associated skills (or competences) when discussing knowledge to be taught (curriculum), rather than the goal of teaching, educator viewpoints, and institutional missions, i.e., all that which heavily affects the decision of what to teach.
Thus, this thesis investigates this decision-making process explicitly, by contributing four studies, which, through three research questions, explore: (1) contemporary programming course framings across disciplinary boundaries, (2) institutional positions on such courses, and (3) underlying values held by programming and computing educators. As the thesis is primarily situated in Danish higher education—with perspectives from internationally recognized computing education scholars—it covers programming education of an entire nation.
First, I analyze curricula from the majority of higher education programmes, in Denmark, to provide an overview of how programming courses are currently framed in a broad disciplinary context. Through the investigation of these 1,169 educational programmes (whereof 175 have mandatory programming courses), I find that; (1) programming is taught an either end in itself or as means for solving domain-specific problems (didactic stake); (2) programming is taught both standalone and integrated with other topics (delineation), and; (3) the curriculum primarily focus on primarily problem-solving, collaboration, and, to a lesser degree, disciplinary theory (competences).
Second, based on an understanding of existing course framings, I survey the educators, heads of study programmes, and other course stakeholders to investigate goals and institutional reasons for the existence of these programming courses. Through responses from 55% of the invited individuals (146 in total), I find that; institutions tend to justify programming courses through pragmatic missions oriented toward future needs, establishing programming as a necessary competence.
Third, to understand which beliefs and opinions (normative prescriptions) guide educators towards certain implementational choices, I interview 10 formative individuals in the computing education research community (from North America). Through these interviews, I find that; educator values play a critical role in shaping what is selected for teaching—which, in the case of the interviews, yielded three particular values, namely rigor, vigor, and individualism. These values both reinforce institutional missions and highlight tensions within the computing education research community, revealing differing commitments to mastery, engagement, and autonomy.
Fourth, and using these findings, I have consolidated a set of guidelines to explicitly the process of selecting knowledge for teaching, meant as a tool for educators to contemplate about course design. In particular, I suggest that explicit consideration of external didactic transposition can help various actors (educators, other educational stakeholders, and researchers) articulate the rationales behind course framings, align them with institutional missions and educator values, and surface biases or mismatches before they become embedded in curricula. Such transparency can strengthen arguments for implementing or sustaining programming courses and create more equitable and inclusive courses. Thus, I apply these guidelines in a final study to develop a new end-of-semester project for our introductory programming course situated in the Software Development programme at my institution. From this study, I illustrate how balancing educator values, recognizing institutional missions, and drawing on other domains to situate learning activities can broaden student
engagement and improve opportunities for learning. Through this example, I also demonstrate how explicit attention to external didactic transposition can inform concrete pedagogical design, even in the context of a preconfigured course. Implicitly, this also illustrates how these guidelines are no replacement for existing research on teaching/learning activities, but, instead, should be used in conjunction with this. Thus, educators should consider the external didactic transposition in extension to all the laudable research and work going into creating value with their actual teaching.
In conclusion, this thesis advances computing education research by contributing to a more explicit understanding of the decision-making process of selecting knowledge to be taught. Further, I have introduced and borrowed theory on the topic from mathematics education, as a means to strengthen the theoretical side of computing education research, which currently, at large, tends to focus on the teaching and acquisition of students. While it is in itself emphatically important to consider how students best learn programming, we must also stop and consider why we are teaching (certain things about) programming. This has become even more necessary today, as we need to reconsider programming education in the light of generative AI. Thus, these findings—and explicit consideration of the external didactic transposition—can be a starting point for conversing more structurally about a future with generative AI.
OriginalsprogEngelsk
Vejleder(e)
  • Brabrand, Claus , Hovedvejleder
  • Carlsen, Louise Meier, Bivejleder
  • Cohn, Marisa , Bivejleder
StatusUdgivet - 2026

Fingeraftryk

Dyk ned i forskningsemnerne om 'Exploring Programming in Higher Education: Understanding Course Framings, Institutional Positionality, and Educator Values'. Sammen danner de et unikt fingeraftryk.

Citationsformater