Seminar recording available: Greg Michaelson 'What are algorithms, and how does machine learning work?'


This seminar was held on 24th August 2018 at Moray House School of Education.  Watch Greg's seminar via Media Hopper


Sustained advances in computing power, and in analytic and statistical techniques, have unlocked the vast quantity of data we accumulate about the world around us, in particular the doings of human beings. It is now possible to explore very large data sets for patterns amongst them, hinting at unknown and unexpected relationships between things. These have the potential to open up new approaches across science, for example in designing new drugs aimed at specific diseases, and across society, for example in designing new advertisements targeting specific interest groups.

The stuff of newspaper headlines, “Big Data”, or more soberly “Data Science”, has the potential to fundamentally change how we understand our world. In turn, it is vital that informed citizens have some understanding of how Data Science works and what it implies. Thus, it is starting to be included in schools curricula, not just as a specialism, but for all pupils; making Data Science ideas accessible is a pressing concern.

In this seminar for non-specialists, by a non-specialist, I will explore the underlying roots of Data Science, focusing on the simple machine learning techniques of genetic algorithms and genetic programming, grounded in evolution and genetics. We will look at solving problems like choosing a 500 calorie diet, route planning, and finding arithmetic expressions for relationships between numbers of the sort we expect young people to understand. Along the way, we will discuss the pitfalls of Big Data, and the huge gap that lies between the computer’s blind symbol manipulation and human intelligent problem solving.



Dr Greg Michaelson is Professor of Computer Science at Heriot-Watt University. He has conducted research into programming language design, implementation and analysis especially for multi-processor systems.

Greg has 41 years’ experience of teaching programming at all University levels, from beginner to advanced. He has published two textbooks on functional programming: one was recently reissued by Dover and has been an Amazon best-seller in its category.

Greg has a long standing interest in how people understand programs and in pedagogic bases for teaching programming. In the past he has published on human understanding of type errors in programs, automated assessment of programming and good programming style, and formal approaches to teaching programming.

Greg was a member of the Curriculum for Excellence Qualifications Development Team for Computer Science, and co-developer of the ‘Haggis’ Reference Language, used to set programming language neutral questions for all SQA summative assessments. He also served on the advisory group for the RSE Exemplification project and the Scottish evidence group for the Royal Society report into UK schools Computing teaching.

Greg is a proponent of strong Computational Thinking (CT), as a principled discipline for systematic problem analysis and program construction. He has recently published critiques of classic CT as too computation oriented, and of the Logo/Microworld and Objects First approaches. He is a regular contributor to ‘Hello World!’, the magazine of Computing at School and the Raspberry Pi Foundation.