Weekly lectures and exercises plus 2 mini projects. In the exercises (and the associated homework exercises) you learn to test and design functional programs in Scala, with a particular emphasis on API and library design. The lectures provide an overarching reflection over the patterns and techniques used, as well as they prepare you for solving the exercises. However most time is spent on small practical exercises and projects, resembling the exam questions
Training building solutions based on research happens by reading research papers and implementing programs based on them.
We use the study of the paper on Lenses to experience mathematical modeling and formal reasoning about practical programming tasks.
Duration of exam: 4 hours
The same set of questions as for professional Master students, plus additional one concerning the intened learning outcome: "Design and implement solutions using lenses, reason about lenses"