From UBC Wiki
CPSC 522 Wiki
CPSC 522
Instructor: David Poole
Office: 109
Office Hours: after class every day
Class Schedule:
Classroom: DMP 101
Important Course Pages
Lecture Notes
Course Discussion

Welcome to CPSC 522 Wiki. This is where the participants are writing the textbook. See for the main web page for the course.

The 2023 Rules

  • These rules are editable, so you can change the rules.
  • October Assignment describes your assignments for October.
  • November Assignment describes your assignment for November.
  • December Assignment describes your final assignment.
  • Do not plagiarize; give references to all sources. Put quotes in quotes. Taking something from another source and not attributing it clearly, will result in disciplinary action.
  • All pages should follow the CPSC522 Template
  • Give links, but make sure that the pages are readable (with sentences) without following the links.
  • Link to all prerequisite pages (those the page builds on) in the appropriate place in the template. The prerequisite pages should not form a cycle.
  • Link to all related pages; it should be easy for someone to determine that a page on a particular topic does not exist.
  • The web pages created should all be in the Course:CPSC522 hierarchy, but should not contain "Course:CPSC522" in the visible link. Hint: create a link to the page before the page exists, then you will be asked to create the page,
  • If you want to abandon a page that others are relying on (e.g., you are the principal author and they are coauthors) you need to negotiate with them to make sure no one is disadvantaged.
  • All pages should be in the Index and the table of contents below.


  • Keep each page as simple as possible (but not simpler); if a page starts to get complicated, consider splitting it.
  • Write pages for your peers; they should all be written for incoming graduate students, and only assume background knowledge that is common among such students.
  • All pages should obey the Syntax Conventions. If there is a design decision that you need to make that may have non-local implications, add it to the conventions.
  • It should use formalism and mathematics when (and only when) the formalism make the description clearer. Use the code tags for math, e.g., It is worth your while to learn Latex if you don't already know it.
  • If there is a simple case, and a more general case, give the simple case first. Making things complicated is easy; keeping them simple is difficult and we should strive for simplicity. Any complication needs to be carefully motivated.
  • Use the "discussion" tab

Each Page should contain:

  • A clear jargon-free description of what is going on. Keep jargon to a minimum.
  • Motivating example(s) and, where appropriate, a simple pedagogical example (which may be different from the motivating examples) that is used to explain what is going on
  • An argument of plausibility
  • Evidence that it works
  • Code and pseudo-code, where appropriate. This code should interact with other related code (e.g., AIFCA Python Distribution) if possible. The code should be as simple as possible to implement the techniques. Consider adding exercises as to what can be improved or made more general or bullet-proof. Use a code block for (pseudo-)code (even multi-line code). You can also use the format in (try both and see which better suits your needs).


Please add your page here and in the Index.



Probability and Graphical Models

Temporal Models



Representations of Conditional Probability


Natural Language Processing

Deep Learning with Graphs

Utility and Preferences

Acting Under Uncertainty


December 2023 Assignment

November 2023 assignment

Existing Combinations (2023)

Existing Combinations (2022W2)

Existing Combinations (2016)

Existing Combinations (2020)

Existing Combinations (2018)

Neural Networks

Reinforcement Learning

Decision-theoretic Planning

Relational Reasoning


Existing Combinations (2019)

Future combinations (2016)

Future combinations (2018)

Future combinations (2019)

Future combinations (2020)

Suggested Unclaimed Pages

Here are some possible topics for pages. This list is not meant to limit your imagination. Some of them might be better split into multiple pages. There are many other possible topics.

When claimed, these pages should be moved from this section to the table of contents above and to the Index of existing pages. To claim a page you have to actually create it and edit it (and have your name on the page, so everyone can see who has claimed it).