Save To Worklist
Subject Code - CPSC (Computer Science)

The Department of Computer Science offers several options in first year: CPSC 110 is for students pursuing Computer Science specializations or who plan to take CPSC 210. CPSC 103 targets students desiring an introduction to computing and programming, but with no plans to take further Computer Science courses. CPSC 100 targets students desiring a general introduction to computational thinking with little programming. Consult for more information. Students who have credit for or exemption from APSC 160 or CPSC 110 may not take CPSC 100 or CPSC 103. Students with other computer science transfer credit must consult the department. Students currently registered in CPSC 110 or with Computer Science credit from another institution may not take APSC 160 for credit. Students with sufficient background in the concepts presented in CPSC 110 and an advisor's approval are encouraged to challenge CPSC 110 for credit by taking an examination. Additional fees are charged for some courses. For more information students are advised to contact the Department of Computer Science or visit the Computer Science undergraduate website: For information on credit exclusion between CPSC and other courses, please consult the Faculty of Science Credit Exclusion List.

Course Title
CPSC 100 Computational Thinking
CPSC 103 Introduction to Systematic Program Design
CPSC 107 Systematic Program Design
CPSC 110 Computation, Programs, and Programming
CPSC 121 Models of Computation
CPSC 210 Software Construction
CPSC 213 Introduction to Computer Systems
CPSC 221 Basic Algorithms and Data Structures
CPSC 259 Data Structures and Algorithms for Electrical Engineers
CPSC 261 Basics of Computer Systems
CPSC 298 Co-operative Work Placement I
CPSC 301 Computing in the Life Sciences
CPSC 302 Numerical Computation for Algebraic Problems
CPSC 303 Numerical Approximation and Discretization
CPSC 304 Introduction to Relational Databases
CPSC 310 Introduction to Software Engineering
CPSC 311 Definition of Programming Languages
CPSC 312 Functional and Logic Programming
CPSC 313 Computer Hardware and Operating Systems
CPSC 314 Computer Graphics
CPSC 317 Internet Computing
CPSC 319 Software Engineering Project
CPSC 320 Intermediate Algorithm Design and Analysis
CPSC 322 Introduction to Artificial Intelligence
CPSC 340 Machine Learning and Data Mining
CPSC 344 Introduction to Human Computer Interaction Methods
CPSC 349 Honours Research Seminar
CPSC 404 Advanced Relational Databases
CPSC 406 Computational Optimization
CPSC 410 Advanced Software Engineering
CPSC 411 Introduction to Compiler Construction
CPSC 415 Advanced Operating Systems
CPSC 416 Distributed Systems
CPSC 418 Parallel Computation
CPSC 420 Advanced Algorithms Design and Analysis
CPSC 421 Introduction to Theory of Computing
CPSC 422 Intelligent Systems
CPSC 425 Computer Vision
CPSC 426 Computer Animation
CPSC 430 Computers and Society
CPSC 436D Topics in Computer Science - VIDEO GAME PRGRM
CPSC 444 Advanced Methods for Human Computer Interaction
CPSC 448A Directed Studies in Computer Science - DIRECTED STUDIES
CPSC 448B Directed Studies in Computer Science - DIRECTED STUDIES
CPSC 448C Directed Studies in Computer Science - DIRECTED STUDIES
CPSC 449 Honours Thesis
CPSC 490 Student Directed Seminars
CPSC 491 Interactive Digital Media Practicum
CPSC 500 Fundamentals of Algorithm Design and Analysis
CPSC 501 Theory of Automata, Formal Languages and Computability
CPSC 503 Computational Linguistics I
CPSC 504 Data Management
CPSC 507 Software Engineering
CPSC 508 Operating Systems
CPSC 509 Programming Language Principles
CPSC 513 Introduction to Formal Verification and Analysis
CPSC 521 Parallel Algorithms and Architectures
CPSC 522 Artificial Intelligence II
CPSC 524 Computer Graphics: Modeling
CPSC 530K Topics in Information Processing - DIGITAL LEARNING
CPSC 530L Topics in Information Processing - AI SOCIAL IMPACT
CPSC 531H Topics in Theory of Computation - MACH LRN THEORY
CPSC 532C Topics in Artificial Intelligence - USER-CENTERED AI
CPSC 532L Topics in Artificial Intelligence - AI SOCIAL IMPACT
CPSC 532M Topics in Artificial Intelligence - INTRO ML AND DM
CPSC 532S Topics in Artificial Intelligence - VISION&LANGUAGE
CPSC 532W Topics in Artificial Intelligence - PROB PROG
CPSC 534L Topics in Data Management - SOCIAL & INFO NW
CPSC 535P Topics in Simulation and Optimization - DIGITAL HUMANS
CPSC 536F Topics in Algorithms and Complexity - ALGO GAME THEORY
CPSC 536J Topics in Algorithms and Complexity - APPLIED LIN ALG
CPSC 536S Topics in Algorithms and Complexity - COMB. OPTIMIZ.
CPSC 538B Topics in Computer Systems - DIST. SYSTEMS
CPSC 539B Topics in Programming Languages - COMPILER THEORY
CPSC 539W Topics in Programming Languages - PROB. PROG.
CPSC 540 Machine Learning
CPSC 542F Topics in Numerical Computation - CONVEX OPTIM
CPSC 544 Human Computer Interaction
CPSC 549A Master's Thesis - MASTERS THESIS
CPSC 549B Master's Thesis - MASTERS THESIS
CPSC 554C Topics in Human-Computer Interaction - USER-CENTERED AI
CPSC 554K Topics in Human-Computer Interaction - DFP PROJECT
CPSC 554Y Topics in Human-Computer Interaction - NOVEL INTERFACES
CPSC 589 M.Sc. Major Essay
CPSC 649 Doctoral Dissertation