Past Course Reserves

These are some of the books that have been used during the past few offerings of the following courses, either as textbooks, other references or course reserves. This list is for your information, but it is not an indication that these items are currently being used or will be used in the future. For ebooks and other editions, please check the ICICS/CS Reading Room catalogue.

Only courses that are being offered in the current term have materials on course reserve. See the list of Current Course Reserves [pdf].

Jump to:
CPSC Undergrad Courses | CPSC Grad Courses | Other Courses


CPSC Undergrad Courses (Computer Science)

CPSC 103 (Introduction to 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 302 (Numerical Computation for Algebraic Problems) &
CPSC 303 (Numerical Approximation and Discretization)

CPSC 304 (Introduction to Relational Databases)

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 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 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)

  • See CPSC 317

CPSC 418 (Parallel Computation)

CPSC 420 (Advanced Algorithms Design and Analysis)

  • See CPSC 320

CPSC 421 (Introduction to Theory of Computing)

CPSC 422 (Intelligent Systems)

  • See CPSC 322

CPSC 425 (Computer Vision)

CPSC 426 (Computer Animation)

CPSC 430 (Computers and Society)

CPSC 436C (Topics in Computer Science - CLOUD COMPUTING)

CPSC 444 (Advanced Methods for Human Computer Interaction)

CPSC 445 (Algorithms in Bioinformatics)


CPSC Graduate Courses (Computer Science)

CPSC 500 (Fundamentals of Algorithm Design and Analysis)

CPSC 501 (Theory of Automata, Formal Languages and Computability)

CPSC 502 (Artificial Intelligence I)

CPSC 503 (Computational Linguistics I)

CPSC 504 (Data Management)

CPSC 505 (Image Understanding I: Image Analysis)

CPSC 509 (Programming Language Principles)

CPSC 515 (Computational Robotics)

CPSC 517 (Sparse Matrix Computation)

CPSC 521 (Parallel Algorithms and Architectures)

CPSC 522 (Artificial Intelligence II)

  • See CPSC 502

CPSC 524 (Computer Graphics: Modeling)

CPSC 525 (Image Understanding II: Scene Analysis)

CPSC 526 (Computer Animation)

CPSC 530P (Topics in Information Processing - SENSORIMOTOR CMP)

CPSC 531H (Topics in Theory of Computation - LEARNING THEORY)

CPSC 532L (Topics in Artificial Intelligence - MULTIAGENT SYS)

CPSC 535P (Topics in Simulation and Optimization - DIGITAL HUMANS)

CPSC 536E (Topics in Algorithms and Complexity - GRAPH DRAWING)

CPSC 536H (Topics in Algorithms and Complexity)

CPSC 538A (Topics in Computer Systems - CONCUR&PARALLEL)

CPSC 538B (Topics in Computer Systems - DISTRIBUTED SYSTEMS)

CPSC 539B (Topics in Programming Languages - DEPENDENT TYPES)

CPSC 540 (Machine Learning)

CPSC 542F (Topics in Numerical Computation: Convex Optimization)

CPSC 542G (Topics in Numerical Computation)

  • See CPSC 302

CPSC 544 (Human Computer Interaction)

CPSC 545 (Algorithms for Bioinformatics)

  • See CPSC 445

CPSC 546 (Numerical Optimization)

CPSC 547 (Information Visualization)

CPSC 554Y (Topics in Human-Computer Interaction - NOVEL INTERFACES)


Other UBC Courses

APSC 160 (Introduction to Computation in Engineering Design)

CPEN 211 (Introduction to Microcomputers)

CPEN 221 (Principles of Software Construction)

CPEN 311 (Digital Systems Design)

CPEN 321 (Software Engineering)

CPEN 333 (System Software Engineering)

CPEN 411 (Computer Architecture)

CPEN 431 (Design of Distributed Software Applications)

CPEN 432 (Real-time System Design)

CPEN 441 (Human Computer Interfaces in Engineering Design)

CPEN 442 (Introduction to Computer Security)

CPEN 481/ELEC 481 (Economic Analysis of Engineering Projects)

CPEN 502 (Architecture for Learning Systems)

CPEN 542 (Cybersecurity)

DSCI 541 (Privacy, Ethics, and Security)

EECE 518 ( Human Interface Technologies)

EECE 527 (Advanced Computer Architecture)

EECE 541 (Multimedia Systems)

EECE 543 (Software Project Management)

EECE 566 (Communication and Information Theory)

EECE 569 (Mobile Communications Networks)

EECE 571D (Electrical Engineering Seminar and Special Problems - DIGITAL COMM SYS)

EECE 571R (Electrical Engineering Seminar and Special Problems - INTRO ROBOTICS)

EECE 571Z (Electrical Engineering Seminar and Special Problems - CONVEX OPTMIZATN)

EECE 592 (Architecture for Learning Systems)

ELEC 221 (Signals and Systems)

  • Signals & systems. 2nd ed. / Oppenheim
    QA 402 O63 1997

ELEC 311 (Electromagnetic Fields and Waves)

ELEC 331 (Computer Communications)

ELEC 341 (Systems and Control)

ELEC 411 (Antennas and Propagation)

ELEC 421 (Digital Signal and Image Processing)