Skip to content

Subject specific didactics for software development

Published: at 05:15 PM

In the previous blog-post “Didactics for software development” I described the didactical foundation that influences my thinking and daily work.

In this blog-post I will comment on didactical litterature that addresses teaching Software Development and Computer Science more directly, as well as a number of principles I have found useful in my own teaching work.

Table of contents

Open Table of contents

Litterature on subject-specific didactics

In Denmark, a team of researchers from Aarhus University are some of the the only ones to have researched the teaching of programming [3, 16-18]. I will will discuss the key points of their didactic recommendations in the recommendations in the next section. Otherwise, I have sought inspiration all the way back to Papert’s groundbreaking book Mindstorms [45] and Peter Nauer’s article Computing, a Human Activity [44]. Naur in particular has some good suggestions on how, through the formulation of theories, models and metaphors internalise the understanding of the software we work on, so that we can complexity and communicate it to others.

Suggested subject-specific principles

In the following, I will describe the didactic principles I base my teaching on. First, I will reproduce 5 principles that I have condensed from [17]. The main points in the article are central to my teaching. Next, I will add 6 more principles that I have have discovered during my adjunct programme:

DP-1: Cognitive apprenticeship

DP-2: Consequences of the Cognitive Load Theory

DP-3: Worked examples

DP-4: Consume before produce

DP-5: Focus on patterns and context

DP-6: The black and white nature of tech

DP-7: The consequences of knowledge gaps

DP-8: The subject’s accommodative transitions

DP-9: The tool trap

DP-10: The glamour of the end product

DP-11: Immersion and mastery before fun