A Scalable Infrastructure for Teaching Concepts of Programming Languages in Scala with WebLab: An Experience Report
In this paper, we report on our experience in teaching a course on concepts of programming languages at TU Delft based on Krishnamurthi’s PAPL book with the definitional interpreter approach using Scala as meta-language and using the WebLab learning management system. In particular, we discuss our experience with encoding of definitional interpreters in Scala using case classes, pattern matching, and recursive functions; offering this material in the web-based learning management system WebLab; automated grading and feedback of interpreter submissions using unit tests; testing tests to force students to formulate tests, instead of just implementing interpreters; generation of tests based on a reference implementation to reduce the effort of producing unit tests; and the construction of a product line of interpreters in order to maximize reuse and consistency between reference implementations.
Presentation slide deck (Scala presentation.pdf) | 690KiB |
Sun 30 Oct Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:40 - 16:05 Talk | Revisiting the Cake Pattern: Scaling “Scalable Component Abstractions” Scala Paolo G. GiarrussoUniversity of Tübingen, Germany, Jonathan Immanuel BrachthäuserUniversity of Tübingen, Germany | ||
16:05 - 16:30 Talk | A Scalable Infrastructure for Teaching Concepts of Programming Languages in Scala with WebLab: An Experience Report Scala Tim van der LippeDelft University of Technology, Netherlands, Thomas SmithDelft University of Technology, Netherlands, Daniel A. A. PelsmaekerDelft University of Technology, Netherlands, Eelco VisserDelft University of Technology, Netherlands DOI File Attached | ||
16:30 - 17:20 Other | Unconference 1 Scala |