CMPT 375 - Human-Computer Interaction Design | 2024-2025

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.

CMPT 360 - Comparative Programming Languages | 2024-2025

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.

CMPT 345 - Simulation and Modeling | 2024-2025

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.

CMPT 340 - Discrete Structures and Computing | 2024-2025

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.

CMPT 330 - Numerical Analysis | 2024-2025

This 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.