Courses taken at University of Waterloo
Search by course code or name:
Filter by subject:
Filter by term:
Formal logic, propositional calculus, predicate calculus, and computational logic.
Advanced OOP concepts, design patterns, SOLID principles, and software architecture.
Counting methods, generating functions, recurrence relations, and graph theory basics.
Probability distributions, random variables, expectation, and variance.
Study of classical myths and their influence on literature and culture.
Advanced algorithm design, data structures, and complexity analysis.
Software development tools, version control, and development environments.
Advanced calculus including integration, sequences, series, and differential equations.
Systems of linear equations, vector spaces, matrices, and linear transformations.
Understanding the role and impact of music in society and culture.
Interview skills, communication strategies, and professional presentation.
Writing technical reports and professional communication in technical contexts.
First co-operative work term.
Introduction to co-op, career planning, and professional development skills.
Functional programming with Racket, recursion, and data structures.
Limits, continuity, derivatives, and applications of differential calculus.
Abstract algebra, number theory, and mathematical proofs.
Effective communication and public speaking skills.
Introduction to financial accounting principles and financial statements.
Preparation course for university-level mathematics.