[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).