Teaching

During my previous appointment, I acted as a tutorial helper at Imperial College on theĀ Software Engineering - Design course during the first term and the Software Engineering - Algorithms course during the second term.

Software Engineering - Design (220)

This course covers key areas of software engineering such as object-oriented programming, systems modelling and development, and design patterns.

Software Engineering - Algorithms (202)

This course covers a bunch of data structures and algorithms including:

  • Randomized algorithms
  • String-matching algorithms
  • Dictionary search
  • Advanced graph algorithms
  • Dynamic programming
  • Linear programming
  • Fourier transforms
  • Wavelet transforms

There are two assessed courseworks aiming at implementing in C++ and analysing some algorithms presented in the course.