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 417 | Computer Networking |
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 427 | Video Game Programming |
CPSC 430 | Computers and Society |
CPSC 436V | Topics in Computer Science - INFO VISUALIZATN |
CPSC 440 | Advanced Machine Learning |
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 501 | Theory of Automata, Formal Languages and Computability |
CPSC 503 | Computational Linguistics I |
CPSC 508 | Operating Systems |
CPSC 509 | Programming Language Principles |
CPSC 513 | Introduction to Formal Verification and Analysis |
CPSC 515 | Computational Robotics |
CPSC 531F | Topics in Theory of Computation - ALG METHOD |
CPSC 532P | Topics in Artificial Intelligence - PROB IN SPC AREA |
CPSC 532S | Topics in Artificial Intelligence - VISION&LANGUAGE |
CPSC 532W | Topics in Artificial Intelligence - PROB PROG |
CPSC 533R | Topics in Computer Graphics - VISUAL AI |
CPSC 534L | Topics in Data Management - SOCIAL & INFO NW |
CPSC 535P | Topics in Simulation and Optimization - DIGITAL HUMANS |
CPSC 536M | Topics in Algorithms and Complexity - OPTIM THEORY |
CPSC 538B | Topics in Computer Systems - DIST SYS ABST |
CPSC 539S | Topics in Programming Languages - PROGRAMVERIFIERS |
CPSC 540 | Machine Learning |
CPSC 543 | Physical User Interface Design and Evaluation |
CPSC 544 | Human Computer Interaction |
CPSC 547 | Information Visualization |
CPSC 549A | Master's Thesis - MASTERS THESIS |
CPSC 549B | Master's Thesis - MASTERS THESIS |
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 - AR/VR INTERCTN |
CPSC 589 | M.Sc. Major Essay |
CPSC 649 | Doctoral Dissertation |