Teaching

[2013-2015] Software Engineering and Project Management

Masters, first year

In this course I teach students how to efficiently work as a team to develop a compiler for a small made-up language. Following an agile method (SCRUM), students are to implement good practices such as versioning (SVN, GIT), build automation (Maven), unit testing
(xUnit), continuous integration (jenkins), library indexing (Nexus) and software quality (Sonar).

[2013-2015] Introduction to Web Application Vulnerabilities

Bachelor, graduation year

This course is about introducing Web application vulnerabilities to students, based on the OWASP top 10, such as Cross-Site Scripting or SQL injections. Students have to conduct a manual vulnerability assessment campaign on a dummy Web Application.

[2013-2015] Web Application Security

Distance Education Masters, graduation year

This is the follow-up course. Four vulnerability types are highlighted: Cross-Site Scripting, SQL injections, Cross-Site Request Forgeries, and Broken Authentication and Session Management. Students learn how to detect each vulnerability (manually, with the help of tools such as Burp, and with scanners) along with good measures to avoid developing a vulnerable application.

[2013-2015] Software Testing

Masters, graduation year.

This course is very similar to Software Engineering and Project Management, but with a bigger emphasis on testing. Each students group has to develop a website and has to validate it with unit tests, functional tests (implementing model-based testing) and acceptance tests (Concordion).