Skip to content

kvarada/CPSC-322_students

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

CPSC 322: Introduction to Artificial Intelligence

Welcome to CPSC 322!

This course provides an introduction to the field of artificial intelligence (AI). The major topics covered include reasoning and representation, search, constraint satisfaction problems, planning, logic, reasoning under uncertainty, and planning under uncertainty.

Learning outcomes

By the end of this course students should be able to

  • explain what AI is and what it can and cannot do
  • discuss the nature of fundamental problem types (constraint satisfaction, query/inference, and planning) and environment types (deterministic and stochastic)
  • discuss core representation and reasoning (R&R) systems in AI, including (but not limited to)
    • informed search
    • local search and its stochastic variants
    • planning representations such as STRIPS
    • propositional definite clause logic
    • probabilistic reasoning using Bayesian networks and other graphical models
  • apply appropriate R&R systems to solve problems based on the problem type and environment

Prerequisites

Either (a) CPSC 221 or (b) both of CPSC 260, EECE 320 and one of CPSC 210, EECE 210, EECE 309. Please note that the CPSC department enforces prerequisites. Students without appropriate prerequisites will get a “missing prerequisite” letter near the start of the course. Watch for it in your e-mail, if you fall into this category, and follow the instructions in the letter to resolve it. If you do not have the prerequisites, you will be dropped from the course.

Class meetings

The class meetings will be held on Tuesdays (T) and Thursdays (R) in the Fall 2019 semester. Below are the details of the class meetings.

Section Instructor Time Location
1 Hazra Imran T & R 14:00 to 15:30 Instructional Resources Centre (IRC) Room #6
2 Varada Kolhatkar T & R 17:00 to 18:30 Leonard S. Klinck building, Room #201

Teaching team

Position Name Email
Instructor (Section 1) Hazra Imran hazra@cs.ubc.ca
Instructor (Section 2) Varada Kolhatkar kvarada@mail.ubc.ca
TA Kyle Clarkson clarkson@cs.ubc.ca
TA Ganesh Jawahar ganeshjw@cs.ubc.ca
TA Siddhesh Khandelwal skhandel@cs.ubc.ca
TA Raymond Li raymondl@cs.ubc.ca
TA Tzu-yun (Ariel) Shann shannari@cs.ubc.ca
TA Beriwan Salamat Ravandi beriwan.ravandi@alumni.ubc.ca

Office hours (for the week of Dec 2nd)

Day Name Time Location
Monday (Dec 2) Ariel 10:30 to 11:30 AM ICCS X239
Monday (Dec 2) Ganesh 12 to 1:00 PM ICCS X339
Tuesday (Dec 3) Kyle 11 to 12:00 PM ICCS X241
Wednesday (Dec 4) Siddesh 11 to 12:00 PM ICCS X239
Thursday (Dec 5) Hazra 11 to 1 ICCS 249
Friday (Dec 6) Varada 11:00 to 12:00 PM ICCS 185

