https://www.dagstuhl.de/19281

July 7 – 12 , 2019, Dagstuhl Seminar 19281

Notional Machines and Programming Language Semantics in Education

Organizers

Mark 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)

For support, please contact

Dagstuhl Service Team

Documents

Dagstuhl Report, Volume 9, Issue 7 Dagstuhl Report
Aims & Scope
List of Participants
Shared Documents

Press Room

Summary

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

Classification

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

Keywords

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

Documentation

In the series Dagstuhl Reports each Dagstuhl Seminar and Dagstuhl Perspectives Workshop is documented. The seminar organizers, in cooperation with the collector, prepare a report that includes contributions from the participants' talks together with a summary of the seminar.

 

Download overview leaflet (PDF).

Publications

Furthermore, a comprehensive peer-reviewed collection of research papers can be published in the series Dagstuhl Follow-Ups.

Dagstuhl's Impact

Please inform us when a publication was published as a result from your seminar. These publications are listed in the category Dagstuhl's Impact and are presented on a special shelf on the ground floor of the library.