Michael E. Caspersen

Danish computer scientist Michael Edelgaard Caspersen (born in 1960 in Svenborg, Denmark) has spent his academic life furthering computer science education, at all levels. His research interests are computing education, programming didactics, programming methodology, and object-oriented programming. He is best known for his work on computing education research and development, particularly his work to promote informatics as a fundamental discipline for all.

Michael has developed pedagogical approaches to teaching programming and program development, and his consistent and thorough use of hypothesis testing during his research has set a standard for the field. He was one of the first to use cognitive load theory in this research.

Michael has served roles in developing informatics education in Danish high schools and, by personal invitation of the Minister of Education, at the primary and lower secondary levels. He also has provided leadership within the ACM and on various groups in Europe to improve computing/informatics education throughout Europe.

Education
Michael was born in Svendborg, Denmark. He went to Nordre Skole for primary and lower secondary school and to Svendborg Statsgymnasium for upper secondary school. He earned an M.Sc. in computer science from Aarhus University.

At Aarhus University, Michael was exposed to world-class computing education; new ideas of programming methodology developed by Dijkstra found their way into the first-year course, as did relational algebra, coloured Petri nets, and the semantics of programs. This educational experience had a profound impact on Michael's perspective on computing and devotion to computer science education, leading to his PhD thesis.

Personal life
Michael E. Caspersen is married to Susanne Caspersen; they have two children, Christina and Christopher, and four grandchildren, Filippa, Lucca, Asta, and Petra.

Leadership roles: Education in Computer Science / Informatics
Michael has been a major force for improving education in computing at all levels on a national and international scale.
 * Founding member and first chair of the Danish CS Educators' Association (1995-2000).
 * Founding member of the Scandinavian Pedagogy of Programming Network established in 2004, leading to publication of a book, a novel and innovative collection of contributions that address all aspects of teaching programming.
 * Chair or co-chair five Danish Ministerial groups on various aspects of computing.
 * Co-chair of the Committee on European Computing Education (CECE), which was created to foster further development of informatics education at all levels in Europe.
 * Second Chair (the first chair was Dame Wendy Hall) of the coalition Informatics for All, which was formed in 2018; its members are the ACM Europe Council, the CEPIS Education Committee, Informatics Europe, and IFIP.
 * Member of the Digital Council of the Danish Academy of Technical Sciences (ATV), and a member of its Steering Committee for Science & Engineering in Education. (2018-)
 * Special Advisor on Digital Education and Skills to the Executive Vice President of the European Commission, Margrethe Vestager (2022-2023)

The programming process

 * 2007. PhD thesis: Educating Novices in the Skills of Programming
 * 2009. STREAM: A First programming process
 * 2018. Principles of programming education

Indicators of success

 * 2005. An Investigation of potential success factors for an introductory model-driven programming course
 * 2006. Abstraction ability as an indicator of success for learning object-oriented programmings
 * 2007. Mental models and programming aptitude
 * 2008. Optimists have more fun, but do they learn better? On the influence of emotional and social factors on learning introductory computer science
 * 2008. Abstraction ability as an indicator of success for learning computing science?

Exemplary Examples (Example Program Quality)

 * 2007. Beauty and the Beast – Toward a Measurement Framework for Example Program Quality
 * 2015. Beauty and the Beast: on the readability of object-oriented example programs
 * 2008. Evaluating OO example programs for CS1

Informatics for all

 * 2013. Computational Thinking and Practice — A Generic Approach to Computing in Danish High Schools
 * 2014. Model-based thinking and practice: a top-down approach to computational thinking

Failure rates in intro programming

 * 2007. Failure rates in introductory programming
 * 2019. Failure rates in introductory programming: 12 years late

Cognitive load theory in computing education

 * 2007. PhD thesis: Educating Novices in the Skills of Programming
 * 2007. Instructional design of a programming course: a learning theoretic approach