Professor Greg Michaelson is supporting the Data Education in Schools research strand with a longstanding interest in how people understand programs, and in the pedagogic bases for teaching programming.

In 2018, Greg, with Liam Doyle (visiting Research Assistant from Heriot-Watt University), carried out a pilot study of young people’s competences with abstraction for programming, in three local schools, using an instrument developed with Professor Judy Robertson. Preliminary results suggest that, while all subjects could perform the abstraction tasks, a minority could not fully represent them. A further study is planned.

Greg also had his paper ‘Programming Paradigms, Turing Completeness and Computational Thinking’ published in the Journal of the Art, Science, and Engineering of Programming. This critiques contemporary notions of programming paradigm, with implications for Computing curricula.


The notion of programming paradigms, with associated programming languages and methodologies, is a well established tenet of Computer Science pedagogy, enshrined in international curricula. However,this notion sits ill with Kuhn’s classic conceptualisation of a scientific paradigm as a dominant world view, which supersedes its predecessors through superior explanatory power.

Furthermore, it is not at all clear how programming paradigms are to be characterised and differentiated. Indeed, on closer inspection, apparently disparate programming paradigms are very strongly connected. Rather, they should be viewed as different traditions of a unitary Computer Science paradigm of Turing complete computation complemented by Computational Thinking.


Michaelson G. (2020) Programming Paradigms, Turing Completeness and Computational Thinking.The Art, Science, and Engineering of Programming 2020, Volume 4, Issue 3, Article 4

Posted on: