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
- Suggested subject-specific principles
- 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
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: