Return to Academic Calendar
Year Course ID Course
2024-2025 CMPT 339

Introduction to Database Management Systems

An introduction to database management systems, overviewing issues related to the design, organization, and management of databases. Topics include logical database design, entity relationship (ER) models, and formal relational query languages such as the Structured Query Language (SQL).

Course Credits: 3
Prerequisite(s): CMPT 166, 231. (3-0)
NB: Not offered every year. See department chair
2025-2026 CMPT 339

Introduction to Database Management Systems

An introduction to database management systems, overviewing issues related to the design, organization, and management of databases. Topics include logical database design, entity relationship (ER) models, and formal relational query languages such as the Structured Query Language (SQL).

Course Credits: 3
NB: Not offered every year. See department chair.
2025-2026 CMPT 340

Discrete Structures & Computing

This is a second course in the topics of pure mathematics, particularly those most commonly used in the study of computing science and related applications. It includes proof techniques, models of computation, formal languages, analysis of algorithms, trees and advanced general graph theory with applications, finite state and automata theory, encryption, and an elementary introduction to mathematical structures such as groups, rings, and fields.

Course Credits: 3
NB: Not offered every year. See department chair.
2024-2025 CMPT 340

Discrete Structures and Computing

This is a second course in the topics of pure mathematics, particularly those most commonly used in the study of computing science and related applications. It includes proof techniques, models of computation, formal languages, analysis of algorithms, trees and advanced general graph theory with applications, finite state and automata theory, encryption, and an elementary introduction to mathematical structures such as groups, rings, and fields.

Course Credits: 3
Prerequisite(s): CMPT 150 or MATH 150.
NB: Not offered every year. See department chair
Cross-listed: MATH 340
2025-2026 CMPT 345

Simulation & Modeling

This course is designed to give students the ability to analyze, formulate, and program problems related to discrete simulation methods. The course introduces students to queuing theory and some commonly used continuous and discrete statistical distributions. By the end of the course, students are able to simulate real world computer systems and industrial manufacturing systems.

Course Credits: 3
2024-2025 CMPT 345

Simulation and Modeling

This course is designed to give students the ability to analyze, formulate, and program problems related to discrete simulation methods. The course introduces students to queuing theory and some commonly used continuous and discrete statistical distributions. By the end of the course, students are able to simulate real world computer systems and industrial manufacturing systems.

Course Credits: 3
Prerequisite(s): CMPT 166 and 231.
2024-2025 CMPT 360

Comparative Programming Languages

The history, development, and design principles for programming notations. The design and internal operations of the major notational categories are examined in detail. Students are expected to become proficient in at least four languages they have not previously learned, typically chosen from historical, modern working, and cutting edge languages and from among such (non-exclusive) categories as Algol-descended, functional, scripting, Web-based, modular, application-specific, visual, and object oriented. They will also learn how to select appropriate programming notations for a given project. Programming will be undertaken in at least three OS environments.

Course Credits: 3
Prerequisite(s): CMPT 140, 166 and 231. (3-0)
NB: Not offered every year. See department chair
2025-2026 CMPT 360

Comparative Programming Languages

The history, development, and design principles for programming notations. The design and internal operations of the major notational categories are examined in detail. Students are expected to become proficient in at least four languages they have not previously learned, typically chosen from historical, modern working, and cutting edge languages and from among such (non-exclusive) categories as Algol-descended, functional, scripting, Web-based, modular, application-specific, visual, and object oriented. They will also learn how to select appropriate programming notations for a given project. Programming will be undertaken in at least three OS environments.

Course Credits: 3
NB: Not offered every year. See department chair.
2024-2025 CMPT 370

Computer Graphics

This course introduces the fundamentals of computer graphics and principles of raster image generation. Topics include: graphics primitives, coordinate systems, transformations, rendering techniques, and geometric modelling.

Course Credits: 3
Prerequisite(s): CMPT 150, 166, 231; MATH 250. (3-0)
NB: Not offered every year. See department chair
2025-2026 CMPT 370

Computer Graphics

This course introduces the fundamentals of computer graphics and principles of raster image generation. Topics include: graphics primitives, coordinate systems, transformations, rendering techniques, and geometric modelling.

Course Credits: 3
NB: Not offered every year. See department chair.
2024-2025 CMPT 375

Human-Computer Interaction Design

This course provides a general introduction to interaction design from a human-computer interaction perspective. Students will learn both theoretical and practical concepts of human-computer interaction which will help them discover requirements, design/prototype and evaluate interactive products with usability and user experience (UX) goals. The course covers human capabilities, design principles, prototyping techniques, implementation, and evaluation techniques for interactive products. Students will apply what they learn from lectures to actual challenges of interactive product design, prototyping, implementation, and evaluation.

