courses
Courses I’ve taken at McGill University
Algorithms & Theory
COMP 252: Honours Algorithms and Data Structures
Honours level course on design and analysis of algorithms and data structures, taught by Luc Devroye. Focus on proving algorithm correctness and analyzing computational complexity. Topics included sorting, graph algorithms, flow networks, dynamic programming, and asymptotic analysis.
COMP 302: Programming Languages and Paradigms
Course on functional and logic programming using OCaml, taught by Brigitte Pientka. Programming language design issues and programming paradigms. Binding and scoping, parameter passing, lambda abstraction, data abstraction, type checking. Implemented RSA key-pair validation and encryption in OCaml, using functional programming techniques for efficiency, as part of the course project.
Systems & Programming
COMP 310: Operating Systems
A study of the design and implementation of modern operating systems, focusing on memory management and process synchronization. Implemented demand paging, job scheduling and shell commands in a mini-OS developed throughout the course.
COMP 273: Introduction to Computer Systems
Learnt about combinational and sequential digital circuits, MIPS Assembly, cache, virtual memory and pipelining. Created a mini CPU with 4 bit instructions as part of the final project.
Artificial Intelligence & Machine Learning
COMP 551: Applied Machine Learning
A mathematical introduction to Machine Learning models.