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 OctDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:40 - 17:20
|Revisiting the Cake Pattern: Scaling “Scalable Component Abstractions”|
|A Scalable Infrastructure for Teaching Concepts of Programming Languages in Scala with WebLab: An Experience Report|
Tim van der Lippe Delft University of Technology, Netherlands, Thomas Smith Delft University of Technology, Netherlands, Daniel A. A. Pelsmaeker Delft University of Technology, Netherlands, Eelco Visser Delft University of Technology, NetherlandsDOI File Attached