14 week semester containing approximately 24 hours of lectures, 20 hours of exercises and project supervision. The exercises aim at mastering the basics of domain modeling, syntax definition and language implementations in small tasks. You will use Scala and several language design tools from the Eclipse ecosystem in this phase. Most of the learning happens in a project implemented in a 4-person team. In the project, you are training (almost) all intended skills in a process of designing and implementing a modeling language of your choice. You decide which tools and design are appropriate for the task and you account for the design decisions in the project report. You are expected to meet for the supervision meetings during the project. The project part of the course accounts for about 40% of the workload. All the tools used in the course are free for you to use, so we expect you to work on your own computer. Prior experience shows that the MSEN students need more time to address the learning tasks of the first two weeks, as they luck prerequisites (or simply forgot them due to a long time that passed from their bachelor education). This material is studied fast as this is mostly a repetition of the material for MSc students. The MSc students will be learning about internal DSLs early in the course. This will create a week-long break in the course for the MSEN students around week 3. This week will be used by MSEN students to revisit (or learn) the missing prerequisite material.
Duration of oral examination: 40 minutes per student with no preparation time.