DEPARTMENT of COMPUTER SCIENCE

Courses

A note about required course CMPT 101

Students with extensive programming experience, particularly in the Python language, may appeal to the Chair to waive enrolment in CMPT 101 and instead enrol directly into CMPT 103.

Special topics

Special topics courses focus on specific areas of interest within a discipline. The topics are chosen based on the expertise of our instructors, and the topics usually vary from term to term.

Winter 2025

Course: CMPT 399: Topics in Computer Science | Advanced Algorithms and Applications
Term: Winter 2025
Section: AS01
Instructor: Dr. Nesrine Abbas

This course introduces students to advanced techniques for designing and analyzing algorithms and explores their use in a variety of application areas. Topics include randomized, approximation, greedy, divide and conquer, dynamic programming, and graph algorithms, and NP-completeness.

Prerequisites: A minimum grade of C in CMPT 204

Permission Required: Yes

Fall 2025

Course: CMPT 399: Topics in Computer Science | Persuasive Technology Design: Strategies and Applications
Term: Fall 2025
Section: AS01
Instructor: Dr. Chinenye Ndulue

Persuasion technologies (PTs) are interactive systems designed to encourage behaviour change without coercion or deception. This course introduces students to the fundamental theories, principles and practices behind persuasive system design, implementation and evaluation. Through hands-on activities, students will design and evaluate persuasive systems, conduct user studies and analyze how different platforms (e.g., mobile apps, social media and games) can influence behaviour. Learning will be reinforced through case studies, critiques, real-world projects, written reports and presentations.

Prerequisites: A minimum grade of C- in CMPT 250 or consent of the department.

Permission Required: Yes. Email artsandscience@macewan.ca to obtain a permission number.

Course: CMPT 499: Topics in Computer Science | Virtual and Augmented Reality Development
Term: Fall 2025
Section: AS01
Instructor: Dr. Sam Qorbani

This course introduces students to the design, development and evaluation of virtual reality (VR) and augmented reality (AR) content with a particular focus on educational applications. Students will explore the history and evolution of VR/AR technologies, their current applications across industries and the foundational hardware and software that power these immersive experiences. Through hands-on projects, students will gain practical experience developing VR/AR applications using modern 3D game engines (e.g., Unity) and cutting-edge hardware (e.g., Oculus Quest headsets). Students will learn about key topics such as VR/AR hardware (displays, input devices and tracking systems), interaction techniques (navigation, selection and manipulation), usability, accessibility and strategies to mitigate VR cybersickness. By the end of the course, students will have the skills to prototype, implement and assess immersive experiences.

Prerequisites: A minimum grade of C- in CMPT 330 or consent of the department.

Permission Required: Yes. Email artsandscience@macewan.ca to obtain a permission number.

Winter 2026

Course: CMPT 399: Topics in Computer Science | Parallel Computer Architecture and Programming
Term: Winter 2026
Section: AS01
Instructor: Dr. Jeffrey Davis

This course will build an understanding of the fundamentals of the architecture of parallel and distributed computers and the programming of them. Concepts discussed will include the construction and performance of parallel programs, parallel programming paradigms and parallel mechanisms. Languages/APIs/models surveyed will include OpenMP, OpenMPI, Pthreads and CUDA. A number of architectures will be discussed, including SISD, SIMD, MIMD machines as well as CPU and GPU designs.

Prerequisites: Minimum grade of C- in CMPT 201 or consent of the department.

Permission Required: Yes. Please email artsandscience@macewan.ca to obtain a permission number.