Overview
"Foundations of Artificial Intelligence" teaches artificial intelligence from
an intelligent systems and robots perspective. You will learn about algorithms that
allow you to build systems/robots that can interact intelligently with their
environment, including those that plan, learn, and reason about the world.
If you want to learn more about artificial intelligence, you can start with:
"Artificial Intelligence on the Web" (http://aima.cs.berkeley.edu/ai.html).
If you are also curious about "transform" robots and how to use the
simulator for your class projects, please visit (Polymorphic Robotics Lab).
Prerequisites
CSCI 561 is a graduate introduction to artificial intelligence. It assumes no
knowledge of artificial intelligence. It does not make sense to take CSCI 460
(the undergraduate introduction to artificial intelligence) before CSCI 561.
In fact, if you have already taken a decent (undergraduate or graduate)
introduction to artificial intelligence at any university and do not
need a refresher of that material, you likely should not take CSCI 561. You
could, for example, use CSCI 573 (Advanced Artificial Intelligence) as a
substitute but should discuss this decision with your advisor.
The prerequisites of CSCI 561 include a solid understanding of data
structures, algorithms, programming and theoretical computer science
(comparable to undergraduate classes at USC) since you will have to be able to
understand algorithms and read pseudocode. You should also know the basics of
probability theory although we will give a short refresher lesson in
class. Finally, you should know how to program in C or C++ since the projects
will likely use them (although we expect graduate students to be able to pick
up any computer language in a couple of days and thus sometimes use other
programming languages in CSCI 561, such as Matlab). Do not take this class if you
cannot program well. The most important prerequisite of all, however, is your
interest in the class, motivation, and commitment to learning. If you are not
sure whether this class is for you, talk to us.
Textbook
The textbook for the class is "Artificial Intelligence - A Modern Approach" by
Russell and Norvig (Prentice Hall). It is important that you read the
latest (3rd) edition. We will not cover all of the chapters and,
from time to time, cover topics not contained in the book.
The secondary and option text work is Autonomous Learning from the
Environment by Wei-Min Shen. This book gives your an more indepth
view of robots that learn from their environment. The readings of this
book are suggested in the schedule to assist your reading plans.
The Importance of Attending Lectures
It is important to attend the class lectures because we are not
just repeating the material in the book, we are working out problems
in class with a lot of interactions. These problems are important for
your projects.
Class Webpage
The class webpage will be at http://www.isi.edu/robots/CS561.
Lectures and Sessions
We will make the lecture slides available on the class webpage before the
lectures. The lectures are meant to summarize the readings and stress the
important points. Thus, we expect you to read the corresponding part of the
textbook before the lectures. If you miss a class, it is your responsibility
to find out what we discussed in class, including which announcements we made
in class. If there is something that you don't understand, feel free to
interrupt the lecture or session with questions. Your active participation
in class is crucial in making the class successful. Use your colleagues as
a resource (they are working towards the same goal as you are), for example,
by forming study groups or posting questions on the discussion forum. If you
need additional help, please feel free to go by the TAs during their office
hours. If lots of students are confused, the TAs will give help sessions with
additional examples. So, let us know if you get confused!
Exams
There will be one midterm and one final. The midterm will be in class, and the
final will be during the officially scheduled date. This date is part of the
final examinations schedule that USC posts as part of the current schedule of
classes on www.usc.edu (click on "Schedule of Classes", then on the current
semester, and finally on "Final Examinations Schedule"). No makeups will be
given. The exams will be based on the textbook ("Artificial Intelligence - A Modern
Approach" only) but closed books and notes. There will not be any extra credit problems on
the exams. Bring a calculator and your USC ID to the exams. You will not be allowed
to write the exam without presenting your USC ID. Laptops, cellphones and any other
devices that can potentially be used to communicate with others inside and
outside of the classroom are not allowed. Exams written in pencil receive
a zero score.
Projects
There will be three graded projects. All or at least most of the projects will
involve programming. The projects will be run in a robotic simulation
environment at (Remod-3D).
You have to install this simulator on your laptop computer and learn
from examples C++ program how to program and build simulated robots
yourself. There are many examples on the website site to assist your
use of this simulator.
All projects have to be done individually. The basic objectives of the
projects are as follows. Project 1: Design and implement a simple robot Rx to move from point A to point B in an open
environment. Project 2: Give Rx intelligence so that it can search and navigate a path from point A to point B in a crowded environment.
Project 3: Make Rx learn from its own experience so that it can find a
target in its environment quickly.
Extra-Credit: Make Rx transform its body in order to solve problems in
Project 2 and Project 3.
Late Project Penalty: -30% of the project grade for each day that is late.
So, please start to work on your projects early and hand them in early.
Do not copy from others or let others copy your work. In particular, you have
to cite all of the resources you relied on for coming up with your answers. This
includes people, web pages, publications and other write ups. You are not allowed
to use code or code snippets of others, that is, that you did not write
yourself. You are not allowed to discuss with others how to solve the projects..
All students are responsible for reading and following the Student Conduct
Code as given in the current SCAMPUS. Note that the Student Conduct Code
prohibits plagiarism. Some examples of what is not allowed by the conduct
code: copying all or part of someone else's work (by hand or by looking at
others' files, either secretly or if shown) and submitting it as your own,
giving another student in the class a copy of your assignment solution, and
consulting with another student during an exam. If you have questions about
what is allowed, please discuss it with the instructor.
Students who violate university standards of academic integrity are subject to
disciplinary sanctions, including failure of the class and suspension from the
university. We will strictly enforce the Student Conduct Code and follow the
suggested penalties since dishonesty in any form harms the individual, other
students, and the university. This includes filing all suspected violations
with the Office of Student Judicial Affairs and Community Standards.
Homework
To help you prepare for the exams, we will post "text-book style" homework
with short questions. We will not collect or grade your solutions. However,
solving this homework is important because it ensures that you have
understood the material and helps you to prepare for the exams. We will post
solutions to the homework approximately one week after we posted the homework.
Grades
We will NOT grade on a curve. If everyone does well, everyone will get a good
grade. If everyone does poorly, everyone will get a bad grade. Projects and exams
have the following weights:
Project 1: 10%
Project 2: 20%
Project 3: 20%
Midterm: 25%
Final: 25%
There will be no possibilities for receiving extra credit.
The intended grading scale is as follows. The instructor reserves the right to
adjust the grading scale.
85% and larger: A
80% - 85%: A-
75% - 80%: B+
70% - 75%: B
65% - 70%: B-
60% - 65%: C+
55% - 60%: C
50% - 55%: C-
Scores below 35% result in an F. The instructor will assign grades from A to
F, if warranted. There will always be some students who are very close to
grade boundaries. There is nothing we will do about that. Grades are based on
performance, not need or personal circumstances, and the instructor does not
negotiate grades. Thus, do not take CSCI 561 (or take it completely at your
own risk) if you need a certain grade, for example, because you are graduating
or because you have been conditionally admitted.
The work load for CSCI 561 is very heavy. To receive a good grade, you will therefore need
to perform well in both projects and exams. The TAs will announce how we maintain the scores, so
that you can check them for correctness. You will need to let us know about
any grading issue with an exam, project or similar within 10 days of us
posting the score for that exam or project. After that time, we will no longer
entertain your requests for changes in your score. If you have a grading
issue, you will need to discuss the issue first with the TA in charge of
grading. If you cannot reach consensus, you can then appeal the grading issue
to the instructor. Both the TA and the instructor might check the exam or
project completely for grading issues and adjust your score up or down as
appropriate.
During the semester, if you feel that you might get a bad grade and worry
about how it might affect your minimum GPA requirement or other requirements,
please talk to your advisor immediately and then consider dropping the class.
Foreign students might have to take a certain number of classes to satisfy
their visa requirements, so it is especially important that you talk to your
advisor before you drop the class. If you do not drop the class by the drop
date, then you are stuck with it.
Problems and Concerns
At some point, you will have questions. For example, you might not be able to
get code to run that we provided, there is something in the textbook that you
do not understand, and so on. In this case, we encourage you to post the
question to the discussion forum and see whether someone can help you. If this
approach does not generate the desired result, then the TAs are happy to help
you in person. They do answer email but, unfortunately, often will not manage
to answer it on the same day. (Sometimes, they will be out of town and it will
take them even longer.)
It is very important to us that you voice your concerns about any aspect of
the class as soon as they arise. Please send an e-mail to the instructor, call
us, or talk to us in person. We will accept anonymous notes (either on paper
or via email from any free "on-the-fly" email account) and treat them
seriously, as long as they are sincere and constructive. Your comments will
have an effect on the class, so do not be hesitate to provide them.
There are only a few situations that you will need to avoid because we will
not be able to help you. We will not be able to deviate from the grading
criteria for you, we will not be able to avoid involving the Office of Student
Judicial Affairs and Community Standards in case there is evidence that you
violated the standard of academic integrity, and we will not be able to accept
excuses unless you provided us with a note from a doctor (or similar
professional) that verifies the problem and you told us about the issue
IMMEDIATELY WHEN IT AROSE (not after it has already affected your performance
in class). We accept only true emergencies as excuses, such as your sickness
or a death in your immediate family. We are sorry that we cannot make exceptions
to these rules. So, please do not ask for them. In particular, CSSI 561 is a
"strictly no exceptions" class due to the large class size, meaning that we will
not make any individual exceptions to our rules, not even in hardship cases,
unless clearly mandated by USC and its rules. It is therefore important that
you abide by all rules precisely!
Artificial Intelligence is a fun topic, and we hope that all of us will have
lots of fun!