CPS 721: An Introduction
to Artificial Intelligence
Course Management Form
Mikhail Soutchanski. Phone: (416) 979 5000 ext 7954 (leave voicemail)
mes (at) cs (dot) ryerson (dot) ca
(write cps721 in "Subject", use your Ryerson email )
||Computing and Engineering Bldg, 245 Church Street,
||Tuesday 17:10 -- 18:00 Friday 10:10 -- 11am
- Afifa Tariq
afifa.tariq (at) ryerson.ca
(she marks the 1st assignment)
- Malcolm Gomes
malcolm.gomes (at) ryerson.ca
(he marks the 2nd and 3rd assignments)
- Tony Misic
tony.misic (at) ryerson.ca
(he marks the 4th assignment)
- Ryan Young
ryan.young (at) ryerson.ca
(he marks the 5th assignment)
sign in Zoom with SSO
sign in Zoom with SSO
Summary of Content:
There are cognitive tasks that people can do relatively easy,
but that can be difficult to program on a computer.
There are other cognitive tasks that can be difficult for people,
but that can be easily implemented on a computer.
Artificial Intelligence (AI) is the science of discovering the principles
how both easy and difficult tasks can be approached, and subsequently
developing computer systems that can carry out these tasks.
Educational Objectives: enable students
to learn some of the fundamental topics that underly several areas of
modern AI and to get programming skills of developing AI applications.
Basic logic and resolution-style reasoning are briefly introduced and
applied to solving problems such as combinatorial puzzles (e.g., scheduling).
Other basic notions from discrete structures are briefly reinforced
as well, such as basic modular arithmetic, functions and relations,
set cardinality and counting. The course introduces basic deductive
databases, and declarative conjunctive queries for information retrieval.
In addition, part of the course introduces
and reinforces techniques of developing recursive programs over general
recursive data structures (e.g., such as lists, trees, but other recursive
discrete structures are discussed as well). Several types of search
techniques are introduced (and/or reinforced) including brute-force search,
recursive backtracking, heuristics, depth- and breadth-first traversals.
The course introduces PROLOG, the programming language
based on logic programming. The students get a working knowledge of
writing basic PROLOG programs. The course introduces syntax and semantics
of natural languages (such as English), syntactic analysis, parsing,
and context-free grammars. The final part of the course reinforces
conditional probability, Bayes Theorem, independence and introduces
reasoning in Bayesian Networks.
This course provides introduction to several important AI problems and
techniques, including knowledge representation and reasoning,
constraints satisfaction, search, natural language understanding,
planning, uncertainty, belief networks, learning.
Lectures: 3 hrs. Tutorials/Labs (including quizzes): 1 hr.
Prerequisites: (CPS 305, MTH210, MTH 304 or CPS 305 and CPS 420).
At the end of the course, a successful student will be able to
accomplish the following tasks.
Formulate and trace conjunctive-style queries in PROLOG to a set of atomic
statements representing a deductive database, i.e., a relational database
augmented with general recursive rules for new relations.
Compare PROLOG lists and identify when they are similar (match) or not.
Write recursive PROLOG programs using recursive data structures such as lists and terms.
Solve constraint satisfaction problems (CSP) using two different techniques.
Be able to explain which of the programs for solving CSP is more efficient and why.
Demonstrate ability to conduct analysis of a given context-free grammar.
Parse natural language noun phrases or sentences and identify the sources
of ambiguity in them.
Solve planning problems using a simple depth-first planner, including ability
to implement preconditions of actions and their successor state axioms
that describe how facts change due to actions.
Compute probabilities for diagnostic and prediciton queries
from a given Baysian network.
The course is delivered remotely in Fall 2020 including 3 (2+1) hours
of synchronous lectures per week and 1h of synchronous lab/tutorial per week,
for 12 weeks. The lectures will be delivered over
Zoom, but they will not be recorded.
Students are not allowed to record the lectures.
Before joining a lecture, sign in using Single Sign On (SSO), i.e.,
authenticate with your my.ryerson.ca credentials.
Ryerson international students enrolled in CPS721 can access Zoom through
a proxy service similar to a virtual private network (VPN).
This service can be accessed only outside of Canada, US and Mexico.
The Zoom links
and passwords are posted from a CPS721 course shell on my.ryerson.ca
accessible to all students enrolled in CPS721.
It is required to register for lectures in advance using your Ryerson login.
Some of the lectures may include problem solving sessions, where the instructor
will solve problems similar to homework assignments and similar to exams.
All the presentation slides, except of problem solving sessions, will be posted on D2L
to faciliate asynchronous learning. The labs may include tutorials and
solving typical problems similar to exams and homework assignments.
Compulsory Text Book:
Thinking as Computation: A First Course, written by
Published by the MIT Press, paperback, 328 pp, August 2017,
online content). This textbook is available from
AbeBooks (used or new).
The students are expected to read assigned chapters from this book in addition to lectures.
Recommended Reference Books:
Stuart Russell and Peter Norvig
Artificial Intelligence: A Modern Approach,
4th edition, Copyright 2020, Publisher:
Pearson, ISBN-13: 9780134671932, 1136p, online price $70US. The students can either buy, or
In addition, students can purchase an
electronic copy of this book directly: $69.99 for 180-day eText subscription or $122.23 for lifetime eText access.
Computational Intelligence: A Logical Approach
by David Poole, Alan Mackworth and Randy Goebel,
ISBN-13: 9780195102703, Publisher:
Oxford University Press, 576 pages, 1998.
Common Sense, the Turing Test, and the Quest for Real AI by Hector Levesque.
Published by the MIT Press, paperback, $17(US), 192pp, March 2018, ISBN: 9780262535205.
Topics (tentative sequence):
This course will provide undergraduate-level introduction to several important
AI problems and techniques,
including deductive reasoning,
writing recursive programs over recursive data structures,
finding solutions that satisfy a given set of constraints
(e.g., computing a schedule or solving a puzzle),
understanding natural language (e.g., parsing noun phrases),
problem solving and planning,
pruning of search space,
Each topic takes about 2 weeks.
A moderate amount of Prolog programming will be required
as part of the course.
Policy on collaboration in homework assignments or quizzes
To pass the course you have to get at least 50% of the total course marks
calculated from homework assignments, labs, midterm test and the final exam.
See the grading scheme below.
The students are strongly encouraged to take notes in class,
and study their notes after class. Learning can be a gradual process
that requires time and efforts. The students benefit from attending lectures
and labs since some important details will be discussed only there.
For this reason, attending lectures and tutorials/labs is mandatory.
All course materials posted on D2L and presented over Zoom are copyrighted
and protected by law. You cannot share them with anyone.
You cannot repost them anywhere on the Web.
Please review the
Ryerson University policy
Moreover, you cannot post any of your solutions to the labs or to assignments, since doing this would violate the cps721 policy on collaboration, and the Ryerson University Academic Policy 60.
You can read
parts of this policy online related to "Academic misconduct".
The policy for remote synchronous content delivery over Zoom: the students are
expected to use a Chat Window only for asking or answering lecture-related questions, but
not for personal communication. The students are expected to pay attention
to a lecture and volunteer to answer instructor's questions during the class-time.
The students are normally expected to keep their mics mute and unmute them only
to answer instructor's questions. The students can keep their video on (recommended)
to facilitate communication.
They might be asked to participate in unannounced polls or quizzes.
The Ryerson University has issued a
minimum technlogy requirement for remote learning.
The policy about electronic devices for in-person lecture delivery:
turn off your mobile phones and all other electronic
devices in class. You can keep your laptop or tablet open only if you use
it to take notes in class.
The quizzes, a midterm exam, and the
final exam may include problem solving, short essay questions
as well as writing Prolog code.
The duration of these examinations may be around 15-20 min, 1h40min,
and 2h, respectively. Quizzes can be given at any time without prior warning.
The final exam will be cumulative and will include all
the material covered throughout the term.
There will be no supplemental examination.
Grades are earned for the demonstration of knowledge.
If you miss a midterm test, or a final exam for medical reasons, you have to
submit an academic consideration request through the
Online Submission Form and
hand in a hard copy of a completed
Health Certificate to the department of Computer Science within 3 working days.
You have to bring your documents yourself to the CS front reception desk.
Once the Program Department has verified the student’s health documentation,
the instructor will be notified of the verification.
Similarly, all documentation related to special accomodation or
academic consideration should be submitted to the CS program office within
the specified time limits.
Dates are subject to change, all changes will be announced in class and on
the course Web pages.
Assignments should be submitted on or before
the deadline specified in the assignment
(you are encouraged to submit assignments earlier).
Your assignment is considered late if any part of the assignment is late
(even if it is just 1 minute late).
The penalty for a late assignment is 10% off. No assignments
will be accepted if more than 24 hours late. Start solving your assignment
on the same day when it is posted. Do not procrastinate.
No make-up assignments.
(Late assignments: if a hard copy is required, then to hand in the printout
you can give it in person to a
secretary at the CS reception desk and ask her to put a stamp on your assignment
to confirm that you handed in your assignment in time. Send email to the TA
who is responsible for marking this assignment: inform that a hard copy of
your assignments is available from the front desk.)
All assignments have to be submitted electronically on D2L into the specified folder.
From time to time, I will hand out exercises.
The students are expected to solve the exercises, but
they will not be graded. However, working on exercises
will improve your understanding of this course
(and will help you to get better marks on tests).
Up to 5% (or less) extra credit may be assigned for active class participation
throughout the term, e.g.,
a student attends most of the classes, participates actively by
asking/answering questions, solves exercises in class.
Class participation marks are earned for active course participation and
given at discretion of the course instructor.
The course participation marks cannot be requested by the students.
Tutorials/Labs are mandatory. Each student must attend over Zoom
only the section where s/he is assigned. No transfers between sections are possible.
The students have to register for the labs in advance using their Ryerson login.
Usually, each tutorial includes a mini-lecture and a few polls.
Each student must answer poll questions individually. In addition,
the TA who is teaching a lab can provide additional practice questions/quizzes.
It is recommended to submit solutions to these questions on D2L to a folder
allocated to each week. Mention your section and the name of your T.A. to facilitate
receiving feedback to your solutions. The students who regularly submit their solutions
to lab practice quizzes may receive feedback from their T.A. and become eligible
for extra 5% participation marks.
Lab Marks: are given for attendance and answering correctly poll questions, as specified by T.A.
The lab mark will be given only if
- the student attends the entire lab in the section where s/he is enrolled,
- the T.A. observed the student actively participating in discussion,
solving questions in polls, and
- the student signed up the Zoom session as required,
provided a family name and a student number.
- There will be no make-up labs. No video recordings of lab, or notes
from the labs will be posted. The student who missed a lab
should try to solve independently the exercises given during
the lab time and verify the solutions with the T.A., or with peers in class.
Handouts and assignments will be made available on the Web only.
More specifically, they will be linked from the cps721 online course
shell on my.ryerson.ca Also, you are responsible for visiting
the Homework Assignments Web pages regularly and reading all information that is
provided or linked from these Web pages. In particular, Frequently
Answered Questions (FAQs) related to cps721 home work will be linked
from this Web page. These FAQs are considered to be an integral part of
the assignment. Before sending your questions by e-mail to the instructor,
check these Web pages and a CPS721 course shell on D2L
whether similar questions have been already answered.
Repeated questions will not be answered.
- Email communication: you can send email from local Ryerson's
email addresses only: you can use either your departmental account
(preferred) or your university account to send email.
Email sent from Google, Yahoo, Hotmail
and any other external domains can be filtered out as spam and might not
reach me. Email messages will be normally answered within 24 hours;
however, messages sent on weekend (starting from Friday evening) will be
usually answered on Monday.
Grades for tests and assignments will be normally
posted on my.ryerson.ca Web site
no later than two weeks after the due date (test date).
Marking guides, the assignments and
some other course related documents will be posted on
my.ryerson.ca only. Feedback
will be usually provided to students within two weeks. The students can email
the TA who was marking the assignment (see the top of this page) if they
have questions about marking, or attend the office hour.
If an electronic copy
of the assignment was marked by a TA using a script, and it was additionally required
to hand in a hard copy, then in this case hard copies will not be normally returned.
Missing marks for labs cannot be requested since only those students who attended a lab
and actively participated are eligible to get a mark (see the policy for labs above).
Limited collaboration in discussing general approaches to problems
is allowed with students in your team. No collaboration is allowed
between teams. You may discuss assignments only with other people
currently taking the course.
However, you should never put your name on anything
you do not understand.
you must be able to reproduce and explain all solutions by yourself,
or solve similar exercises. If you cannot explain a solution that
you handed in, or if you cannot solve an exercise similar to questions
in your home work or in your quiz, this will negatively affect your grade. In
particular, you might be asked to solve exercises during the office
hours, during one of the labs, or in class (as a quiz). These unscheduled
tests or evaluations can be given at any time without prior notice.
Remember that if you work with partners,
you are still expected to know solutions of all exercises from the home
work. Grades are earned for the demonstration of knowledge.
In cases when a student fails to demonstrate knowledge about a
home work, the grade for the home work can be decreased to 0.
The first page of your homework should include: the name of all
students with whom you discussed any homework problems (even briefly).
Otherwise, it is assumed that you didn't discuss with anyone except the
instructor. Copied work (both original and copies) will be graded as 0.
Involvement with plagiarism will be penalized in accordance with Academic
Policy 60. Additional penalty for copied work may be assigned as deterrence
against plagiarism. More specifically, additional penalty for a copied
assignment (in part or in whole) can be up to -4% of the final course grade.
Additional penalty for a copied (in part or in whole) solution to a quiz
can be up to -1% of the final course score.
Virtual Proctoring Information
Online exam(s) within this course use a virtual proctoring system
Respondus Lockdown Browser and Monitor. Please note that your completion
of the exam will be recorded via the virtual platform and
subsequently reviewed by your instructor. The virtual proctoring system provides
recording of events that may indicate suspicious behaviour during the exam.
Recordings will be held for a limited period of time in order to ensure academic
integrity is maintained.
You will need to ensure that you can complete the exam using a reliable computer
with a webcam and microphone available, as well as a high-speed internet connection.
This is your responsibility as a student. The computer should have the latest operating
system, at a minimum Windows 10, Mac (OS X 10.10 or higher) and
web browser Google Chrome or Mozilla Firefox.
As part of the setup for Monitor and Lockdown Browser, you may need to disable
certain browser plug-ins or close particular software. This is to ensure a fair and
secure exam environment.
You will also need to install Respondus Lockdown Browser software on your computer.
You must have administrator access on your computer to install this software.
The Lockdown Browser will prevent you from using any other applications on your
computer while you write your exam. Once you submit your exam, you will be able
to access all applications again, as usual. It is recommended to download
Good lighting: Your face must be well-lit
on the webcam, so that your instructor can recognize you while you write your exam.
Please note that you will be required to show your Ryerson OneCard prior to beginning
to write the exam. In cases where you do not have a Ryerson OneCard, government issued ID
is permitted. Information will be provided prior to the exam date by your instructor
who may provide an opportunity to test your set-up or provide additional information
about online proctoring. Since videos of you and your environment will be recorded
while writing the exam, please consider preparing the background (room / walls)
so that personal details are not visible, or move to a room that you are comfortable
showing on camera. The complete
set of instructions is available from the Ryerson University website. Click on
Guide to Respondus LockDown Browser and Monitor.
Committing academic misconduct, such as plagiarism and cheating,
will trigger academic penalties including failing grades,
suspension and possibly expulsion from the University.
As a Ryerson student, you are responsible for familiarizing yourself
Student Code of Academic Conduct.
The policy for remote synchronous content delivery over Zoom:
the students are expected to use a Chat Window only for asking or answering
lecture-related questions, but not for personal communication. The students
can click on a "Raise a hand" icon in the Participants winfow in Zoom,
if they have a questions, or unmute themselves and ask a question verbally.
The students are expected to pay attention to a lecture and volunteer to answer
instructor's questions during the class-time. The students are normally expected
to keep their mics mute and unmute them only to answer instructor's questions.
Make sure there are no background noises and no audio distractions in your environment.
In the case of in-person classes,
in order to create an environment conducive to learning and respectful of
others rights, phones and pagers must be silenced during lectures, labs and
evaluations. Students should refrain from disrupting the lectures and labs
by arriving late and/or leaving before the lecture is finished.
Policy on Non-Academic Conduct
No disruption of instructional activities is allowed.
In particular, taking video/photos in class or taking screen-shots of Zoom
window is strictly prohibited
since this violates the copyright and privacy policies.
Limit communication in Chat Window only to questions/answers related to a lecture.
Do not send any private messages to other students. Do not distract your peers
from learning in class with messages unrelated to lecture.
if you know how to answer a question, or you know what the next step should be,
or you have a question related to the lecture, click on the "Raise Hand" icon in
Participants Window in Zoom. If you are chosen, then unmute your mic and speak.
Among many other infractions,
the Code specifically refers to
the following as a violation: ``Disruption of Learning and Teaching -
Students shall not behave in disruptive ways that obstruct
the learning and teaching environment." In particular, the students
can use their electronic devices in class only for taking notes.
In difficult cases, penalties can be imposed
by the Student Conduct Officer.
Remarking / Recalculation Policy
Grades are earned for the demonstration of knowledge.
Read carefully the marking guide for the assignment or test you'd like
to be remarked. Your grade may go up, down, or remain the same.
Fill in this
remarking form (available online). Attach this form to the hard copy
of your assignment, if you handed in a hard copy. Otherwise, if a hard copy
was not required, fill in the form and email it to the TA
who marked your assignment. Same rules apply if you request recalculation
to correct an arithmetical error in calculating your total score.
Forward/Email your remarking request form to the TA/GA who marked your assignment.
Normally, the marking guide posted on my.ryerson.ca
includes the name of the TA/GA who was responsible for marking the assignment
(see also the top of this page). It is your responsibility to forward your
remarking request to the right contact person.
Remarking request can be only submitted within 10 days of the date
when the assignment/test marks were posted.
It is your responsibility to check your CPS721 marks
as soon as possible. Late regrading and recalculation requests will not
be accepted. Also, if a student failed to attend a lab or sign up a quiz,
the missing marks for quizzes cannot be requested. There are no
make-up quizzes in cps721.
Mark can decrease if TA finds something that was incorrectly
awarded too high a mark.
Tentative Course Calendar
(all changes of dates will be announced)
||Grade Value (%)
September 28, Monday
October 12, Monday
October 26, Monday
Tuesday, October 27, 15-17
November 16, Monday
November 30, Monday
As per timetable above, from Mon, Sept 14
Dec 10, 2020 15:00EST ONLINE
The total mark is calculated from the marks for assignments, quizzes, midterm and
the final exam.