Teaching

LOG3000 – Software Engineering Process

Graduate course, Polytechnique Montréal, Department of Computer and Software Engineering., 2024

Instructor for the LOG3000 Software Engineering Process course. Topics covered include the fundamentals of software engineering processes, the phases of the software lifecycle, development methodologies, requirements engineering, design, implementation, testing, configuration management, and project management.
The course also introduces methods for process representation, empirical analysis of software processes, and techniques for process improvement.

INF2610 – Operating System Kernel

Undergraduate course, Polytechnique Montréal, Department of Computer and Software Engineering, 2024

Instructor for the INF2610 Operating System Kernel course. Topics include operating system structures, process management, synchronization mechanisms, scheduling algorithms, threads, deadlocks, memory management, and real-time systems. The course also explores classical synchronization problems, inter-process communication, and case studies of modern operating system architectures.

INF424 – Agile Methods

Graduate course, Université des Montagnes, Department of Computer Science, 2023

Instructor for the INF424 Agile Methods course. Topics include the Agile Manifesto, agile mindset, agile methodologies such as Scrum and XP, and comparisons between agile development and traditional software development processes.

Teaching Assistant – Software Engineering Courses

Teaching Assistantship, Polytechnique Montréal, Department of Computer and Software Engineering., 2021

Teaching assistant for several software engineering and computer science courses:

  • LOG1410 – Software Analysis and Design
  • LOG2400 – Software Analysis and Design
  • LOG3000 – Software Engineering Process
  • LOG3430 – Software Testing and Validation
  • LOG8371 – Software Quality Engineering
  • LOG8430 – Software Architecture and Advanced Design
  • INF3710 – Files and Databases

INF301 – Computer Architecture

Undergraduate course, Université des Montagnes, Department of Computer Science, 2021

Instructor for the INF301 Computer Architecture course. Topics include computer system design, instruction set architecture, cache organization, virtual memory, input/output interfaces, and multi-core processor systems.

INF306 – Databases

Undergraduate course, Université des Montagnes, Department of Computer Science, 2021

Instructor for the INF306 Databases course. Topics include relational databases, SQL programming, database design, and the fundamentals of database management systems, with practical exercises using MySQL.

INF304 – Geographic Information Systems (GIS)

Undergraduate course, Université des Montagnes, Department of Computer Science, 2021

Instructor for the INF304 Geographic Information Systems course. Topics include spatial data models, coordinate systems, map projections, spatial data analysis, georeferencing, and the use of GIS tools such as QGIS.

INF104 – Introduction to Computer Science

Undergraduate course, Université des Montagnes, Department of Computer Science, 2021

Instructor for the INF104 Introduction to Computer Science course. Topics include computer hardware and software fundamentals, algorithms, data structures, programming concepts, and basic computer organization.

Teaching Assistant

Teaching Assistantship, Université des Montagnes, 2018

Teaching Assistant — 2018–2021 Courses assisted:

  • Introduction to Python Programming
  • Introduction to Information and Communication Technology
  • Introduction to SQL Databases
  • Introduction to Operating Systems
  • Introduction to Computer Maintenance