Language Transformations in the Classroom

08/24/2021
by   Matteo Cimini, et al.
0

Language transformations are algorithms that take a language specification in input, and return the language specification modified. Language transformations are useful for automatically adding features such as subtyping to programming languages (PLs), and for automatically deriving abstract machines. In this paper, we set forth the thesis that teaching programming languages features with the help of language transformations, in addition to the planned material, can be beneficial for students to help them deepen their understanding of the features being taught. We have conducted a study on integrating language transformations into an undergraduate PL course. We describe our study, the material that we have taught, and the exam submitted to students, and we present the results from this study. Although we refrain from drawing general conclusions on the effectiveness of language transformations, this paper offers encouraging data. We also offer this paper to inspire similar studies.

READ FULL TEXT

page 1

page 2

page 3

page 4

04/14/2019

From Theory to Systems: A Grounded Approach to Programming Language Education

I present a new approach to teaching a graduate-level programming langua...
04/02/2021

Catalogs of C and Python Antipatterns by CS1 Students

Understanding students' programming misconceptions is critical. Doing so...
12/04/2017

Layer by layer - Combining Monads

We develop a method to incrementally construct programming languages. Ou...
07/26/2022

Design of Classes I

The use of functional programming languages in the first programming cou...
07/14/2017

Incremental Parametric Syntax for Multi-Language Transformation

We present a new approach for building source-to-source transformations ...
02/22/2019

Optimizing Space of Parallel Processes

This paper is a contribution to exploring and analyzing space-improvemen...
01/07/2020

Retentive Lenses

Based on Foster et al.'s lenses, various bidirectional programming langu...