The TU Delft Software Engineering Research Group in April 2014 group meeting
Desert and coffee at copacabana cafe on Pike Place Market with Dick Kieburtz who is one of the earliest users of Stratego. He's been working on a theorem prover for P logic, which is used for asserting properties of Haskell programs.
WebLab is a web-based learning management system with a focus on programming education.
Traditional programming education has a long feedback cycle with students making assignments in the lab and teaching assistants manually grading (sometimes still on paper) submitted assignments. In addition, the approach requires installation of programming environments on lab machines and/or a wide variety of student's own computers. Finally, exams are typically conducted on paper, making it hard to test programming skills and insight, and again making for a large grading effort.
WebLab provides an all-in-one environment for programming courses. The application is provided as a web service that can be used by instructors and students at any computer with an internet connection.
Students read assignments and write programming solutions directly in the application. Submitted programs are compiled and executed immediately on the server. Solutions are checked for correctness using unit tests, which are reported directly to students. Instructors use the same environment as students to design the course set-up and develop and test assignments. In addition, WebLab supports instructors to do all course administration. Thus, WebLab completely avoids the problem of installing programming environments. By adding support for a programming language to WebLab once, it can be used in all courses by all students.
WebLab assignments can be used during scheduled lab sessions, so that teaching assistants can focus on explaining rather than checking solutions. WebLab can also be used to administer computer-based programming exams. For that purpose, students need to sign in to the exam using a personalized key that is handed out on paper during the exam to verify physical presence in the examination room. Using unit-testing based grading, exam grades can be published on the day of the exam.
WebLab is not custom designed for a single course. It supports flexible design of a course with a tree structured assignment structure with flexible grading schemes for each node in the tree.
The course was first developed for a course on Concepts of Programming languages in the Computer Science bachelor at TU Delft, which is starting its third year of usage. It is also being used by two programming languages courses at TU Darmstadt. In Q3 of 2013-2014 it will be used by two more courses in the TU Delft Computer Science bachelor program.
WebLab was first developed by Eelco Visser and Vlad Vergu.
Last Wednesday, January 29, 2014, Maartje de Jonge successfully defended her thesis "Language-parametric Techniques for Language-Specific Editors"
Abstract: The goal of this dissertation is to develop techniques that simplify the implementation of tool support for new languages. More specifically, we focus on language-parametric solutions for the implementation of language-specific editor support. In the first part of this dissertation we investigate generic techniques to recover from syntax errors that occur during interactive editing. In the second part we look into language-parametric techniques for the implementation of refactoring tools.
Her research is also available through the parse error recovery provided by the Spoofax Language Workbench.