Teaching

He has taught the last few years:

  1. Introduction to Computer Science and Telecommunications (Undergraduate core course 1st semester)
    Slides, Lecture Notes, Exercises
  2. Advanced Computer Architecture (Postgraduate course)
  3. Introduction to Cryptography (Undergraduate elective course)
  4. Complexity Theory (Undergraduate core course 1st semester)
  5. Automated Reasoning (Postgraduate course Dept MHFS)
  6. High-Performance Computing (HPC) (Postgraduate course)
  7. History of Computing and Telecommunications (Undergraduate elective course)

Other courses:

  • Logic Design
  • Microprocessors
  • Computer Architecture
  • Operating Systems
  • Logic Programming
  • Artificial Intelligence
  • Games Theory
  • Expert Systems