Course Notes

Group Theory
Groups, subgroups, homomorphisms. Symmetry groups. Matrix groups. Permutations, symmetric group, Cayley's Theorem. Group actions. Cosets and Lagrange's Theorem. Normal subgroups, quotient groups, isomorphism theorems. Direct and semidirect products. Finite Abelian groups.
COMPLETE
PROOFED
View Notes
Graph Theory
Graphs, paths and cycles, trees, planarity and duality, coloring problems, digraphs, matching problems, matroid theory.
COMPLETE
PROOFED
View Notes
Non-Procedural Programming Languages
A study of the theory, run-time structure, and implementation of selected non-procedural programming languages. Languages will be selected from the domains of functional, and logic-based languages.
COMPLETE
PROOFED
View Notes
Machine Learning I
This course introduces the fundamental statistical, mathematical, and computational concepts in analyzing data. The goal for this introductory course is to provide a solid foundation in the mathematics of machine learning, in preparation for more advanced machine learning concepts. The course focuses on univariate models, to simplify some of the mathematics and emphasize some of the underlying concepts in machine learning, including: how should one think about data, how can data be summarized, how models can be estimated from data, what sound estimation principles look like, how generalization is achieved, and how to evaluate the performance of learned models
COMPLETE
PROOFED
View Notes
Coding Theory
Elements of group theory, cosets, Lagrange's theorem, binary group codes, polynomials, finite field theory, error correcting codes.
COMPLETE
PROOFED
View Notes
Formal Languages Automata and Computability
Formal grammars; relationship between grammars and automata; regular expressions; finite state machines; pushdown automata; Turing machines; computability; the halting problem; time and space complexity.
COMPLETE
PROOFED
View Notes
Probability and Statistics I
Sample space, events, combinatorial probability, conditional probability, independent events, Bayes Theorem, random variables, discrete random variables, expected values, moment generating function, inequalities, continuous distributions, multivariate distributions, independence.
COMPLETE
PROOFED
View Notes
Honours Linear Algebra II
Quotients and direct sums. Cayley-Hamilton. Canonical Forms (diagonal and Jordan). Real and Complex inner product spaces : orthogonality, singular value decomposition. Introduction to abstract algebra : groups, rings, and modules. Homomorphisms.
COMPLETE
MOSTLY PROOFED
View Notes
Algorithms I
The first of two courses on algorithm design and analysis, with emphasis on fundamentals of searching, sorting, and graph algorithms. Examples include divide and conquer, dynamic programming, greedy methods, backtracking, and local search methods, together with analysis techniques to estimate program efficiency
COMPLETE
DRAFT
View Notes
Rings and Modules
Rings, fields, polynomials, algebras. Homomorphisms, ideals, quotients. Ring extensions, field extensions, construction of finite fields. Integral domains: Euclidean, principal ideal, unique factorization. Chain conditions. Introduction to modules. Modules over a principal ideal domain, finitely generated abelian groups, matrix canonical forms.
INCOMPLETE
PROOFED
View Notes
Multivariable Calculus (Khan Academy)
Multivariable and Vector Calculus
INCOMPLETE
PROOFED
View Notes
Computer Architecture I
Number representation, computer architecture and organization, instruction-set architecture, assembly-level programming, procedures, stack frames, memory access through pointers, exception handling, computer arithmetic, floating-point representation, datapath, control logic, pipelining, memory hierarchy, virtual memory.
INCOMPLETE
USABLE
View Notes
Operating System Concepts
Introduction to the structure, components, and concepts behind modern general-purpose operating systems. Processes: process state transitions; operations on processes; interrupt processing; multiprocessor considerations; resource allocation; synchronization; critical sections and events; semaphores; deadlock: avoidance, detection, and recovery; memory management; virtual memory; paging and segmentation; page replacement strategies; working sets; demand paging; process scheduling; scheduling algorithms; file system functions; file organization; space allocation; virtual machines.
INCOMPLETE
USABLE
View Notes
Compiler Design
Compilers, interpreters, lexical analysis, syntax analysis, syntax- directed translation, symbol tables, type checking, flow analysis, code generation, code optimization.
INCOMPLETE
USABLE
View Notes