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.


Mathematical Foundations

MATH 245: Honors Algebra 1

MATH 247: Honors Applied Linear Algebra