Course Directory

This is the current graduate course directory for 2023-2024 (subject to change). Click on the title of a course for a more detailed overview.

Course Registration FAQ

You can refer to the Graduate Program Manual for information about registration such as:

  • How to register using Bear Tracks
  • Making changes to registration
  • Maintaining registration in your program
  • Auditing a course
  • Withdrawing from the University

If you have further questions, please email the Grad Program Advisor for assistance.

The Office of the Registrar sets the registration deadlines for each term.

You can continue to add, drop, and change classes in your schedule until the add/drop deadline in each term. After that deadline, if you drop or withdraw from a course, you will still need to pay some or all of the tuition fee for that course, and that course will appear on your transcript.

Full-time thesis-based students must be registered in ★9 credits per term in both the Fall and Winter ( 6.10 Full-time Registration Policy).

You may need to register in thesis sections in combination with regular course registrations in order to achieve ★9 credits of course weight for registration status.

  • THES 903: equivalent to a ★3 credit course
  • THES 906: equivalent to a ★6 credit course
  • THES 909: equivalent to a ★9 credit course

Most course registration is first-come, first-served.

If there is a class you want to take but it is already full, you can place that class on your Watch List in Bear Tracks. When a space becomes available in that class, you will be notified by email or SMS (along with anyone else who has that class on their Watch List) and will have an opportunity to register on a first-come, first-served basis.

Priority for CMPUT courses is given to students in our program, so you may not be able to enroll on Bear Tracks. If you are interested in taking Computing Science courses and are not in our department:

  • Email (from your @ualberta account) the instructor who teaches the course, to request written permission.
    • Note: It is up to the instructor of the course to decide if you are eligible to enroll. Even if space is available, it does not guarantee your request will be approved.
  • Once permission is granted, forward the email of confirmation from the professor to and include:
    • Your full name
    • ID number
    • Course/class number you want to enroll in
  • Enrollment will be done manually by the Graduate Program Administrator.
    Once enrolled you will get an email indicating you have been enrolled and will be able to see this on Bear Tracks.

Graduate Courses 2023-24

Course Number



Term(s) / Course Website

CMPUT 500 Foundations of Program Analysis ★3 Karim Ali Fall
CMPUT 501 Software Quality ★3 Sarah Nadi Winter
CMPUT 504 Intelligent Users Interfaces ★3 Carrie Demmans Epp Winter
CMPUT 501 Intro to Natural Language Processing ★3 Carrie Demmans Epp Fall
CMPUT 511 Computer Graphics ★3 Herb Yang Fall
CMPUT 563 Probabilistic Graphical Models ★3 Russ Greiner Fall
CMPUT 566 Introduction to Machine Learning ★3 Lili Mou
Alona Fyshe
CMPUT 603 Teaching and Research Methods ★3 Greg Kondrak Winter
CMPUT 605 Individual Study ★3 N/A Fall
CMPUT 606 3D Modeling & Animation Topics  ★3 Anup Basu Fall
CMPUT 607 Empirical Reinforcement Learning  ★3 Adam White Winter
CMPUT 609 Reinforcement Learning II ★3 Rich Sutton Winter
CMPUT 610 Advanced Topics in Computer Vision & Computer Graphics  ★3 Herb Yang Fall
CMPUT 641 Modeling and Performance Evaluation: Wireless Networking  ★3 Ehab Elmallah Fall
CMPUT 644 Intelligent and Connected Systems ★3 Omid Ardakanian Fall
CMPUT 651 Deep Learning for Natural Language Processing  ★3 Lili Mou Winter
CMPUT 652 Machine Learning for Procedural Content Generation in Games ★3 Matthew Guzdial Winter
CMPUT 653 Deep Policy Gradient Methods ★3 Rupam Mahmood Fall
CMPUT 653 Theoretical Foundations of Reinforcement Learning ★3 Csaba Szepesvari Winter
CMPUT 654 Privacy in Machine Learning ★3 Nidhi Hegde Winter
CMPUT 655 Reinforcement Learning 1 ★3 Martha White Fall
CMPUT 656 Interactive Machine Learning ★3 Matt Taylor Fall
CMPUT 657 Heuristic Search ★3 Michael Buro Winter
CMPUT 658 Single Agent Search ★3 Nathan Sturtevant Winter
CMPUT 659 Program Synthesis in XAI ★3 Levi Lelis Winter
CMPUT 663 Machine Learning in Software Analytics ★3 Abram Hindle Fall
CMPUT 670 Combinatorial Game Theory ★3 Ryan Hayward Winter
CMPUT 675 Combinatorial Optimization ★3 Zachary Friggstad Winter
CMPUT 681 Parallel and Distributed Systems  ★3 Paul Lu Winter
CMPUT 692 Modern Database Management Systems ★3 Davood Rafiei Fall
CMPUT 701 Capstone ★6 Choose your own Fall