Course Materials for Students
Notes and slides I prepare for the courses I assist at Concordia University. Everything here is free to view and download. If a file you are looking for is missing, or you spot an error in one, please let me know.
COMP 339Combinatorics
Tutorial notes covering counting, recurrences, generating functions, and graph-theoretic combinatorics.
- Induction and Strong Induction Lecture NotesPDF
Ordinary and strong induction: how to write the proof, how many base cases you need, and the common mistakes.
- Tutorial 1 Counting NotesPDF
Rules of sum and product, permutations, combinations, arrangements with repeated objects, complements, the gap method, and combinatorial arguments.
- Tutorial 2 Counting Induction NotesPDF
Routes on a road map, identical versus labelled containers, “at least” conditions, stars and bars, and proofs by induction (divisibility, inequalities, sums).
- Tutorial 3 Assignment 1 NotesPDF
Assignment 1, Q1 to 7: books on shelves, round tables, card hands, strings with a fixed composition, the multinomial theorem, binomial sums, and slack variables.
- Tutorial 4 Assignment 1 NotesPDF
Assignment 1, Q8 to 14: positive integer solutions, systems of equations, induction for merge sort and the triangle inequality, Fibonacci identities, ascents, and palindromes.
- Tutorial 5 Assignment 2 NotesPDF
Assignment 2, Q1 to 7: inclusion–exclusion with upper bounds, “exactly m” and “at least m”, glued letters, derangements, generating functions, and compositions of an integer.
- Tutorial 6 Assignment 2 NotesPDF
Assignment 2, Q8 to 14: generating functions for weighted equations and partitions, exponential generating functions, solving recurrences, and combinatorial proofs.
- Graph Theory 1 Lecture NotesPDF
Graph theory basics (Sections 11.1 to 11.3): directed and undirected graphs, trails, paths and cycles, connectivity, subgraphs and complements, graph isomorphism, and vertex degree.
- Tutorial 7 Graph Theory Notes 1PDF
The Handshaking Theorem, complete and regular graphs, Eulerian trails and Euler’s theorem, a lower bound on the edges of a connected graph, bipartite and planar graphs (K5 and K3,3), and forcing a triangle.
SOEN 363Data Systems for Software Engineers
Tutorial slides on relational design, query languages, indexing, transactions, and NoSQL data systems.
- Tutorial: ER Diagrams with draw.ioPDF
Getting started with draw.io: the interface, the course’s ER notation in draw.io, building and styling a diagram step by step, exporting, common mistakes, and a hands-on exercise.