Course Credits: 3
Prerequisite(s): CMPT 166, 231 (3,0)
2025-2026 CMPT 375

Human-Computer Interaction Design

This course provides a general introduction to interaction design from a human-computer interaction perspective. Students will learn both theoretical and practical concepts of human-computer interaction which will help them discover requirements, design/prototype and evaluate interactive products with usability and user experience (UX) goals. The course covers human capabilities, design principles, prototyping techniques, implementation, and evaluation techniques for interactive products. Students will apply what they learn from lectures to actual challenges of interactive product design, prototyping, implementation, and evaluation.

Course Credits: 3
2024-2025 CMPT 380

Artificial Intelligence

Artificial Intelligence: knowledge representation, logic programming, knowledge inference. Application domains within the discipline of Artificial Intelligence include logical and probabilistic reasoning, natural language understanding, vision and expert systems.

Course Credits: 3
Prerequisite(s): CMPT 150, 166, 231 (3-0)
NB: Not offered every year. See department chair
2025-2026 CMPT 380

Artificial Intelligence

Artificial Intelligence: knowledge representation, logic programming, knowledge inference. Application domains within the discipline of Artificial Intelligence include logical and probabilistic reasoning, natural language understanding, vision and expert systems.

Course Credits: 3
NB: Not offered every year. See department chair.
2024-2025 CMPT 382

Machine Learning

An overview of core machine learning technologies with motivating applications from a variety of disciplines and real‐world data sets. Students will learn how to implement, evaluate, and improve machine learning algorithms. While studying best practice in machine learning, students are introduced to data mining and statistical pattern recognition and learn how to build automatic analytical models. Topics include identification and extraction of useful features that best represent available data, some of the most important machine learning algorithms, and the evaluation of algorithm performance.

Course Credits: 3
Prerequisite(s): CMPT 166, 231; or with permission of instructor. (3-0)
2025-2026 CMPT 382

Machine Learning

An overview of core machine learning technologies with motivating applications from a variety of disciplines and real‐world data sets. Students will learn how to implement, evaluate, and improve machine learning algorithms. While studying best practice in machine learning, students are introduced to data mining and statistical pattern recognition and learn how to build automatic analytical models. Topics include identification and extraction of useful features that best represent available data, some of the most important machine learning algorithms, and the evaluation of algorithm performance.

Course Credits: 3
2024-2025 CMPT 385

Introduction to Software Engineering

An introduction to the theory of designing and carrying out large software projects. All stages of the software engineering cycle, including requirement analysis, design, implementation, testing, and maintenance will be examined. The student will complete a semester-long team based project.

Course Credits: 3
Prerequisite(s): CMPT 150, 166, and 231. (3-0)
NB: Not offered every year. See department chair
2025-2026 CMPT 385

Introduction to Software Engineering

An introduction to the theory of designing and carrying out large software projects. All stages of the software engineering cycle, including requirement analysis, design, implementation, testing, and maintenance will be examined. The student will complete a semester-long team based project.

Course Credits: 3
NB: Not offered every year. See department chair.
2024-2025 CMPT 386

Software Engineering II

This course will study advanced techniques, tools, and standards in software engineering. The student will complete a semester-long team based project

Course Credits: 3
Prerequisite(s): CMPT 385. (3-0)
NB: Not offered every year.
2025-2026 CMPT 386

Software Engineering II

This course will study advanced techniques, tools, and standards in software engineering. The student will complete a semester-long team based project

Course Credits: 3
NB: Not offered every year.
2024-2025 CMPT 400

Directed Studies in Computing Science

Students are required to produce an outline of the topic studied in consultation with the instructor. A course of reading and/or experimentation is pursued according to the approved outline. Assessment may be via examination and/or a final written report.

Course Credits: 1, 3
Prerequisite(s): Advanced standing in computing science.
NB: This course with the appropriate choice of topics can be used as a preparation for the senior thesis (CMPT 410) or senior project (CMPT 420). This course can only be taken with the consent of the academic computing coordinator.
2025-2026 CMPT 400

Directed Studies in Computing Science

Students are required to produce an outline of the topic studied in consultation with the instructor. A course of reading and/or experimentation is pursued according to the approved outline. Assessment may be via examination and/or a final written report.

Course Credits: 1, 3
NB: This course with the appropriate choice of topics can be used as a preparation for the senior thesis (CMPT 410) or senior project (CMPT 420). This course can only be taken with the consent of the academic computing coordinator.
2024-2025 CMPT 401

Special Topics in Computing Science

