Search
Prerequisite: consent of Department. Repeatable.
Requires payment of additional student instructional support fees. Refer to the Tuition and Fees page in the University Regulations section of the Calendar.
Requires payment of additional student instructional support fees. Refer to the Tuition and Fees page in the University Regulations section of the Calendar.
Topics of interest to second year Chemical and Materials Engineering students, with special reference to industries in Alberta, including coverage of elements of ethics, equity, indigenization, concepts of sustainable development and environmental stewardship, public and worker safety and health considerations including the context of the Alberta Occupational Health and Safety Act. Offered in a single day during the first week of September. Restricted to students registered in the Department of Chemical and Materials Engineering.
Basic process principles; material and energy balances, transient processes, introduction to computer-aided balance calculations. Prerequisites: ENCMP 100, MATH 102 and CHEM 105. Corequisites: CH E 243 and MATH 209 or equivalent. Credit may not be obtained in this course if previous credit has been obtained for CH E 265.
Basic process principles; material and energy balances, transient processes, introduction to computer-aided balance calculations. Prerequisites: ENCMP 100, MATH 102 and CHEM 105. Corequisites: CH E 243 and MATH 209 or equivalent. Credit may not be obtained in this course if previous credit has been obtained for CH E 265.
Basic process principles; material and energy balances, transient processes, introduction to computer-aided balance calculations. Prerequisites: ENCMP 100, MATH 102 and CHEM 105. Corequisites: CH E 243 and MATH 209 or equivalent. Credit may not be obtained in this course if previous credit has been obtained for CH E 265.
Unit operations employed to concentrate minerals including comminution, classification, gravity concentration, froth flotation, thickening, filtering; tailings disposal; economics.
Projects in Chemical and Materials Engineering. This course is open only to Chemical and Materials Engineering students with a GPA of 3.0 or greater during the previous two academic terms. Variable meeting times. Credit may not be obtained in this course if previous credit has been earned in CH E 458, 459, MAT E 468 or 469. Prerequisite: consent of the Department.
Projects in Chemical and Materials Engineering. This course is open only to Chemical and Materials Engineering students with a GPA of 3.0 or greater during the previous two academic terms. Variable meeting times. Credit may not be obtained in this course if previous credit has been earned in CH E 458, 459, MAT E 468 or 469.Prerequisite: consent of the Department.
Projects in Chemical and Materials Engineering. This course is open only to Chemical and Materials Engineering students with a GPA of 3.0 or greater during the previous two academic terms. Variable meeting times. Credit may not be obtained in this course if previous credit has been earned in CH E 458, 459, MAT E 468 or 469.Prerequisite: consent of the Department.
Projects in Chemical and Materials Engineering. This course is open only to Chemical and Materials Engineering students with a GPA of 3.0 or greater during the previous two academic terms. Variable meeting times. Credit may not be obtained in this course if previous credit has been earned in CH E 458, 459, MAT E 468 or 469. Prerequisite: CME 458 and consent of the Department.
Projects in Chemical and Materials Engineering. This course is open only to Chemical and Materials Engineering students with a GPA of 3.0 or greater during the previous two academic terms. Variable meeting times. Credit may not be obtained in this course if previous credit has been earned in CH E 458, 459, MAT E 468 or 469. Prerequisite: CME 458 and consent of the Department.
Projects in Chemical and Materials Engineering. This course is open only to Chemical and Materials Engineering students with a GPA of 3.0 or greater during the previous two academic terms. Variable meeting times. Credit may not be obtained in this course if previous credit has been earned in CH E 458, 459, MAT E 468 or 469. Prerequisite: CME 458 and consent of the Department.
Physical and chemical preparation of ore feed. Roasting, briquetting, sintering and pelletizing. Leaching processes and chemicals, kinetics of leaching, ion exchange, activated carbon adsorption, solvent extraction and McCabe-Thiele Diagram. Metal recovery from solutions, electrowinning and electrorefining. Furnaces and fuels, refractories, slags and mattes. Reduction of metal compounds, smelting and converting, pyrometallurgical metal refining. Credit may not be obtained in this course if previous credits have been obtained in MAT E 430 and MAT E 332. Prerequisites: CME 265, MAT E 341, or consent of the Department.
Communication and oral presentations. Graded on a pass/fail basis. Prerequisite: 85 units completed or consent of instructor.
Oral presentations. Graded on a pass/fail basis. Prerequisite: 85 units completed or consent of Instructor. Credit may not be obtained in this course if previous credit has been obtained for CH E 481.
Oral presentations. Graded on a pass/fail basis. Prerequisite: 85 units completed or consent of Instructor. Credit may not be obtained in this course if previous credit has been obtained for CH E 481.
Molecular weight distribution and their measurement techniques, polymerization methods, amorphous and semi-crystalline polymers, glass transition, crystallization and melting, rubber elasticity, tensile property, polymer melts and rheology, polymer solutions and blends, case studies of polymer melt and solution processing, examples of environmental impact and recycling. Prerequisites: MAT E 202 and (MAT E 204 or CH E 343).
Oral presentation of technical material. Graded on a pass/fail basis. Prerequisite: CME 481. Credit may not be obtained in this course if previous credit has been obtained for CH E 483.
Treatment of selected chemical and materials engineering special topics of current interest to staff and students.
This course provides an introduction to research methods specific to engineering disciplines. Topics covered include the philosophy of science and engineering, the scientific method, hypothesis-based research, statistical analysis, literature search and review, developing a research plan, research presentation and reporting, and best practices in experimental, theoretical and computational research. Restricted to graduate students in the Faculty of Engineering. Students from departments other than Chemical and Materials Engineering require instructor approval to register.
Multivariate statistics. Process systems engineering objectives: modeling, estimation, monitoring, control, optimization, and their relationship to data analytics. Feature extraction and dimension reduction, clustering, classification, regression. Nonlinear techniques and analysis of dynamic data. Applications of advanced data analytics in chemical process engineering.
This course presents the theory, concepts, tools, and implementation of first-principles based modern atomistic/molecular modeling and computer simulations, and their application across chemistry, physics and different engineering disciplines. It involves modeling isolated and extended/periodic systems, including gas and condensed phase reactions and reaction dynamics.
An advanced treatment of selected chemical and materials engineering topics of current interest to staff and students.
An engineering project for students registered in a Master of Engineering program
An engineering project for students registered in a Master of Engineering program.
An engineering project for students registered in a Master of Engineering program.
An introduction to fundamental concepts in computation, including state, abstraction, generalization, and representation. Introduction to algorithms, logic, number systems, circuits, and other topics in elementary computing science. This course cannot be taken for credit if credit has been obtained in CMPUT 114, 174, 175, 274, 275, or SCI 100, or ENCMP 100. See Note (1) above.
Effective: 2026-09-01 CMPUT 101 - Introduction to Computing
An introduction to fundamental concepts in computation, including state, abstraction, generalization, and representation. Introduction to algorithms, logic, number systems, circuits, and other topics in elementary computing science. This course cannot be taken for credit if credit has been obtained in CMPUT 174, 175, 274, 275, or ENCMP 100.
CMPUT 174 and 175 use a problem-driven approach to introduce the fundamental ideas of Computing Science. Emphasis is on the underlying process behind the solution, independent of programming language or style. Basic notions of state, control flow, data structures, recursion, modularization, and testing are introduced through solving simple problems in a variety of domains such as text analysis, map navigation, game search, simulation, and cryptography. Students learn to program by reading and modifying existing programs as well as writing new ones. No prior programming experience is necessary. Prerequisite: Math 30, 30-1, or 30-2. See Note (1) above. Credit cannot be obtained for CMPUT 174 if credit has already been obtained for CMPUT 274, 275, or ENCMP 100, except with permission of the Department.
Effective: 2026-09-01 CMPUT 174 - Introduction to the Foundations of Computation I
CMPUT 174 and CMPUT 175 use a problem-driven approach to introduce the fundamental ideas of Computing Science. Emphasis is on the underlying process behind the solution, independent of programming language or style. Basic notions of state, control flow, data structures, recursion, modularization, and testing are introduced through solving simple problems in a variety of domains such as text analysis, map navigation, game search, simulation, and cryptography. Students learn to program by reading and modifying existing programs as well as writing new ones. No prior programming experience is necessary. Prerequisite: Math 30, 30-1, or 30-2. Credit cannot be obtained for both CMPUT 174 and CMPUT 274. Credit cannot be obtained for both CMPUT 174 and ENCMP 100.
CMPUT 174 and 175 use a problem-driven approach to introduce the fundamental ideas of Computing Science. Emphasis is on the underlying process behind the solution, independent of programming language or style. Basic notions of state, control flow, data structures, recursion, modularization, and testing are introduced through solving simple problems in a variety of domains such as text analysis, map navigation, game search, simulation, and cryptography. Students learn to program by reading and modifying existing programs as well as writing new ones. No prior programming experience is necessary. Prerequisite: Math 30, 30-1, or 30-2. See Note (1) above. Credit cannot be obtained for CMPUT 174 if credit has already been obtained for CMPUT 274, 275, or ENCMP 100, except with permission of the Department.
Effective: 2026-09-01 CMPUT 174A - Introduction to the Foundations of Computation I
CMPUT 174 and CMPUT 175 use a problem-driven approach to introduce the fundamental ideas of Computing Science. Emphasis is on the underlying process behind the solution, independent of programming language or style. Basic notions of state, control flow, data structures, recursion, modularization, and testing are introduced through solving simple problems in a variety of domains such as text analysis, map navigation, game search, simulation, and cryptography. Students learn to program by reading and modifying existing programs as well as writing new ones. No prior programming experience is necessary. Prerequisite: Math 30, 30-1, or 30-2. Credit cannot be obtained for both CMPUT 174 and CMPUT 274. Credit cannot be obtained for both CMPUT 174 and ENCMP 100.
CMPUT 174 and 175 use a problem-driven approach to introduce the fundamental ideas of Computing Science. Emphasis is on the underlying process behind the solution, independent of programming language or style. Basic notions of state, control flow, data structures, recursion, modularization, and testing are introduced through solving simple problems in a variety of domains such as text analysis, map navigation, game search, simulation, and cryptography. Students learn to program by reading and modifying existing programs as well as writing new ones. No prior programming experience is necessary. Prerequisite: Math 30, 30-1, or 30-2. See Note (1) above. Credit cannot be obtained for CMPUT 174 if credit has already been obtained for CMPUT 274, 275, or ENCMP 100, except with permission of the Department.
Effective: 2026-09-01 CMPUT 174B - Introduction to the Foundations of Computation I
CMPUT 174 and CMPUT 175 use a problem-driven approach to introduce the fundamental ideas of Computing Science. Emphasis is on the underlying process behind the solution, independent of programming language or style. Basic notions of state, control flow, data structures, recursion, modularization, and testing are introduced through solving simple problems in a variety of domains such as text analysis, map navigation, game search, simulation, and cryptography. Students learn to program by reading and modifying existing programs as well as writing new ones. No prior programming experience is necessary. Prerequisite: Math 30, 30-1, or 30-2. Credit cannot be obtained for both CMPUT 174 and CMPUT 274. Credit cannot be obtained for both CMPUT 174 and ENCMP 100.
A continuation of CMPUT 174, revisiting topics of greater depth and complexity. More sophisticated notions such as objects, functional programming, and Abstract Data Types are explored. Various algorithms, including popular searching and sorting algorithms, are studied and compared in terms of time and space efficiency. Upon completion of this two course sequence, students from any discipline should be able to build programs to solve basic problems in their area, and will be prepared to take more advanced Computing Science courses. Prerequisite: CMPUT 174 or SCI 100. Credit cannot be obtained for CMPUT 175 if one already has credit for CMPUT 275, except with permission of the Department.
Effective: 2026-09-01 CMPUT 175 - Introduction to the Foundations of Computation II
A continuation of CMPUT 174, revisiting topics of greater depth and complexity. More sophisticated notions such as objects, functional programming, and Abstract Data Types are explored. Various algorithms, including popular searching and sorting algorithms, are studied and compared in terms of time and space efficiency. Upon completion of this two course sequence, students from any discipline should be able to build programs to solve basic problems in their area, and will be prepared to take more advanced Computing Science courses. Prerequisite: CMPUT 174 or ENCMP 100. Credit cannot be obtained for both CMPUT 175 and CMPUT 275.
Introduction to data acquisition, basic data manipulation (cleaning, outlier detection), analysis (regression, clustering, classification), basic statistics and machine learning tools, information visualization to communicate information from data. Prerequisite: Math 30-1. This course cannot be taken for credit if credit has been obtained in CMPUT 174, 175, 195, 274, 275, or ENCMP 100.
Effective: 2026-09-01 CMPUT 191 - Introduction to Data Science
Introduction to data acquisition, basic data manipulation (cleaning, outlier detection), analysis (regression, clustering, classification), basic statistics and machine learning tools, information visualization to communicate information from data. Prerequisite: Math 30-1 or 30-2. This course cannot be taken for credit if credit has been obtained in CMPUT 174, 175, 195, 274, 275, or ENCMP 100.
This course introduces data science to students with prior computing experience. It covers the basics of data acquisition, manipulation, transformation, and cleaning, as well as data analysis (e.g., regression, clustering, classification) and visualization. Students learn principles and techniques of efficient data-driven communication and decision-making in various domains using industry-standard tools. Credit cannot be obtained for both CMPUT 191 and CMPUT 195. Prerequisite: CMPUT 174 or 274.
Effective: 2026-09-01 CMPUT 195 - Introduction to Principles and Techniques of Data Science
This course introduces data science to students with prior computing experience. It covers the basics of data acquisition, manipulation, transformation, and cleaning, as well as data analysis (e.g., regression, clustering, classification) and visualization. Students learn principles and techniques of efficient data-driven communication and decision-making in various domains using industry-standard tools. Prerequisite: CMPUT 174 or CMPUT 274 or ENCMP 100. Credit cannot be obtained for both CMPUT 191 and CMPUT 195.
This course focuses on ethics issues in Artificial Intelligence (AI) and Data Science (DS). The main themes are privacy, fairness/bias, and explainability in DS. The objectives are to learn how to identify and measure these aspects in outputs of algorithms, and how to build algorithms that correct for these issues. The course will follow a case-studies based approach, where we will examine these aspects by considering real-world case studies for each of these ethics issues. The concepts will be introduced through a humanities perspective by using case studies with an emphasis on a technical treatment including implementation work. Prerequisite: one of CMPUT 191 or 195, or one of CMPUT 174 or 274 and one of STAT 151, 161, 181, 235, 265, SCI 151, MATH 181, or CMPUT 267.
Effective: 2026-09-01 CMPUT 200 - Responsible Data Science and Artificial Intelligence
This course covers the issues of ethics, privacy, algorithmic fairness, explainability and transparency of data and algorithms, and the legal and regulatory frameworks for these issues. The course also includes a module on Indigenous principles in data governance. The objectives are to learn how to identify and measure these aspects in outputs of algorithms, and how to build algorithms that correct for these issues. The course introduces these concepts with real case studies, followed by a technical treatment of the topics. Students will learn and implement basic data science and machine learning methods, and tools and techniques for privacy and mitigation of algorithmic unfairness. Prerequisite: one of CMPUT 191 or 195; or one of CMPUT 174 or 274 or ENCMP 100, and one of STAT 151, 161, 181, 235, 265, SCI 151, or MATH 181.
Introduction to the principles, methods, tools, and practices of the professional programmer. The lectures focus on the fundamental principles of software engineering based on abstract data types and their implementations. The laboratories offer an intensive apprenticeship to the aspiring software developer. Students use C and software development tools of the Unix environment. Prerequisite: CMPUT 175. Credit cannot be obtained for CMPUT 201 if credit has been obtained for CMPUT 275, except with permission of the Department.
Effective: 2026-09-01 CMPUT 201 - Practical Programming Methodology
Introduction to the principles, methods, tools, and practices of the professional programmer. The lectures focus on the fundamental principles of software engineering based on abstract data types and their implementations. The laboratories offer an intensive apprenticeship to the aspiring software developer. Students use C and software development tools of the Unix environment. Prerequisite: CMPUT 175. Credit cannot be obtained for both CMPUT 201 and CMPUT 275.
Effective: 2026-09-01 CMPUT 201 - Practical Programming Methodology
Introduction to the principles, methods, tools, and practices of the professional programmer. The lectures focus on the fundamental principles of software engineering based on abstract data types and their implementations. The laboratories offer an intensive apprenticeship to the aspiring software developer. Students use C and software development tools of the Unix environment. Prerequisite: CMPUT 175. Credit cannot be obtained for both CMPUT 201 and CMPUT 275.
The first of two courses on algorithm design and analysis, with emphasis on fundamentals of searching, sorting, and graph algorithms. Examples include divide and conquer, dynamic programming, greedy methods, backtracking, and local search methods, together with analysis techniques to estimate program efficiency. Prerequisites: CMPUT 175 or 275, and CMPUT 272; and one of MATH 100, 114, 117, 134, 144, or 154.
An introduction to basic digital image processing theory, and the tools that make advanced image manipulation possible for ordinary users. Image processing is important in many applications: editing and processing photographs, special effects for movies, drawing animated characters starting with photographs, analyzing and enhancing remote imagery, and detecting suspects from surveillance cameras. Image processing building blocks and fundamental algorithms of image processing operations are introduced using Python libraries. Prerequisites: one of CMPUT 101, 174, or 274; one of MATH 100, 114, 117, 134, 144, or 154; and one of STAT 151, 161, 181, 235, 265, SCI 151, or MATH 181.
Effective: 2026-09-01 CMPUT 206 - Introduction to Digital Image Processing
An introduction to basic digital image processing theory, and the tools that make advanced image manipulation possible for ordinary users. Image processing is important in many applications: editing and processing photographs, special effects for movies, drawing animated characters starting with photographs, analyzing and enhancing remote imagery, and detecting suspects from surveillance cameras. Image processing building blocks and fundamental algorithms of image processing operations are introduced using Python libraries. Prerequisites: one of CMPUT 101, 174, or 274 or ENCMP 100; one of MATH 100, 114, 117, 134, 144, or 154; and one of STAT 151, 161, 181, 235, 265, SCI 151, or MATH 181.
Number representation, computer architecture and organization, instruction-set architecture, assembly-level programming, procedures, stack frames, memory access through pointers, exception handling, computer arithmetic, floating-point representation, datapath, control logic, pipelining, memory hierarchy, virtual memory. Prerequisite: CMPUT 201 or 275. Credit may be obtained in only one of CMPUT 229, E E 380 or ECE 212.
An interdisciplinary course for students in Science, Arts, and other faculties. The focus is on games as interactive entertainment, their role in society, and how they are made. Teams composed of students with diverse backgrounds (e.g. English, Art and Design, and Computing Science) follow the entire creative process: from concept, through pitch, to delivery, of a short narrative-based game using a commercial game engine. To achieve the required mix of backgrounds and experience, students must apply to be considered for this course. See the Department web site for the online form. Prerequisite: Second-year standing.
The purpose of this course is for students to gain a breadth of understanding of the AI approaches employed in digital games. This involves learning basic topics covered in other AI courses as they apply to digital games and more specialized game AI topics. Assignments will involve programming Game AI algorithms across a variety of areas including pathfinding, decision making, and data science. Prerequisite: CMPUT 174 or 274.
Effective: 2026-09-01 CMPUT 256 - Game Artificial Intelligence
The purpose of this course is for students to gain a breadth of understanding of the AI approaches employed in digital games. This involves learning basic topics covered in other AI courses as they apply to digital games and more specialized game AI topics. Assignments will involve programming Game AI algorithms across a variety of areas including pathfinding, decision making, and data science. Prerequisite: CMPUT 174 or CMPUT 274 or ENCMP 100.
Introduction to artificial intelligence focusing on techniques for building intelligent software systems and agents. Topics include search and problem-solving techniques, knowledge representation and reasoning, reasoning and acting under uncertainty, machine learning and neural networks. Prerequisites: one of STAT 151, 161, 181, 235, 265, SCI 151, or MATH 181. Corequisites: CMPUT 204 or 275. Credit cannot be obtained for CMPUT 261 if credit has already been obtained for CMPUT 366, except with permission of the Department.
Effective: 2026-09-01 CMPUT 261 - Introduction to Artificial Intelligence
Introduction to artificial intelligence focusing on techniques for building intelligent software systems and agents. Topics include search and problem-solving techniques, knowledge representation and reasoning, reasoning and acting under uncertainty, machine learning and neural networks. Prerequisites: one of STAT 151, 161, 181, 235, 265, SCI 151, or MATH 181. Corequisites: CMPUT 204 or 275.
This course introduces the fundamental statistical, mathematical, and computational concepts in analyzing data. The goal for this introductory course is to provide a solid foundation in the mathematics of machine learning, in preparation for more advanced machine learning concepts. The course focuses on univariate models, to simplify some of the mathematics and emphasize some of the underlying concepts in machine learning, including: how should one think about data, how can data be summarized, how models can be estimated from data, what sound estimation principles look like, how generalization is achieved, and how to evaluate the performance of learned models. Prerequisites: CMPUT 174 or 274; one of MATH 100, 114, 117, 134, 144, or 154. Corequisites: CMPUT 175 or 275; CMPUT 272; MATH 102, 125 or 127; one of STAT 151, 161, 181, 235, 265, SCI 151, or MATH 181.
Effective: 2026-09-01 CMPUT 267 - Machine Learning I
This course introduces the fundamental statistical, mathematical, and computational concepts in analyzing data. The goal for this introductory course is to provide a solid foundation in the mathematics of machine learning, in preparation for more advanced machine learning concepts. The course focuses on univariate models, to simplify some of the mathematics and emphasize some of the underlying concepts in machine learning, including: how should one think about data, how can data be summarized, how models can be estimated from data, what sound estimation principles look like, how generalization is achieved, and how to evaluate the performance of learned models. Prerequisites: CMPUT 174 or 274, or ENCMP 100; one of MATH 100, 114, 117, 134, 144, or 154. Corequisites: CMPUT 175 or 275; CMPUT 272; MATH 102, 125, 126, or 127; one of STAT 151, 161, 181, 235, 265, SCI 151, or MATH 181.
An introduction to the tools of set theory, logic, and induction, and their use in the practice of reasoning about algorithms and programs. Basic set theory; the notion of a function; counting; propositional and predicate logic and their proof systems; inductive definitions and proofs by induction; program specification and correctness. Prerequisites: CMPUT 101, 174, 175, 274, SCI 100, or ENCMP 100.
This is part 1 of a 2 sequence intensive problem-based introduction to Computing Science. In part 1, the key concepts of procedural programming, basic algorithm design and analysis (lists, queues, trees, sorting, searching) are learned by solving a series of problems using Python. Development is done using the Linux operating system. Prerequisites: Math 30 or 31. Note: this course is taught in studio-style, where lectures and labs are blended into 3 hour sessions, twice a week. Enrollment is limited by the capacity of the combined lecture/lab facilities. Credit cannot be obtained for CMPUT 274 if one already has credit for any of CMPUT 174, 175, or 201, except with permission of the Department.
Effective: 2026-09-01 CMPUT 274 - Accelerated Introduction to the Foundations of Computation I
This is part 1 of an intensive problem-based introduction to Computing Science. In part 1, the key concepts of procedural programming, basic algorithm design and analysis (lists, queues, trees, sorting, searching) are learned by solving a series of problems using Python. Development is done using the Linux operating system. Prerequisite: Math 30-1. Note: this course is taught in studio-style, where lectures and labs are blended into 3 hour sessions, twice a week. Enrollment is limited by the capacity of the combined lecture/lab facilities. Python or prior computing background is strongly recommended. Credit cannot be obtained for both CMPUT 174 and CMPUT 274. Credit cannot be obtained for both CMPUT 175 and CMPUT 274.
Effective: 2026-09-01 CMPUT 274 - Accelerated Introduction to the Foundations of Computation I
This is part 1 of an intensive problem-based introduction to Computing Science. In part 1, the key concepts of procedural programming, basic algorithm design and analysis (lists, queues, trees, sorting, searching) are learned by solving a series of problems using Python. Development is done using the Linux operating system. Prerequisite: Math 30-1. Note: this course is taught in studio-style, where lectures and labs are blended into 3 hour sessions, twice a week. Enrollment is limited by the capacity of the combined lecture/lab facilities. Python or prior computing background is strongly recommended. Credit cannot be obtained for both CMPUT 174 and CMPUT 274. Credit cannot be obtained for both CMPUT 175 and CMPUT 274.
This is part 2 of a 2 sequence intensive introduction to Computing Science. Part 2 expands to add object-oriented programming, with C++, and more complex algorithms and data structures such as shortest paths in graphs; divide and conquer and dynamic programming; client-server style computing; and recursion. Prerequisite: CMPUT 274. Note: this course is taught in studio-style, where lectures and labs are blended into 3 hour sessions, twice a week. Enrollment is limited by the capacity of the combined lecture/lab facilities. Credit cannot be obtained for CMPUT 275 if one already has credit for any of CMPUT 174, 175, or 201, except with permission of the Department.
Effective: 2026-09-01 CMPUT 275 - Accelerated Introduction to the Foundations of Computation II
This is part 2 of an intensive introduction to Computing Science. Part 2 expands to add object-oriented programming, with C++, and more complex algorithms and data structures such as shortest paths in graphs; divide and conquer and dynamic programming; and recursion. Prerequisite: CMPUT 274. Note: this course is taught in studio-style, where lectures and labs are blended into 3 hour sessions, twice a week. Enrollment is limited by the capacity of the combined lecture/lab facilities. Credit cannot be obtained for both CMPUT 175 and CMPUT 275. Credit cannot be obtained for both CMPUT 201 and CMPUT 275.
Effective: 2026-09-01 CMPUT 275 - Accelerated Introduction to the Foundations of Computation II
This is part 2 of an intensive introduction to Computing Science. Part 2 expands to add object-oriented programming, with C++, and more complex algorithms and data structures such as shortest paths in graphs; divide and conquer and dynamic programming; and recursion. Prerequisite: CMPUT 274. Note: this course is taught in studio-style, where lectures and labs are blended into 3 hour sessions, twice a week. Enrollment is limited by the capacity of the combined lecture/lab facilities. Credit cannot be obtained for both CMPUT 175 and CMPUT 275. Credit cannot be obtained for both CMPUT 201 and CMPUT 275.
Basic concepts in computer data organization and information processing; entity-relationship model; relational model; SQL and other relational query languages; storage architecture; physical organization of data; access methods for relational data. Programming experience (e.g., Python) is required for the course project. Prerequisites: CMPUT 175 or 274, and 272. Corequisite: one of CMPUT 201 or 275.
Effective: 2026-09-01 CMPUT 291 - Introduction to File and Database Management
Basic concepts in computer data organization and information processing; entity-relationship model; relational model; SQL and other relational query languages; storage architecture; physical organization of data; access methods for relational data. Programming experience (e.g., Python) is required for the course project. Prerequisites: CMPUT 175 or 274, and 272. Corequisite: one of CMPUT 201 or 275. Credit may be obtained in only one of CMPUT 291, BTM 415, or MIS 415.
Effective: 2026-09-01 CMPUT 291 - Introduction to File and Database Management
Basic concepts in computer data organization and information processing; entity-relationship model; relational model; SQL and other relational query languages; storage architecture; physical organization of data; access methods for relational data. Programming experience (e.g., Python) is required for the course project. Prerequisites: CMPUT 175 or 274, and 272. Corequisite: one of CMPUT 201 or 275. Credit may be obtained in only one of CMPUT 291, BTM 415, or MIS 415.
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 296 - 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 296A - 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 296B - 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 297 - 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.
Effective: 2026-09-01 CMPUT 297 - 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 297A - 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.
Effective: 2026-09-01 CMPUT 297A - 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 297B - 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.
Effective: 2026-09-01 CMPUT 297B - 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 298 - 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 298A - 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 298B - 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 299 - 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 299A - 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 299B - 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.