Courses
Coordination and Component Composition (Spring 2014)
- May 3, 2014: Verification of Reo - presentation [PDF], examples [ZIP]
Concepts of Programming Languages (Fall 2011-2012, Leiden University)

The course "Concepts of Programming Languages" is a course for the BSc. Computer Science year 2.
Software Engineering (Fall 2011, Leiden University)
The course "Software Engineering" is a 7 ECTS / level 200 course for the BSc. Computer Science year 2 for which I am the main lecturer. The link to the course web page is here here>>
Course synopsis

Software systems are typically built over a longer period of time (couple of years) with a constantly changing mix of people (both number of people and skill set) as well as with constantly changing requirements. This results in quite some challenges with respect to management, maintenance, and stability of the software system. In the course "Software Engineering", we will look at methods and techniques needed to for designing and building these software systems. We therefore assume that you have already some practical knowledge in programming. As part of this course we will discuss:
- development processes (incremental, iterative)
- system modeling using UML
- system architecting and design
- quality of sofware
- software maintenance
- software reuse, component-based and service-oriented systems
- managing software projects (estimation, risk)
- empirical research methods in software engineering