Print Email Facebook Twitter A scalable infrastructure for teaching concepts of programming languages in Scala with WebLab Title A scalable infrastructure for teaching concepts of programming languages in Scala with WebLab: An experience report Author Van Der Lippe, Tim (Student TU Delft) Smith, Thomas (Student TU Delft) Pelsmaeker, Daniël (Student TU Delft) Visser, Eelco (TU Delft Programming Languages) Date 2016-10-30 Abstract 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. Subject Concepts of programming languagesDefinitional interpretersScalaTeachingTestingWebLab To reference this document use: http://resolver.tudelft.nl/uuid:bab45902-284f-4f6b-9362-be5b3df7ff20 DOI https://doi.org/10.1145/2998392.2998402 Publisher Association for Computing Machinery (ACM), New York ISBN 9781450346481 Source SCALA 2016 - Proceedings of the 2016 7th ACM SIGPLAN Symposium on Scala Event 7th ACM SIGPLAN Symposium on Scala, SCALA 2016, 2016-10-30 → 2016-10-31, Amsterdam, Netherlands Part of collection Institutional Repository Document type conference paper Rights © 2016 Tim Van Der Lippe, Thomas Smith, Daniël Pelsmaeker, Eelco Visser Files PDF scala16main_main24_p_4a5f ... eprint.pdf 386.91 KB Close viewer /islandora/object/uuid:bab45902-284f-4f6b-9362-be5b3df7ff20/datastream/OBJ/view