Course Directory

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

Our Fall 2019 and Winter 2020 course schedule is not yet finalized. However, we will update this information in late June/July 2019. Current students already admitted into our program or students who are admitted for Fall 2019 will also receive an email, to let them know once registration is open.
You can refer to the Graduate Program Manual for information regarding: Registration (how to register, changes to registration, maintaining registration), auditing a course, withdrawing and so much more. If you have any questions, please email for assistance. 
Please be aware of 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.
What to do, if a class is full
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, and you — along with anyone else who has that class on their Watch List — will have an opportunity to register on a first-come, first-served basis.  
Students outside of Computing Science
If you are a current UofA student, in another department and want to enroll in our courses please read the following: 

Our courses are generally restricted to students in our program, so you may not be able to enroll on Bear Tracks. This is because our students need to take these courses, in order to graduate. However, sometimes students from outside the Computing Science department are able to take our courses. If you are interested in taking Computing Science courses and are not in our department, please do the following:

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

Fall 2018 - Winter 2019

Course Number




CMPUT 500Foundations of Prog Analysis ★3Karim AliWinter
CMPUT 501Software Quality ★3Sarah NadiWinter
CMPUT 511Topics in Computer Graphics ★3Herb YangFall
CMPUT 563Probabilistic Graphical Models ★3Russ GreinerFall
CMPUT 566Introduction to Machine Learning ★3Martha White
Russ Greiner
CMPUT 603Teaching and Research Methods ★3Janelle HarmsFall
CMPUT 605Individual Study ★3N/AFall
CMPUT 608Video and Applications ★3Anup BasuFall
CMPUT 609Reinforcement Learning in Artificial Intelligence ★3Rich SuttonWinter
CMPUT 616Fundamentals of Medical Imaging ★3Pierre BoulangerFall
CMPUT 641Performance Evaluation: Wireless Networking ★3Ehab ElmallahWinter
CMPUT 644Cyberphysical Systems ★3Omid ArdakanianFall
CMPUT 650Natural Language Processing ★3Greg KondrakFall
CMPUT 651Artificial General Intelligence & A-life ★3Vadim BulitkoFall
CMPUT 652Machine Learning and the Brain ★3Alona FysheFall
CMPUT 652Single-Agent Search ★3Nathan SturtevantWinter
CMPUT 654Modeling Strategic Behavior ★3James WrightWinter
CMPUT 655Exploration and Learning in Games ★3Martin MuellerWinter
CMPUT 663Machine Learning Applied: Software Engineering ★3Abram HindleWinter
CMPUT 664e-Learning, Adaptation, & Analytics ★3Carrie Demmans EppWinter
CMPUT 670An Intro to Combinatorial Game Theory ★3Ryan HaywardWinter
CMPUT 675Computational Complexity Theory ★3Zachary FriggstadWinter
CMPUT 680Machine Learning in Optimizing Compilers ★3Nelson AmaralFall
CMPUT 690Data Mining from Complex Data ★3Osmar ZaianeWinter
CMPUT 692Managing Big Text Data ★3Davood RafieiFall
CMPUT 701Capstone ★6Choose your ownFall