Search
This topics course is designed for new course offerings that may be offered in a given term. Prerequisites are determined by the instructor in the course outline. See Note (3) above.
Effective: 2026-09-01 CMPUT 496A - Topics in Computing Science
This topics course is designed for new course offerings that may be offered in a given term. Prerequisites for each section may differ and are defined by the instructor in the course outline.
This topics course is designed for new course offerings that may be offered in a given term. Prerequisites are determined by the instructor in the course outline. See Note (3) above.
Effective: 2026-09-01 CMPUT 496B - Topics in Computing Science
This topics course is designed for new course offerings that may be offered in a given term. Prerequisites for each section may differ and are defined by the instructor in the course outline.
This topics course is designed for new course offerings that may be offered in a given term. Prerequisites are determined by the instructor in the course outline. See Note (3) above.
Effective: 2026-09-01 CMPUT 497 - Topics in Computing Science
This topics course is designed for new course offerings that may be offered in a given term. Prerequisites for each section may differ and are defined by the instructor in the course outline.
This topics course is designed for new course offerings that may be offered in a given term. Prerequisites are determined by the instructor in the course outline. See Note (3) above.
Effective: 2026-09-01 CMPUT 497A - Topics in Computing Science
This topics course is designed for new course offerings that may be offered in a given term. Prerequisites for each section may differ and are defined by the instructor in the course outline.
This topics course is designed for new course offerings that may be offered in a given term. Prerequisites are determined by the instructor in the course outline. See Note (3) above.
Effective: 2026-09-01 CMPUT 497B - Topics in Computing Science
This topics course is designed for new course offerings that may be offered in a given term. Prerequisites for each section may differ and are defined by the instructor in the course outline.
This topics course is designed for new course offerings that may be offered in a given term. Prerequisites are determined by the instructor in the course outline. See Note (3) above.
Effective: 2026-09-01 CMPUT 498 - Topics in Computing Science
This topics course is designed for new course offerings that may be offered in a given term. Prerequisites for each section may differ and are defined by the instructor in the course outline.
This topics course is designed for new course offerings that may be offered in a given term. Prerequisites are determined by the instructor in the course outline. See Note (3) above.
Effective: 2026-09-01 CMPUT 498A - Topics in Computing Science
This topics course is designed for new course offerings that may be offered in a given term. Prerequisites for each section may differ and are defined by the instructor in the course outline.
This topics course is designed for new course offerings that may be offered in a given term. Prerequisites are determined by the instructor in the course outline. See Note (3) above.
Effective: 2026-09-01 CMPUT 498B - Topics in Computing Science
This topics course is designed for new course offerings that may be offered in a given term. Prerequisites for each section may differ and are defined by the instructor in the course outline.
This topics course is designed for a one on one individual study course between a student and an instructor. Prerequisites are determined by the instructor in the course outline. See Note (3) above.
Effective: 2026-09-01 CMPUT 499 - Topics in Computing Science
This topics course is designed for a one on one individual study course between a student and an instructor. Prerequisites for each section may differ and are defined by the instructor in the course outline.
This topics course is designed for a one on one individual study course between a student and an instructor. Prerequisites are determined by the instructor in the course outline. See Note (3) above.
Effective: 2026-09-01 CMPUT 499A - Topics in Computing Science
This topics course is designed for a one on one individual study course between a student and an instructor. Prerequisites for each section may differ and are defined by the instructor in the course outline.
This topics course is designed for a one on one individual study course between a student and an instructor. Prerequisites are determined by the instructor in the course outline. See Note (3) above.
Effective: 2026-09-01 CMPUT 499B - Topics in Computing Science
This topics course is designed for a one on one individual study course between a student and an instructor. Prerequisites for each section may differ and are defined by the instructor in the course outline.
Software quality issues are covered. Various types of software testing, ranging from unit testing to integration testing are discussed. Processes to ensure quality, such as reviews and continuous integration, are introduced. State-of-the-art software quality tools that analyze different artifacts within the software lifecycle are described. Credit cannot be obtained for both CMPUT 402 and 502.
2D and 3D transformation; 3D modeling and viewing; illumination models and shading methods; texture mapping; ray tracing. Credit cannot be obtained for both CMPUT 411 and 511.
2D and 3D transformation; 3D modeling and viewing; illumination models and shading methods; texture mapping; ray tracing. Credit cannot be obtained for both CMPUT 411 and 511.
2D and 3D transformation; 3D modeling and viewing; illumination models and shading methods; texture mapping; ray tracing. Credit cannot be obtained for both CMPUT 411 and 511.
A project-based course dealing with the design and implementation of mobile robots to accomplish specific tasks. Students work in groups and are introduced to concepts in sensor technologies, sensor data processing, motion control based on feedback and real-time programming. Credit cannot be obtained for both CMPUT 412 and 512.
A discussion of computer system design concepts with stress on modern ideas that have shaped the high-performance architecture of contemporary systems. Instruction sets, pipelining, instruction-level parallelism, register reuse, branch prediction, CPU control, cache-coherence, accelerators, and related concepts. Memory technologies, caches, I/O, high-performance networks. Credit cannot be obtained for both CMPUT 429 and 529.
Natural language processing (NLP) is a subfield of artificial intelligence concerned with the interactions between computers and human languages. This course is an introduction to NLP, with the emphasis on writing programs to process and analyze text corpora. The course covers both foundational aspects and applications of NLP. The course aims at a balance between classical and statistical methods for NLP, including methods based on machine learning. In this course, students will clean or otherwise pre-process natural language corpora; develop natural language processing tools; integrate existing tools into an analysis task; and apply computational methods to natural language artefacts to extract information, classify the language within the artefact, identify relationships among artefacts, or identify relationships among elements within an artefact. Credit cannot be obtained for both CMPUT 461 and 561.
Probabilistic graphical models (PGMs; including Bayesian Belief Nets, Markov Random Fields, etc.) now contribute significantly to many areas, including expert systems, computer perception (vision and speech), natural language interpretation, automated decision making, and robotics. This course provides an introduction to this field, describing semantics, inference and learning, as well as practical applications of these systems. Programming assignments will include hands-on experiments with various reasoning systems. Credit cannot be obtained for both CMPUT 463 and 563.
Probabilistic graphical models (PGMs; including Bayesian Belief Nets, Markov Random Fields, etc.) now contribute significantly to many areas, including expert systems, computer perception (vision and speech), natural language interpretation, automated decision making, and robotics. This course provides an introduction to this field, describing semantics, inference and learning, as well as practical applications of these systems. Programming assignments will include hands-on experiments with various reasoning systems. Credit cannot be obtained for both CMPUT 463 and 563.
Probabilistic graphical models (PGMs; including Bayesian Belief Nets, Markov Random Fields, etc.) now contribute significantly to many areas, including expert systems, computer perception (vision and speech), natural language interpretation, automated decision making, and robotics. This course provides an introduction to this field, describing semantics, inference and learning, as well as practical applications of these systems. Programming assignments will include hands-on experiments with various reasoning systems. Credit cannot be obtained for both CMPUT 463 and 563.
Learning is essential for many real-world tasks, including recognition, diagnosis, forecasting and data-mining. This course provides a broad overview of topics in machine learning, from foundational methods for regression, classification and dimensionality reduction to more complex modeling with neural networks. It will also provide the formal foundations for understanding when learning is possible and practical. Credit cannot be obtained for both CMPUT 466 and 566.
Learning is essential for many real-world tasks, including recognition, diagnosis, forecasting and data-mining. This course provides a broad overview of topics in machine learning, from foundational methods for regression, classification and dimensionality reduction to more complex modeling with neural networks. It will also provide the formal foundations for understanding when learning is possible and practical. Credit cannot be obtained for both CMPUT 466 and 566.
Learning is essential for many real-world tasks, including recognition, diagnosis, forecasting and data-mining. This course provides a broad overview of topics in machine learning, from foundational methods for regression, classification and dimensionality reduction to more complex modeling with neural networks. It will also provide the formal foundations for understanding when learning is possible and practical. Credit cannot be obtained for both CMPUT 466 and 566.
This course expands on machine learning fundamentals with a focus on extending to nonlinear modeling with neural networks and higher-dimensional data. Topics include: optimization approaches (constrained optimization, hessians, matrix solutions), deep learning and neural networks, generative models, more advanced methods for assessing generalization (cross-validation, bootstrapping), introduction to non-iid data and missing data. Credit cannot be obtained for both CMPUT 467 and 567 or CMPUT 367 and 567.
This course provides information and resources on teaching and research methods in computing science, and also gives an overview of the research done by faculty in the department. Ethics and professional development are included in this course. Required for all graduate students.