CS B552: Knowledge Based Artificial Intelligence
(This information is subject to change)
Office: Info West 203
(inside the 205 suite). Please knock for office hours, even if someone
is with me, so I will know you are there.
Email: leake at
Appointments (in addition to
office hours): For appointments, please email my assistant
Michele Dompke, mdompke at Indiana.edu. Occasionally I have to
attend meetings on short notice; if I have to miss office office
hours, please email me with your constraints and I’ll be glad to set up
a makeup meeting as soon as possible.
Email: eterada at
David Leake’s office
hours start immediately; Eriya Terada’s office hours will start after the
first homework is assigned. Dates with adjustments will be noted
David Leake, IW203
Eriya Terada, IW205
12:45-2:15, Eriya Terada, IW205
David Leake, IW203
B551, or a similar introduction to artificial intelligence and permission
of the instructor.
To do well in the course and to benefit fully from the material it's
essential to have the AI equivalent of what mathematicians call
"mathematical maturity," for at least a semester of AI, to be able
to bring that to bear on assessing problems and in designing and executing
Homeworks will assume knowledge of B551 topics such as search and
planning. Homework programming will be in python. Projects may be
programmed in other languages with permission of the instructor/AI.
There is no required textbook, but Russell & Norvig's
Artificial Intelligence: A Modern Approach, Third edition, Prentice Hall,
2009, may be useful. There is a copy of the text on 2-hour reserve at
Swain Library. Many readings will be from current papers.
Homework and in-class
There will be both long homework assignments (generally
programming) and shorter assignments, which may be due as soon as the next
class after they are assigned. Consequently, if you must miss a class, be
sure to check with others in the class about the material covered and any
assignments you missed. There will also be short in-class exercises
during the semester, done and submitted during the class session.
There will be one in-class exam. No make-up exams
will be given except for extreme circumstances and if permission is granted before
Homeworks, including programming projects, are to be completed
individually unless specified as a group assignment. You may discuss the
material with other students, but all written work (code, etc.) must be
your own and must be written independently. You may not share
anything written, show copies of code, or take written notes/code away from
your discussions. You may not consult online code resources or other sources
concerning the solutions to homework problems.
Any interactions with other students concerning an assignment or use of
materials beyond Russell and Norvig or class assignments or resources must
be documented in your submission.
For more detail and examples, everyone should read the Computer
Science Graduate Program Academic Integrity Guideline.
Please discuss any questions on this with us before submitting your
Homework Submission, Due Dates, Lateness
Homework assignments are due by midnight on the due date unless otherwise
specified. Assignments will normally be submitted on Canvas. Be sure to verify after
submission that you have uploaded the desired file!
Keep a copy of the submission until it is graded and you have
verified the score recorded on canvas. You must notify us of any
problems within a week of posting of grades.
Some homework assignments may be due at the start of class and discussed
the day of submission, and will not be accepted late (this will be stated on
those assignments). For other assignments, each student will start the
semester with 3 “lateness days”, each allowing a submission up to 24 hours
late without penalty. We recommend conserving these for when they’re
needed for other classes have similar deadlines or unexpected
circumstances. After those are used, assignments allowing late
submission may be submitted up to 48 hours late, with a penalty of 15% per 24
Missed in-class exercises: There will not be make-ups for in-class
exercises, but the lowest 20% (approximately) of the in-class exercises will
be dropped from the final grade calculation.
If you have to miss a class, you are still responsible for any readings
and homeworks assigned there, so be sure to check with other students to find
out what material you missed.
Default Grading Scale
The default grading scale is the IU oncourse scale:
Email questions can be sent to either the instructor or AI.
Please begin the subject line with "B552". Email will be responded
to within 24 hours, unless otherwise noted (absence due to travel, etc.).
Please allow sufficient time for responses before assignment deadlines.
The AI will be the primary support for questions on programming assignments.
A note about artificial
intelligence and the goals of the course
As we will see throughout the course, AI is not a field in
which there is a set of neatly defined problems to solve, nor one in which it
is always obvious what constitutes the "right" solution.
Consequently, learning about AI involves not only learning about methods but
also developing a viewpoint on what constitutes an AI question, how to define
AI questions, which AI questions to explore, and how to recognize good
answers. Rather than simply learning the approaches, we will be thinking
critically about their goals and methods, analyzing their strengths and
weaknesses, and attacking AI problems to find ways to improve them.
This makes it an exciting and challenging area that may be quite different
from what you are used to studying in other courses.
This also makes studying AI a good preparation for
attacking real-world problems: A programmer or consultant's first task is
often to determine the key goals and to decide which method(s) to bring to
bear, before designing and implementing a system.
The programs that you write for assignments should be
designed to apply to a broad class of examples beyond those stated. Programming
assignments will specify a few test cases on which to demonstrate your
program, but your solutions should apply to a broad class of examples beyond
those stated. This is described more completely in the on-line handout
for programming assignments.'' Please ask if you are unsure about the
level of generality for a specific portion of the code.
Programs should be well-documented program and
submitted with output demonstrating their processing.
A major part of the course will be a semester research
project involving developing a knowledge-based system, writing a paper on
that research, and presenting your work in a course “mini-conference”. This
is expected to be a significant project going deeply into an area. For some
past students, this project has produced published conference papers and
long-term research topics continuing beyond the class. Projects will be done
in small groups (normally 3 students). Each student should contribute a
clearly identifiable portion of the project.
Students interested in AI are strongly encouraged to
select projects that will provide a basis for future AI research. Students
not intending to focus on AI are encouraged to select projects that are
relevant to their research interests in other areas. Your final project
can be an excellent addition to the portfolio of accomplishments you can show
During the semester, students will prepare brief progress
reports on their projects.
Paper Presentations and
The class will be divided into groups to examine a topic
in current knowledge-based AI research, critically analyze it, present it to
the class, and lead a class discussion.
The jumping-off point for the class session will be a
paper that the entire class will read. However, the presenters will go
beyond that to do a deeper analysis, bring in additional material, argue for
their own view of the material, and propose how it could be improved. The
paper presentation must go well beyond simply summarizing the paper and must
include leading class discussion. Presentation groups will normally be
graded as a team, but members may be graded individually, with input from the
group, if necessary due to major differences in contributions.
For each presentation, some students not in the
presentation group will be assigned as discussants. The discussants
will make a brief presentation after the main presentation, giving their own
ideas and responding to the points raised in the presentation.
Calculation of Final
Homework and in-class exercises will count 20%, the exam
will count 22%, in-class presentations and related work will count 25%, and
the final project (including presentations and written materials) will count
For group work, team members may be asked to provide an
assessment of the team members' relative contributions and/or to have an oral
exam on their code. It is expected that different members may make different
types of contributions, but overall contributions are expected to be
equivalent, for each team member to receive the same project score. If the
instructor determines that there were significantly different levels of
contribution, relative contributions may be used to weight the distribution
of points within a project group.
Students who need any special accommodation must contact
the professor during the first week of class to discuss arrangements.
Incompletes will be handled in accordance with Computer
Science Department policy. In particular, incompletes will only be given to
students who have successfully completed most of the coursework, and who have
an acceptable reason for the incomplete. Unexpected difficulty with other
classes is not an acceptable reason for an incomplete.
Computer Use in Class
Students are asked not to do e-mail or other
computer work in class.
If you have any questions that this doesn't cover, please