Course Reviews Database

Here you can find a collection of course reviews and descriptions from UBC students and TAs, sorted by year. Some have been sourced from Reddit and student websites. Students who are interested in contributing may edit the page with the “Edit on Github” link or fill the form to create a Github issue that will be reviewed by an officer.

NOTE: These reviews and descriptions are here as reference ONLY. Course content vary from year to year, so any materials on this website might be out of date. We are not responsible for any mistakes in the reviews and descriptions provided herein; however, we will accept notifications as such so we can place appropriate notices.

Prerequites graph for CS courses (Source)

CPSC 100Computational Thinking0
CPSC 103Introduction to Systematic Program Design0
CPSC 107Systematic Program Design0
CPSC 110Computation, Programs, and Programming8
CPSC 121Models of Computation10
CPSC 203Programming, Problem Solving, and Algorithms0
CPSC 210Software Construction6
CPSC 213Introduction to Computer Systems3
CPSC 221Basic Algorithms and Data Structures4
CPSC 259Data Structures and Algorithms for Electrical Engineers0
CPSC 298Co-operative Work Placement I (CS Co-ops)0
CPSC 302Numerical Computation for Algebraic Problems0
CPSC 303Numerical Approximation and Discretization0
CPSC 304Introduction to Relational Databases5
CPSC 310Introduction to Software Engineering6
CPSC 311Definition of Programming Languages4
CPSC 312Functional and Logic Programming2
CPSC 313Computer Hardware and Operating Systems4
CPSC 314Computer Graphics1
CPSC 317Internet Computing8
CPSC 319Software Engineering Project1
CPSC 320Intermediate Algorithm Design and Analysis5
CPSC 322Introduction to Artificial Intelligence0
CPSC 330Applied Machine Learning1
CPSC 340Machine Learning and Data Mining3
CPSC 344Introduction to Human Computer Interaction Methods0
CPSC 349Honours Research Seminar0
CPSC 368Databases in Data Science0
CPSC 402Numerical Linear Algebra0
CPSC 404Advanced Relational Databases2
CPSC 406Computational Optimization1
CPSC 410Advanced Software Engineering0
CPSC 411Introduction to Compiler Construction1
CPSC 415Advanced Operating Systems1
CPSC 416Distributed Systems2
CPSC 417Computer Networking0
CPSC 418Parallel Computation0
CPSC 420Advanced Algorithms Design and Analysis0
CPSC 421Introduction to Theory of Computing1
CPSC 422Intelligent Systems1
CPSC 424Geometric Modelling0
CPSC 425Computer Vision1
CPSC 426Computer Animation0
CPSC 430Computers and Society1
CPSC 436Topics in Computer Science (All)2
CPSC 440Advanced Machine Learning0
CPSC 444Advanced Methods for Human Computer Interaction0
CPSC 445Algorithms in Bioinformatics0
CPSC 448Directed Studies in Computer Science (All)1
CPSC 449Honours Thesis0
CPSC 491Interactive Digital Media Practicum0
CPSC 504Data Management0
CPSC 507Software Engineering0
CPSC 508Operating Systems0
CPSC 509Programming Language Principles0
CPSC 516Computational Geometry0
CPSC 521Parallel Algorithms and Architectures0
CPSC 532Topics in Artificial Intelligence (All)0
CPSC 533Topics in Computer Graphics (All)0
CPSC 534Topics in Data Management0
CPSC 536Topics in Algorithms and Complexity (All)0
CPSC 538Topics in Computer Systems (All)0
CPSC 539Topics in Programming Languages0
CPSC 540Machine Learning0
CPSC 543Physical User Interface Design and Evaluation0
CPSC 544Human Computer Interaction0
CPSC 545Algorithms for Bioinformatics0
CPSC 547Information Visualization0
CPSC 549Master's Thesis (All)0
CPSC 554Topics in Human-Computer Interaction0
CPSC 589M.Sc. Major Essay0
CPSC 649Doctoral Dissertation0