Notional Machines and Programming Language Semantics in Education: Report from Dagstuhl Seminar 19281

Loading...
Thumbnail Image

Access rights

openAccess
publishedVersion

URL

Journal Title

Journal ISSN

Volume Title

Commissioned report

Authors

Date

2019

Major/Subject

Mcode

Degree programme

Language

en

Pages

23

Series

Dagstuhl Reports ; Volume 9, 7

Abstract

A formal semantics of a language serves many purposes. It can help debug the language’s design, be used to prove type soundness, and guide optimizers to confirm that their work is correctness-preserving. Formal semantics are evaluated by several criteria: full abstraction, adequacy, soundness and completeness, faithfulness to an underlying implementation, and so on. Unfortunately, we know relatively little about how non-experts, such as students, actually employ a semantics. Which models are they able to grasp? How useful are these as they explain or debug programs? How does their use of models evolve with the kinds of programs they write? And does studying these kinds of questions yield any new insights into forms of semantics? This Dagstuhl Seminar intended to bridge this gap. It brought together representatives of the two communities-who usually travel in non-intersecting circles-to enable mutual understanding and cross-pollination. The Programming Languages community uses mathematics and focuses on formal results; the Computing Education Research community uses social science methods and focuses on the impact on humans. Neither is superior: both are needed to arrive at a comprehensive solution to creating tools for learning.

Description

Keywords

Other note

Citation

Guzdial, M, Krishnamurthi, S, Sorva, J & Vahrenhold, J (eds) 2019, Notional Machines and Programming Language Semantics in Education : Report from Dagstuhl Seminar 19281 . Dagstuhl Reports, no. 7, vol. 9, Schloss Dagstuhl - Leibniz-Zentrum für Informatik . https://doi.org/10.4230/DagRep.9.7.1