07. – 12. Juli 2019, Dagstuhl-Seminar 19281

Notional Machines and Programming Language Semantics in Education


Mark J. Guzdial (University of Michigan – Ann Arbor, US)
Shriram Krishnamurthi (Brown University – Providence, US)
Juha Sorva (Aalto University, FI)
Jan Vahrenhold (Universität Münster, DE)

Auskunft zu diesem Dagstuhl-Seminar erteilt

Dagstuhl Service Team


Dagstuhl Report, Volume 9, Issue 7 Dagstuhl Report
Dagstuhl's Impact: Dokumente verfügbar

Press Room

Press Reviews


A formal semantics is often intended as a tool to comprehend the behavior of a language or other system. Semanticists assume, for instance, that programmers can use a semantics to understand how a particular program will behave without being forced to resort to deconstructing the output from a black-box evaluator. Indeed, different semantic models vary in what aspects of program behavior they highlight and suppress.

Every semantics has an intended audience. Formal semantics typically assume a readership with high computing or mathematical sophistication. These therefore make them inappropriate for students new to computing. What forms of description of behavior would be useful to them? In computing education, the term notional machine is often used to refer to a behavior description that is accessibble to beginners.

Our meeting therefore focused on what we know, and what we need to learn, about notional machines. In particular, we studied and discussed:

  • Different formulations of notional machines for a variety of languages.
  • The distinction between a general description of behavior, independent of a specific program, and the explication of behavior of a specific program. We argued for the value of having both the general and the specific, since learners might need to shift between the two.
  • The different forms that a notional machine can take, and their styles: [MARK fill in]
  • The many analogies employed in notional machines, with their respective strengths and weaknesses.
  • The different forms of theories that apply to generating and understanding notional machines, including cognitive and social.
  • Analogies to notional machines in other domains, from models in physics to rulebooks in board games.

We accomplished most of our stated goals: to bring together the semantics and education communities (though with much greater representation from the latter than the former); to create tutorials to educate each on the knowledge and methods of the other; and to formulate interesting examples. While there did not appear to be many long-standing "open questions", and there was not enough time to engage in editing Wikipedia, groups did organized community-wide activities (such as surveys to be conducted at upcoming conferences) and large banks of research questions (which are concrete and valuable outcomes that we had not anticipated). In sum, we believe the seminar successfully accomplished its overall stated goals.

Summary text license
  Creative Commons BY 3.0 Unported license
  Mark Guzdial, Shriram Krishnamurthi, Juha Sorva, and Jan Vahrenhold


  • Programming Languages / Compiler
  • Semantics / Formal Methods
  • Society / Human-computer Interaction


  • Formal semantics
  • Misconceptions
  • Notional machines
  • Computing education research


In der Reihe Dagstuhl Reports werden alle Dagstuhl-Seminare und Dagstuhl-Perspektiven-Workshops dokumentiert. Die Organisatoren stellen zusammen mit dem Collector des Seminars einen Bericht zusammen, der die Beiträge der Autoren zusammenfasst und um eine Zusammenfassung ergänzt.


Download Übersichtsflyer (PDF).

Dagstuhl's Impact

Bitte informieren Sie uns, wenn eine Veröffentlichung ausgehend von Ihrem Seminar entsteht. Derartige Veröffentlichungen werden von uns in der Rubrik Dagstuhl's Impact separat aufgelistet  und im Erdgeschoss der Bibliothek präsentiert.


Es besteht weiterhin die Möglichkeit, eine umfassende Kollektion begutachteter Arbeiten in der Reihe Dagstuhl Follow-Ups zu publizieren.