Note: Office hours can also be seen [here] (https://my.cs.ubc.ca/course/cpsc-322).

Important dates

Deadline Date Notes
First class Thursday, Sept 5, 2019 No class on the Imagine Day (Sept 3).
Add/drop deadline Tuesday, Sept 17, 2019 You can drop the course on or before this date without getting a ‘W’ (for “withdrawal”) on your official transcript.
Final withdrawal deadline Friday, Oct 11, 2019 Beyond this date, you will get a numeric grade for the course.
Last class Thursday, Nov 28, 2019
Final exam Monday, Dec 09, 2019, 7 PM, Location: SRC A Do not make any travel plans during that period.

Course schedule

Topic-level learning goals are useful for self-evaluation and preparing for exams. The lecture slides will contain the topic-level learning goals. These are useful for self-evaluation and when studying for exams. They also give you (and future employers) a more detailed view of the course’s contents than a typical calendar entry or a list of topics would.

Week Tuesday Thursday Announcements Lecture notes/in class activities (102)
1 Sept 3
Imagine Day (no class)
Sept 5
What is AI? [1.1-1.3]
Assignment 0 released lecture1_intro.pdf
2 Sept 10
Representational Dimensions [1.4-1.5]

Applications of AI [1.6]
Sept 12
Search: Intro [3.1-3.4]
Assignment 0 due on Sept 9 at 11:59 PM lecture2_representational_dimensions.pdf
lecture3_search_intro.pdf
3 Sept 17
Search: Uninformed search, DFS and BFS
[3.5.1, 3.5.2]
Sept 19
Search: IDS, search with costs
[3.5.3, 3.5.4, 3.7.3]
Search: Heuristic Search [3.6]
Assignment 1 released on Sep 16 lecture4_uninformed_search.pdf
Activity: BFS_DFS (solution)
lecture5_IDS_LCFS_heuristic.pdf
4 Sept 24
Search: BestFS, A*, optimality
[3.6.1]
Sept 26
Branch & Bound, IDA*, Pruning
[3.7.1, 3.7.4]
lecture6_best_first_A_star.pdf
lecture7_A_star_optimality_BB.pdf
5 Oct 1
CSPs: Introduction [4.1, 4.2]
Oct 3
CSPs: Search and Consistency
[4.3, 4.4]
Assignment 1 due on Sep 30 at 11:59 PM lecture8_CSPs_intro.pdf
Activity: CSP_intro (solution)
lecture9_CSPs_search.pdf
Activity:CSP_search (solution)
6 Oct 8
CSPs: Arc Consistency and Domain Splitting
[4.5, 4.6]
Oct 10
CSPs: Local Search
[4.7]
lecture10_CSPs_arc_consistency.pdf
lecture11_domain_splitting_local_search.pdf
Activity: CSP_arc_consistency (solution)
7 Oct 15
CSPs: Stochastic Local Search
[4.7.1, 4.7.2, 4.7.4]
Oct 17
CSPs: SLS variants (Sim. Annealing + Pop. based)
[4.7.3, 4.8]
lecture12_SLS.pdf
Activity: CSP_SLS (solution)
lecture13_SLS_variants.pdf
8 Oct 22
Planning: Representations and Forward Search
[6.1 (skip 6.1.3)]
Oct 24
Midterm prep (no class)
Assignment 2 due on Oct 21 at 11:59 PM
Midterm on Friday, Oct 25th from 6pm to 7pm at WOOD 2
lecture14_planning_intro.pdf
9 Oct 29
Planning: Heuristics and CSP Planning [6.2, 6.4]
Oct 31
Logic: Intro and Syntax
[5.3.2]
Assignment 3 released on Oct 28th
Midterm returned
lecture15_planning_CSP.pdf
lecture16_logic.pdf
10 Nov 5
Logic: Semantics and Bottom-Up Proofs, BU Soundness and Completeness
[5.1, 5.3, 5.3.2]
Nov 7
Logic:Top-Down Proofs [5.5,5.3.2]
Logic: Datalog (basic concepts) [13.3]
lecture17_logic_bottom_up_proofs.pdf
Activity: BU_proofs
Try this with AIspace deduction applet
lecture18_logic_top_down_DL.pdf
11 Nov 12
Uncertainty: Probability Theory
[8.1, 8.1.1, 8.1.2 ]
Uncertainty: Conditional Probability [8.1.3 ]
Uncertainty: Conditional Independence [8.2]
Nov 14
Uncertainty: Intro to Belief Networks [8.3]
Assignment 3 due on Nov 11 at 11:59 PM lecture19_uncertainty_probability_intro.pdf
Activity: Probability (solution)
lecture20_uncertainty_independence
12 Nov 19
Uncertainty: Belief Nets (indep. compactness, apps) [8.3, 8.3.2]
Nov 21
Uncertainty: BNet inference (intro to Variable Elimination)[8.4.1]
lecture21_uncertainty_bayes_net
lecture22_uncertainty_VE
13 Nov 26
Uncertainty: Temporal Probabilistic Models [8.5.1]
Uncertainty: Hidden Markov Models [8.5.2]
Nov 28
Decision Theory: Single Stage Decisions [9.2]
Decision Theory: Sequential Decisions (policies) [9.3] Revision
Assignment 4 due on Nov 29 at 11:59 PM lecture23_uncertainty_Markov
lecture24_decision_theory_intro

Course communication

Canvas

We will be using Canvas, which is UBC’s Learning Management System, for assignment submissions and grades.

UBC’s IT Services group is hosting Canvas. If you don’t already have a Campus-Wide Login (CWL) account, visit the cwl website to get one. All registered students for CPSC 322 who have a CWL ID will automatically have their CWL ID linked to the CPSC 322 Canvas pages. If you are taking other courses that use Canvas, then your CWL ID will be linked to those courses too. If you have trouble accessing Canvas, get help from technical support.

Piazza will host the following course-related material.

  • This document (the course outline)
  • Lecture slides for both sections
  • Assignments and sample midterm exams (with solutions)
  • Course discussion board (also called a “bulletin board”)

Please download the current slides before coming to class. You will need to take your own supplementary notes in class. Please be advised that you are responsible for all material presented in the lectures, and in the appropriate parts of the textbook and assignments. We may also use the board or the document camera in class; so, not everything will be on the annotated slides. So, be sure to attend classes.

You’ll find our class’s Piazza discussion board here. You should read it at least once per day. Students are encouraged to answer questions, which will allow you to get better at articulating your opinions, providing support for your views, developing arguments, and listening and relating to the views of others. Questions about the CPSC 322 course contents (e.g., lecture, textbook, assignments) can be posted on the Piazza discussion board, but please check to make sure that your question hasn’t already been asked or answered. In previous terms, students have asked the same questions over and over. Remember, you can always re-read notes that you’ve already seen, and you can search for keywords within Piazza.

The TAs and instructor will be monitoring and responding to questions daily, but students are also encouraged to respond to postings and questions. Do not post code or solutions on the bulletin board (except for perhaps small fragments, if necessary).

Piazza registration instructions are found on Canvas. If you are registering for Piazza with your CPSC department e-mail address of the form xxxx@ugrad.cs.ubc.ca or yyyy@cs.ubc.ca, or a UBC alumni e-mail address of the form zzzz@alumni.ubc.ca that lets us easily determine who you are, then you don’t have to do anything else. However, if you not using such an e-mail address or if you are using a pseudonym (i.e., a fake name -- but please don’t pick the name of a celebrity, sports star, other student, etc.), then you have to contact the Rui Ge. Send them the following information.

  • Your first and last name
  • Your student ID

Most students seem to use their own name rather than a pseudonym, but Canadian privacy law requires us to give students the option.

The CPSC 322 access code for Piazza will be found on Canvas and will also be mentioned in class. Canvas can’t handle waitlisted students; so, that’s why we are using Piazza for some of the course content. After the drop deadline, unregistered students will be dropped from Piazza.

Office hours

We are here to help you. Go to office hours (Piazza is NOT a good substitute for this). Poll for office hour availability will be posted on Piazza. Once finalized, office hours will be posted on Piazza. You may schedule an appointment if you cannot attend office hours or in special circumstances.

E-mail

Because this is a very large class, it is simply not practical for the instructor or the TAs to respond to individual e-mail requests (or private postings) of a general nature. Limit such e-mail to items having a personal or confidential nature (e.g., illness). Lectures, tutorials, office hours, and Piazza are suitable places to ask general questions.

Course materials and technology

Text books

  • (required) Artificial Intelligence 2E: Foundations of Computational Agents (2017) by David Poole and Alan Mackworth (of UBC!). Complete book is available online.

  • (optional) Artificial intelligence: A Modern Approach by Russell, Stuart and Peter Norvig.

We will be covering selected chapters of Artificial Intelligence: foundations of computational agents by David Poole and Alan Mackworth, Cambridge University Press, 2010. Although this text will be our main reference for the class, it must be stressed that you will need to know all the material covered in class, whether or not it is included in the readings or available online.  Likewise, you are responsible for all the material in assigned readings, whether or not it is covered in class. If you'd like to refer to an alternate text, we recommend Russell and Norvig's Artificial Intelligence: A Modern Approach (third edition). We've arranged for a copy to be put on reserve in the CS reading room. All students can use the Reading Room; but it’s closed after hours. The links to these libraries are here:

iClickers (required)

This course will use iClickers. If you don’t have an iClicker handheld device from a previous UBC course, you should get one from the UBC Bookstore, the Discount Textbook store, or from a reliable, second-hand source at UBC. You’ll need to register the clicker ID on Canvas sometime during the term to map your clicker ID to your student number (to credit your marks), unless you’ve already done this for another course on Canvas. A few times per term, we will upload the clicker grades to Canvas and announce this on Piazza. If the sticker on the back of your clicker has rubbed off and you don’t know your clicker number, come and see instructor Hazra during office hours. Alternatively, visit CTLT in the basement of the Ike Barber building, and they can help you.

In-Class Exercises

In-Class Exercises marks will be based on participation and on effort at solving the problems. The exercises will be marked on a 0-1-2-point scale for effort and completion—not necessarily the correct answers. The in-class exercise sheets will be handed out in the class, and you will submit the completed sheets before leaving the lecture room.

We will be using AISpace, a demo applet to illustrate some of the techniques covered in class.

Assessment

Evaluation will be based on a set of assignments, a midterm, and the final exam. You must pass the final exam in order to pass the course. The instructor reserves the right to adjust this grading scheme during the term, if necessary.

# Deliverable % grade
1 Assignments 25
2 Midterm 20
3 Final exam 50
4 iClicker/in-class activities 5

If your grade improves substantially from the midterm to the final, defined as a final exam grade that is at least 20% higher than the midterm grade, then the following exam grade breakdown will be used instead.

  • Midterm -- 10%
  • Final -- 60%

Clicker marks will be based on participation and correctness. We’ll count the best 90% of questions over the term. Note that the goal of this policy is to cover cases where you are absent or forget your clicker, so there are no "excused absences" from the clicker questions. However, if you will be absent for long periods of time, please come and talk to your instructor.

Your overall assignment grade will be computed by adding up the number of points you get across all assignments, dividing this number by the number of possible points, and multiplying by 25. Assignments will not be graded out of the same number of points; this means that they will not be weighted equally.

You are allowed to work on assignments with a partner. Assignments are to be submitted electronically on Canvas before the due date. For each assignment, your submission must be formatted as a single PDF file; other types of submissions (non-pdf, multiple files, etc.) will not be graded. Your name(s) and student number(s) must appear at the top of the first page of your submission.

There will be one midterm and one final examination. Each exam will be closed book with no calculators or notes allowed. If you cannot write an exam (e.g., due to illness), you should obtain suitable documentation (e.g., doctor’s note) and inform the instructor ASAP—not after you’ve written the exam. Depending on how many students are sick, and at the instructors’ discretion, there may be an additional make-up exam scheduled; otherwise, your final exam grade will be applied to your midterm. Midterms will be held during class time. We will confirm the date soon.

Students who have a legitimate conflict with the exam time must notify the instructor at least one week prior to the exam, and we will make alternate arrangements.

The final examination will be written on a date in December to be determined by the University. If you cannot write the final exam, then you must provide documentation (e.g., a doctor’s note) to your home Faculty office. For example, if you are in Science, then it will be the Faculty of Science; if you are in Engineering, then it will be the Faculty of Applied Science; and similarly, for Arts, Commerce, etc. You will write an exam at a future date determined by the University; usually, this is during the deferred exam period. Important note: Your home faculty office may not allow you to write a deferred final exam (even if you have a doctor’s note) if your term work is incomplete (e.g., missing midterm or missing classes).

  • Final Examination
    • Monday, Dec 09, 2019, 7 PM, Location: SRC A

We reserve the right to change this scheme at any time, though we do not anticipate doing so.

A few useful tips when you work on assignments and write exams

  • We like answers that are: correct, easy to read, and as short as possible while including important information. We may penalize answers that include information that is not directly related to the question.
  • We value conceptual understanding over memorization. If you prioritize understanding over grades, then you increase the likelihood of getting both. If you prioritize grades over understanding, then you increase the likelihood of getting neither.

Policies

Late submissions

Every student is allotted four "late days", which allow assignments to be handed in late without penalty on four days or parts of days during the term. The purpose of late days is to allow students the flexibility to manage unexpected obstacles to coursework that arise during the course of the term, such as travel, moderate illness, conflicts with other courses, extracurricular obligations, job interviews, etc. Thus, additional late days will not be granted except under truly exceptional circumstances. If an assignment is submitted late and a student has used up all of their late days (or has not claimed any late days for that assignment), 20% will be deducted for every day the assignment is late. (E.g., an assignment 2 days late and graded out of 100 points will be awarded a maximum of 60 points.)

  • You may use up to two of your late days on any assignment.
  • Working with a partner does not increase your total number of available late days.

How late does something have to be to use up a late day? A day is defined as a 24-hour block of time beginning at 12am on the day after the assigment is due. To use late days, write the number of late days claimed on the first page of your assignment. (See canvas for assignment due dates).

Examples:

  • Handing in an assignment at 12:00am on the day after it is due consumes one late day. 
  • Handing in an assignment at 11:59pm the evening of the day after it is due consumes one late day.
  • Handing in an assignment at 12:00am on the second day after it is due consumes two late days.

Collaboration/Cheating policy

We believe that you will learn at least as much from each other as you will learn from the teaching staff. Therefore, we want to encourage collaboration without compromising a fair grading scheme (as described in the department's policy on collaboration).

In most instances, you can collaborate as much as you want with whomever you want subject to three restrictions:

You must acknowledge everyone with whom you collaborated on your submission. You may not take a record of any sort away from the collaboration. (So, erase all whiteboards, delete all e-mail, recycle all paper, etc.) You must spend at least an hour after the collaboration and before working on your own submission doing mindless activities. In other words, do something so distracting and inane that you must have learned anything you can reconstruct afterward

University Policy on Academic Integrity (Academic Misconduct / Cheating)

“Academic honesty is essential to the continued functioning of the University of British Columbia as an institution of higher learning and research. All UBC students are expected to behave as honest and responsible members of an academic community. Breach of those expectations or failure to follow the appropriate policies, principles, rules, and guidelines of the University with respect to academic honesty may result in disciplinary action.” (http://www.calendar.ubc.ca/Vancouver/index.cfm?tree=3,286,0,0#15620)

A more detailed description of academic integrity, including the University’s policies and procedures, can be found in the UBC Calendar at: http://www.calendar.ubc.ca/Vancouver/index.cfm?tree=3,54,111,0

Re-grade request

Regrading requests will be accepted up to one week after the grades are released. Please forward grade disputes to your instructor, and not to the TAs. We’ll post the solutions shortly after returning the midterms. When a regrade request is submitted for an exam, the whole exam will be remarked and not just a single portion of it. The regraded mark will be final. To submit a regrading request for an exam, please submit a formal regrade request via email to the instructor. This request should include your name, student number, exam id, and the reason why you feel that a regrade is necessary. Note that the reason for the regrade must be precise, e.g., " please regrade questions 11 to 15 " is not enough.

The final examination will be written on a date in December to be determined by the University. If you cannot write the final exam, then you must provide documentation (e.g., a doctor’s note) to your home Faculty office. For example, if you are in Science, then it will be the Faculty of Science; if you are in Engineering, then it will be the Faculty of Applied Science; and similarly, for Arts, Commerce, etc. You will write an exam at a future date determined by the University; usually, this is during the deferred exam period. Important note: Your home faculty office may not allow you to write a deferred final exam (even if you have a doctor’s note) if your term work is incomplete (e.g., missing midterm, missing classes or tutorials, or incomplete project).

We reserve the right to change this scheme at any time, though we do not anticipate doing so.

Other useful information

Technical support

Problems with Canvas should be directed here. Problems with undergrad accounts and servers should be directed here. Use hardware@ugrad.cs.ubc.ca to report hardware problems.

If you encounter any technical problems with Piazza, or if you have feedback for the Piazza developers, you can e-mail them at team@piazza.com.

Equity & Inclusion

We aim to build a community where equity and inclusion are embedded in all aspects of campus life.  If you require assistance related to issues of equity, discrimination or harassment please contact the Equity & Inclusion Office:

Brock Hall, Room 2306
604-822-6353
info AT equity.ubc.ca
https://equity.ubc.ca

Health & Wellness

Health and wellness, both physical and mental, are important for academic success.  If you are having difficulty with your studies, or feel overwhelmed, or are experiencing distress, UBC provides a number of resources to help.  You can also find tips on how to approach a friend who may be experiencing difficulties. For more information, please visit:

https://students.ubc.ca/health-wellness

If you are seriously ill or are dealing with a significant issue (e.g., the death of a close family member) that may prevent you from performing well on a midterm exam, please contact your instructor before the exam. Your instructor will advise you on how best to handle the situation.

If you face similar circumstances for your final exam, please talk to your Faculty advising office before you take the exam.  They will assist you in determining an appropriate course of action.  Please note that different Faculties handle requests for academic concession in different ways.  Links to further information for the Faculties of Arts, Science and Commerce are provided below:

  • Science: Exam Issues
  • Arts: Academic Concession
  • Sauder: Academic Concession

Centre for Accessibility (formerly: Access & Diversity)

The Centre for Accessibility provides support for students with disabilities, chronic medical conditions, and other challenges. If this applies to you and you require academic accommodations to meet course objectives, please contact the Centre for Accessibility:

Brock Hall, Room 1203.
604-822-5844
accessibility AT ubc.ca
https://students.ubc.ca/about-student-services/centre-for-accessibility

AMS Safewalk                  

If you find yourself in a situation where you do not feel safe travelling alone across campus at night and would like someone to accompany you, please contact the AMS Safewalk program by:

  • Calling 604-822-5355
  • Using a campus Blue Phone and asking for Safewalk
  • Dropping by their office in the Nest, Level 1, Room 1314

Also see this.

A list of online AI courses

Acknowledgements

Slides and other course materials are based on previous materials from Alan K. Mackworth, David Poole, Jordon Johnson, Giuseppe Carenini, Mehrdad Ovesi and Cristina Conati. Thanks, folks.

About

README and slides for CPSC-322 students

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Other 100.0%