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 https://www.cs.ubc.ca/students/undergrad/courses/choose-your-first-course for more information. Students who have credit for or exemption from APSC 160, CPSC 107 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 its undergraduate website: http://www.cs.ubc.ca/students/undergrad). 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 203 | Programming, Problem Solving, and Algorithms |
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 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 330 | Applied Machine Learning |
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 420 | Advanced Algorithms Design and Analysis |
CPSC 421 | Introduction to Theory of Computing |
CPSC 422 | Intelligent Systems |
CPSC 424 | Geometric Modelling |
CPSC 425 | Computer Vision |
CPSC 427 | Video Game Programming |
CPSC 430 | Computers and Society |
CPSC 436C | Topics in Computer Science - OPERATING SYSTMS |
CPSC 436V | Topics in Computer Science - INFO VISUALIZATN |
CPSC 444 | Advanced Methods for Human Computer Interaction |
CPSC 445 | Algorithms in Bioinformatics |
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 506 | Complexity of Computation |
CPSC 508 | Operating Systems |
CPSC 509 | Programming Language Principles |
CPSC 513 | Introduction to Formal Verification and Analysis |
CPSC 515 | Computational Robotics |
CPSC 521 | Parallel Algorithms and Architectures |
CPSC 522 | Artificial Intelligence II |
CPSC 530L | Topics in Information Processing - AI SOCIAL IMPACT |
CPSC 531F | Topics in Theory of Computation - MODERN ALG ANAL |
CPSC 532C | Topics in Artificial Intelligence - HUMAN-CENTRED AI |
CPSC 532L | Topics in Artificial Intelligence - AI SOCIAL IMPACT |
CPSC 532M | Topics in Artificial Intelligence - INTRO ML AND DM |
CPSC 532P | Topics in Artificial Intelligence - PROB IN SPC AREA |
CPSC 532R | Topics in Artificial Intelligence - VISUAL AI |
CPSC 533R | Topics in Computer Graphics - VISUAL AI |
CPSC 533V | Topics in Computer Graphics - LEARNING TO MOVE |
CPSC 535P | Topics in Simulation and Optimization - DIGITAL HUMANS |
CPSC 536S | Topics in Algorithms and Complexity - SUBMOD OPTIMIZ |
CPSC 539B | Topics in Programming Languages - COMPILER THEORY |
CPSC 540 | Machine Learning |
CPSC 544 | Human Computer Interaction |
CPSC 547 | Information Visualization |
CPSC 549A | Master's Thesis - MASTERS THESIS |
CPSC 549B | Master's Thesis - MASTERS THESIS |
CPSC 554C | Topics in Human-Computer Interaction - HUMAN-CENTRED AI |
CPSC 554K | Topics in Human-Computer Interaction - DFP PROJECT |
CPSC 554X | Topics in Human-Computer Interaction - ML & SIGNALS |
CPSC 554Y | Topics in Human-Computer Interaction - NOVEL INTERFACES |
CPSC 589 | M.Sc. Major Essay |
CPSC 649 | Doctoral Dissertation |