A study of special topics or issues in computing science that are not considered in-depth in other courses.

Course Credits: 3
Prerequisite(s): Advanced standing in computing science or instructor's permission.
NB: Not offered every year. Course may be repeated.
2025-2026 CMPT 401

Special Topics in Computing Science

A study of special topics or issues in computing science that are not considered in-depth in other courses.

Course Credits: 3
NB: Not offered every year. Course may be repeated.
2024-2025 CMPT 409

Thesis Preparation

Students are required to choose a topic for their senior thesis (CMPT 410 or 411) in consultation with an instructor. Selected readings and references pertinent to the topic are assigned. A final written report is presented, consisting of a detailed thesis proposal and a literature review.

Course Credits: 1
Prerequisite(s): Advanced standing in computing science or instructor's consent.
NB: A student is allowed credit for only one of CMPT 409 or 419.
2025-2026 CMPT 409

Thesis Preparation

Students are required to choose a topic for their senior thesis (CMPT 410 or 411) in consultation with an instructor. Selected readings and references pertinent to the topic are assigned. A final written report is presented, consisting of a detailed thesis proposal and a literature review.

Course Credits: 1
NB: A student is allowed credit for only one of CMPT 409 or 419.
2024-2025 CMPT 410

Senior Thesis

Students research a chosen area of computing science and provide a final written report.

Course Credits: 2
Prerequisite(s): CMPT 409, a related directed study in preparation, or instructor's consent.
NB: Normally 2 sem. hrs. are assigned unless prior arrangement is made with the department chair and registrar.
2025-2026 CMPT 410

Senior Thesis

Students research a chosen area of computing science and provide a final written report.

Course Credits: 2
NB: Normally 2 sem. hrs. are assigned unless prior arrangement is made with the department chair and Office of the Registrar.
2024-2025 CMPT 411

Senior Thesis

Students research a chosen area of computing science and provide a final written report.

Course Credits: 3
Prerequisite(s): CMPT 409, a related directed study in preparation, or instructor's consent.
NB: Normally 2 sem. hrs. are assigned for a senior thesis unless prior arrangement is made with the department chair and registrar.
2025-2026 CMPT 411

Senior Thesis

Students research a chosen area of computing science and provide a final written report.

Course Credits: 3
NB: Normally 2 sem. hrs. are assigned for a senior thesis unless prior arrangement is made with the department chair and Office of the Registrar.
2024-2025 CMPT 419

Project Preparation

Students are required to choose a topic for their senior group project (CMPT 420 or 421) in consultation with the instructor. Selected readings and references pertinent to the topic are assigned. A final written report (software requirements document) is produced giving a detailed specification of the proposed software project.

Course Credits: 1
Prerequisite(s): Advanced standing in computing science or instructor's consent.
NB: A student is allowed credit for only one of CMPT 409 or 419.
2025-2026 CMPT 419

Project Preparation

Students are required to choose a topic for their senior group project (CMPT 420 or 421) in consultation with the instructor. Selected readings and references pertinent to the topic are assigned. A final written report (software requirements document) is produced giving a detailed specification of the proposed software project.

Course Credits: 1
NB: A student is allowed credit for only one of CMPT 409 or 419.
2024-2025 CMPT 420

Special Topics - Senior Collaborative Project

Students work on a major collaborative software project in a chosen area of computing science and provide a final report and presentation. At least two, and normally not more than five people, work as a team to design, code, debug, test, and document the software.

Course Credits: 1, 2, 3, 4, 5, 6
Prerequisite(s): CMPT 419, a related directed study, or instructor's consent
2025-2026 CMPT 420

Special Topics: Senior Collaborative Project

Students work on a major collaborative software project in a chosen area of computing science and provide a final report and presentation. At least two, and normally not more than five people, work as a team to design, code, debug, test, and document the software.

Course Credits: 1, 2, 3, 4, 5, 6
2024-2025 CMPT 461

Immersive Computing

This course introduces theories, techniques, and applications of immersive computing and related technologies. Students will be introduced to advanced 3D modeling/animation and virtual environment building techniques. In a semester-long project, students will develop their projects using an immersive framework to design, build, and evaluate immersive virtual environments.

Course Credits: 3
Prerequisite(s): CMPT 166, 231 (3,0)
2025-2026 CMPT 461

Immersive Computing

This course introduces theories, techniques, and applications of immersive computing and related technologies. Students will be introduced to advanced 3D modeling/animation and virtual environment building techniques. In a semester-long project, students will develop their projects using an immersive framework to design, build, and evaluate immersive virtual environments.

Course Credits: 3
2024-2025 CMPT 470

Introduction to Bioinformatics

An overview of the interdisciplinary science of genomics, proteomics, and bioinformatics which applies the tools of information technology (computer hardware and software) to analyze biological data such as gene or protein sequences. This course examines the theory of bioinformatics as well as its practical application to biological problems using approaches such as BLAST searches, phylogenetics, and protein structure function analysis.

Course Credits: 3
Prerequisite(s): CMPT 150, 166, and 231. (3-0)
Cross-listed: BIOT 470 or BIOL 470
2025-2026 CMPT 470

Introduction to Bioinformatics

An overview of the interdisciplinary science of genomics, proteomics, and bioinformatics which applies the tools of information technology (computer hardware and software) to analyze biological data such as gene or protein sequences. This course examines the theory of bioinformatics as well as its practical application to biological problems using approaches such as BLAST searches, phylogenetics, and protein structure function analysis.

Course Credits: 3
2024-2025 COOP 110

Co-op Work Terms

These are the course numbers for co-op work terms. The appropriate semester coincides with the first digit; i.e., 110 would be the first semester of work experience for students in the co-op program. Co-op terms provide an opportunity to integrate theory and practice. Requirements include completion of a work term report. 

Course Credits: 0
NB: Non-credit, Pass/Fail course.
2025-2026 COOP 110

Co-op Work Terms

These are the course numbers for co-op work terms. The appropriate semester coincides with the first digit; i.e., 110 would be the first semester of work experience for students in the co-op program. Co-op terms provide an opportunity to integrate theory and practice. Requirements include completion of a work term report.

Course Credits: 0
NB: Non-credit, Pass/Fail course.
2024-2025 COOP 210

Co-op Work Terms

These are the course numbers for co-op work terms. The appropriate semester coincides with the first digit; i.e., 110 would be the first semester of work experience for students in the co-op program. Co-op terms provide an opportunity to integrate theory and practice. Requirements include completion of a work term report. 

Course Credits: 0
NB: Non-credit, Pass/Fail course.
2025-2026 COOP 210

Co-op Work Terms

These are the course numbers for co-op work terms. The appropriate semester coincides with the first digit; i.e., 110 would be the first semester of work experience for students in the co-op program. Co-op terms provide an opportunity to integrate theory and practice. Requirements include completion of a work term report.

Course Credits: 0
NB: Non-credit, Pass/Fail course.
2024-2025 COOP 310

Co-op Work Terms

These are the course numbers for co-op work terms. The appropriate semester coincides with the first digit; i.e., 110 would be the first semester of work experience for students in the co-op program. Co-op terms provide an opportunity to integrate theory and practice. Requirements include completion of a work term report. 

Course Credits: 0
NB: Non-credit, Pass/Fail course.
2025-2026 COOP 310

Co-op Work Terms

These are the course numbers for co-op work terms. The appropriate semester coincides with the first digit; i.e., 110 would be the first semester of work experience for students in the co-op program. Co-op terms provide an opportunity to integrate theory and practice. Requirements include completion of a work term report.

Course Credits: 0
NB: Non-credit, Pass/Fail course.
2024-2025 COOP 410

Co-op Work Terms

These are the course numbers for co-op work terms. The appropriate semester coincides with the first digit; i.e., 110 would be the first semester of work experience for students in the co-op program. Co-op terms provide an opportunity to integrate theory and practice. Requirements include completion of a work term report. 

Course Credits: 0
NB: Non-credit, Pass/Fail course.
2025-2026 COOP 410

Co-op Work Terms

These are the course numbers for co-op work terms. The appropriate semester coincides with the first digit; i.e., 110 would be the first semester of work experience for students in the co-op program. Co-op terms provide an opportunity to integrate theory and practice. Requirements include completion of a work term report.

Course Credits: 0
NB: Non-credit, Pass/Fail course.
2024-2025 COOP 420

Co-op Work Terms

These are the course numbers for co-op work terms. The appropriate semester coincides with the first digit; i.e., 110 would be the first semester of work experience for students in the co-op program. Co-op terms provide an opportunity to integrate theory and practice. Requirements include completion of a work term report. 

Course Credits: 0
NB: Non-credit, Pass/Fail course.
2025-2026 COOP 420

Co-op Work Terms

These are the course numbers for co-op work terms. The appropriate semester coincides with the first digit; i.e., 110 would be the first semester of work experience for students in the co-op program. Co-op terms provide an opportunity to integrate theory and practice. Requirements include completion of a work term report.

Course Credits: 0
NB: Non-credit, Pass/Fail course.
2024-2025 CPL 601

Church Planting Foundations

Course Credits: 3
2025-2026 CPL 601

Church Planting Foundations

Course Credits: 3