In this post I’ll try to establish a context for what “didactics” is, and why I think it’s important to think about as a teacher. I will share the context from which I plan, implement, assess, and evaluate teaching and learning. Teaching is a messy business, and many paths can lead to amazing results. Many paths also lead to poor results. So I’m well aware that what I share obviously won’t work for everyone, and in any situation. But never the less, that won’t stop me from sharing ideas.
Table of contents
Open Table of contents
Why didactics? Creating a context
Back in the 90s, I had the great privilege of studying Sports and Exercise at the University of Copenhagen. My major was Computer Science, but at a certain point I desperately needed to use my body for more than just sitting at a desk. So I changed my minor from Mathematics to Sports and Exercise. A life changing decision.
A substantial part of studying Sports and Exercise is learning how to teach. We studied pedagogy and didactics and spent a lot of time teaching each other as students. It was also common practice to teach kids and high school students as part of our curriculum. So I learned that each sports disciplin had its own specific didactics. The progression of what was taught was carefully researched. The didactics of teaching long distance running was very different from teaching pole vault. Many books are written about each discipline, a great variety of schools of practice. Even between disciplins that seemed very similar. Another way to phrase this: the amount of careful study of how to teach was astounding.
When I started to teach programming and software development I soon realized that the amount of litterature on subject specific pedagogy and didactics was scarce. When asking my new colleages for advice, most of what I got was “that’s how I learned it myself - so that how I do it”.
I don’t know why Computer Science and the field of Software Development has slipped under the radar of didactics, but I think it’s a fact that very little research has been carried out and not much litterature exits. As a consequence, the crowd of teachers is not that interested in developing didactics and discussing it. Most of the conversations are about content and not much about how to teach. Paradoxically, a returning item on the agenda in the department meetings is the relatively high dropout rates of students. What should we do about it? And the ideas most often revolves around content. Should we teach Python instead of Java, should we have more on algorithms or AI? And so on. Meanwhile our students are dropping out. The average dropout rate the the Computer Science education at the Danish Academy Profession (AP) Schools has constantly clocked a steady 40% over the past 30 years. I think we should be able to do better than that.
Existing litterature and research
Since I started teaching Software Development, I have continuously worked to establish a coherent foundation for my pedagogical and didactic work. This is an ongoing and open ended proces. Below, I will share a brief list of some of my main sources of inspiration. Some will be elaborated upon in separate blog posts later.
General learning theories
The most fundamental question I as an educator have to deal with is how does a human being learn?
. Knud Illeris writes: ‘There is no automatic correlation between teaching and learning’ [31, p.14]. The Danish Scholar Knud Illeris has been my primary entry point to learning theories, as he has spent a lifetime developing his own theories, curating and disseminating the contributions of others.
I have an eclectic relationship with learning theories, as they each have their own particular focus on learning. John Dewey’s pragmatic learning philosophy is probably my favourite in terms of understanding how we learn through doing. Software Development is in many ways very practically and craft-based. Dewey’s theory of experiential education and learning by doing is a constant source of inspiration and deeper understanding [22].
Where Dewey’s work falls short is at the collective level. My inspiration in that area is primarily drawn from Lave & Wenger’s theories of situated learning and communities of practice.
Other concepts that I find useful are Vygotsky’s Zone of proximal development
[15] and the derivative practice of scaffolding
[13, 62], which generally characterise my approach to guidance and differentiation in teaching. In connection with teaching shorter courses for professionals, I have benefited from studying the concept of transfer
[60, 64].
Finally, I would like to mention the Danish triology Impure Pedagogy
[50, 51, 55]. I share
many of the values and the philosophical orientation that is expressed in this work. Impure pedagogy is defined as ‘a pedagogy where the method of pedagogy cannot be separated from its content and anchoring in cultural, ethical and political processes’ [50, p.7]. The main purpose of
Impure Pedagogy
is to counter balance the popular
trend that followed in the trails of John Hattie’s Evidence based teaching paradigm, in which he tries to find “one size fits all” principles through meta studies. A disaster in my humble opinion, that can easily be misunderstood and harnessed by educational managers to treat
education and teachers as robots.
Taxonomies
When I need to assess progression in teaching, set learning objectives and assess whether the students have learnt what I hoped for, I primarily use Bloom’s taxonomies. Both for the cognitive [12] and affective domains [35]. The connection between the two domains [12, p.167ff] [35, p.86] is useful when I have to read the learning outcome in a classroom situation. If students are not actively participating, asking questions, wondering or maybe even complaining, they rarely learn anything of value. And I’m pretty sure that the levels of analysis, synthesis and assessment are far from what’s going on.
Planning and adjusting semester plans
There are many decisions behind the design of any term. It’s rare to start with a clean slate. Instead, you inherit materials and plans from previous years. When I need to analyse and reflect a specific teaching programme, I often turn to Hiim & Hippe’s relationship model [29, p.73], as shown below. I find it pluralistic and thorough enough in its approach to teaching that most stones are turned over in the process. The model also reflects the important point, that all changes in a teaching programme potentially have consequences for the other didactic categories.
I also orientate myself towards Constructive Alignment Theory (CAT) [10] to ensure a good correlation between the programme’s goals for learning outcomes, content and what is tested in the exams. I’m not a great fan of CAT, since too much focus on learning goals tends to kill creativity and spontaneity. However, CAT is the official framework we live in. Handed down from the European Qualification Framework. When it comes to technical course planning, I have primarily relied on Peter Stray Jørgensen’s methodology [48, p.163ff].
Evaluation
I use both formative and summative evaluations [48, p.409ff] to assess the impact of the training.
Formative evaluations
At Cphbusiness, we conduct a mandatory Delphi assessment [48, p.416ff] every semester in every class. They are working very well. Especially because the categories are crystallised from the students‘ experiences, and not on the basis of the lecturers’ bias. I also use a selection of other feedback elements in teaching. From Kahoots [32], self-assessment forms, ad-hoc feedback via Mentimeter [42] and more traditional questionnaires. Otherwise, my main feedback is feedback on students’ learning outcomes is to see them working in practice.
Summative evaluations
These are usually in the form of questionnaires sent out from the adminstration each semester. This is primarily to find out if something has gone completely wrong, but rarely a help to directly improve the teaching.
Formal setting and frameworks
Like other educational institutions, Cphbusiness is subject to some governing tools. These include executive orders and curricula. Our Computer Science educations is adapted to the European Qualification Framework Leve 5 (EQF). This means that there is a general emphasis on practice-orientated topics og practices, and that there is no requirement for a broader and and deeper theoretical understanding of the subjects. These formal frameworks and settings are fixed and something I always have to keep in mind.
Subject specific didactics
Everything described above is not specifically aimed at teaching Software Development and Computer Science. I see it as a foundation that influences my thinking and daily work.
In this blog post about “subject-specific didactics”, I will address 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.