| Year | Course ID | Course |
|---|---|---|
| 2026-2027 | CMPT 301 | Special Topics in Computing ScienceFocuses on specialized areas in computing to build depth and strengthen technical competence beyond the fundamentals. Students learn established approaches and apply them effectively to well-defined problems. Topics and pre-requisites vary by offering and reflect current trends and faculty expertise. Course Credits: 3
|
| 2026-2027 | CMPT 317 | Scientific ComputationSymbolic and numerical computations used in scientific modelling based on Calculus and Linear Algebra, with emphasis on applications in physics and biology. Topics include error analysis, linear systems, roots of equations, interpolation, numerical differentiation, and integration. Further topics may include: eigenvalues and singular values, approximation theory, and non-linear systems. Course Credits: 3
Prerequisite(s): MATH 124, MATH 250, and CMPT 140.
NB: Credit is granted for only one of MATH/CMPT 317 and MATH/CMPT 327 and MATH/CMPT 330.
Cross-listed: MATH 317 |
| 2024-2025 | CMPT 325 | Computer NetworkingThis course looks at network protocols, network operating systems, and the construction and maintenance of server sites. Course Credits: 3
Prerequisite(s): CMPT 150, 231 and MATH 123. (3-0)
NB: Not offered every year. See department chair
|
| 2025-2026 | CMPT 325 | Computer NetworkingThis course looks at network protocols, network operating systems, and the construction and maintenance of server sites. Course Credits: 3
NB: Not offered every year. See department chair.
|
| 2026-2027 | CMPT 325 | Computer NetworkingThis course looks at network protocols, network operating systems, and the construction and maintenance of server sites. Course Credits: 3
Prerequisite(s): CMPT 150, 231 and MATH 123
NB: Not offered every year. See department chair.
|
| 2026-2027 | CMPT 327 | Numerical AnalysisThis course covers numerical techniques for solving problems in applied mathematics, including error analysis, roots of equations, interpolation, numerical differentiation and integration, ordinary differential equations, matrix methods and selected topics from among: eigenvalues, approximation theory, non-linear systems, boundary-value problems, numerical solution of partial differential equations. Course Credits: 4
Prerequisite(s): MATH 223, 250; CMPT 140. (4-0)
NB: Credit is granted for only one of MATH/CMPT 317 and MATH/CMPT 327 and MATH/CMPT 330.
Cross-listed: MATH 330 |
| 2024-2025 | CMPT 330 | Numerical AnalysisThis course covers numerical techniques for solving problems in applied mathematics, including error analysis, roots of equations, interpolation, numerical differentiation and integration, ordinary differential equations, matrix methods and selected topics from among: eigenvalues, approximation theory, non-linear systems, boundary-value problems, numerical solution of partial differential equations. Course Credits: 4
Prerequisite(s): MATH 223, 250; CMPT 140. (4-0)
NB: Not offered every year. See department chair
Cross-listed: MATH 330 |
| 2025-2026 | CMPT 330 | Numerical AnalysisThis course covers numerical techniques for solving problems in applied mathematics, including error analysis, roots of equations, interpolation, numerical differentiation and integration, ordinary differential equations, matrix methods and selected topics from among: eigenvalues, approximation theory, non-linear systems, boundary-value problems, numerical solution of partial differential equations. Course Credits: 4
NB: Not offered every year. See department chair.
|
| 2024-2025 | CMPT 334 | Principles of Operating SystemsOperating system and control software at a low level, memory management, processor management, storage management, and system architecture are among the topics considered. Course Credits: 3
Prerequisite(s): CMPT 150 and 231. (3-0)
NB: Not offered every year. See department chair
|
| 2025-2026 | CMPT 334 | Principles of Operating SystemsOperating system and control software at a low level, memory management, processor management, storage management, and system architecture are among the topics considered. Course Credits: 3
NB: Not offered every year. See department chair.
|
| 2026-2027 | CMPT 334 | Principles of Operating SystemsOperating system and control software at a low level, memory management, processor management, storage management, and system architecture are among the topics considered. Course Credits: 3
Prerequisite(s): CMPT 150 and 231
NB: Not offered every year. See department chair.
|
| 2024-2025 | CMPT 339 | Introduction to Database Management SystemsAn 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 SystemsAn 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.
|
| 2026-2027 | CMPT 339 | Introduction to Database Management SystemsAn 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
NB: Not offered every year. See department chair.
|
| 2025-2026 | CMPT 340 | Discrete Structures & ComputingThis 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.
|
| 2026-2027 | CMPT 340 | Discrete Structures & ComputingThis 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 |
| 2024-2025 | CMPT 340 | Discrete Structures and ComputingThis 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 & ModelingThis 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
|
| 2026-2027 | CMPT 345 | Simulation & ModelingThis 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 345 | Simulation and ModelingThis 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 LanguagesThe 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 LanguagesThe 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.
|
| 2026-2027 | CMPT 360 | Comparative Programming LanguagesThe 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
NB: Not offered every year. See department chair.
|
| 2024-2025 | CMPT 370 | Computer GraphicsThis 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 GraphicsThis 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.
|
| 2026-2027 | CMPT 370 | Computer GraphicsThis 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
NB: Not offered every year. See department chair.
|
| 2024-2025 | CMPT 375 | Human-Computer Interaction DesignThis 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 DesignThis 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
|
| 2026-2027 | CMPT 375 | Human-Computer Interaction DesignThis 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
|
| 2024-2025 | CMPT 380 | Artificial IntelligenceArtificial 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 IntelligenceArtificial 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.
|
| 2026-2027 | CMPT 380 | Artificial IntelligenceArtificial 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
NB: Not offered every year. See department chair.
|
| 2024-2025 | CMPT 382 | Machine LearningAn 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 LearningAn 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
|
| 2026-2027 | CMPT 382 | Machine LearningAn 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 instructor's consent
|
| 2024-2025 | CMPT 385 | Introduction to Software EngineeringAn 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 EngineeringAn 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.
|
| 2026-2027 | CMPT 385 | Introduction to Software EngineeringAn 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
NB: Not offered every year. See department chair.
|
| 2024-2025 | CMPT 386 | Software Engineering IIThis 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 IIThis 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.
|
| 2026-2027 | CMPT 386 | Software Engineering IIThis 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
NB: Not offered every year.
|
| 2024-2025 | CMPT 400 | Directed Studies in Computing ScienceStudents 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 ScienceStudents 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.
|
| 2026-2027 | CMPT 400 | Directed Studies in Computing ScienceStudents 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.
|
| 2024-2025 | CMPT 401 | Special Topics in Computing ScienceA 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 ScienceA 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.
|
| 2026-2027 | CMPT 401 | Special Topics in Computing ScienceExplores advanced areas in computing to develop independence, synthesis, and professional-level thinking. Students analyze open-ended challenges, determine suitable approaches, and justify their decisions. Topics and pre-requisites vary by offering and reflect current trends and faculty expertise. Course Credits: 3
Prerequisite(s): Advanced standing in Computing Science or instructor's consent
NB: Not offered every year. Course may be repeated.
|
| 2024-2025 | CMPT 409 | Thesis PreparationStudents 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 PreparationStudents 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.
|
| 2026-2027 | CMPT 409 | Thesis PreparationStudents 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.
|