Teaching Activities

I have experience in teaching several courses: mainly Software Engineering related courses: (Software Development lifecycle, UML modelling, dealing with software quality (software measurement, metrics), software requirements engineering (definition of software specifications, requirements prioritization methods, etc...) . I have also experience with Empirical Software Engineering (research methods, experimental designs, researching in software evolution, software repository mining). Part of my teaching was also dealing with Java courses at the 2nd and 3rd level: teaching JAVA JDK (Java memory models, calling stacks, advanced development in Java (generics, reflection, etc...)), teaching enterprise Java level frameworks (ORM frameworks such as Hibernate, the Spring framework, etc...), service-oriented frameworks and paradigms (service-oriented architectures and microservices).

Additional activities:

Theses Supervision

I have been supervising the following BSc and MSc theses:

Students' Projects Supervision:

I have been supervising the following MSc Projects: