Computer Science 470
Fall 2009
Syllabus
Text
Artificial Intelligence: A
Modern
Approach, 2nd Edition by Stuart Russell and Peter Norvig,
Prentice
Hall (ISBN 0-13-790395-2). This book is brand new, and appears to
be the most widely used introduction to AI. My printing is
missing
pages 389-420; we will not be covering this in class, so if your
edition
has the same problem it will not kill you.
A book that covers some of the material that we will discuss in
class
that is not covered in Russell and Norvig is Introduction to AI
Robotics
by Robin Murphy.
Homework
This semester, all homework will be submitted on paper.
Format
Each problem you submit will include a description of the problem along
with the solution. You must show all work to receive full credit.
Deadline
Homework will be turned in to me in class. Homework is due at the
beginning of class. Late homework will not be graded
and will receive a score of zero unless you have a really, really,
really good excuse. If you are sick, please try to contact me before
class to make arrangements.
Homework Discussions on the class wiki.
You are encouraged to discuss the homework on the class wiki,
and read all posted news before beginning and submitting any homework
assignment.
Working Together
Please feel free to work in groups, but do not simply copy homework
answers
from others. Copying work from current or previous CS 470 students is
considered
cheating even if you are only copying a small portion. For labs,
you may work in teams of no more than two people.
Quizzes
Quizzes may be given from time to time and will cover the assigned
reading
and/or topics from previous lectures. I will also give
self-evaluation
quizzes that will not count for credit, but will help you know if you
are
prepared for exams.
Labs
There will be six labs assigned during the course -- five traditional
labs and a final project. Please check
the
class
schedule for details.
The labs are an important part to understanding the concepts taught
in class. All labs MUST be completed in order to
pass
the class. These labs require significant programming. CS
240
is definitely a prerequisite to this course, and if your programming
skills
are lacking you will assuredly have difficulty finishing these
projects.
Before
asking the instructor or TAs about simple C++ syntax, please refer to
books and on-line manual pages on the subject.
You are free to use whatever platform and programming language that
you want, but we will be running the final project under Linux.
Since the final project
will
be tested under Linux, you may want to do the development under
Linux. Since this is a senior-level CS course, you are expected
to be comfortable with C++ and Linux.
Groups
You may work in teams of two students on each lab. I suggest that you
do
labs as a team, but please be equally yoked. Each student in the group
should contribute to each lab. In your lab submissions, I require you
to
give a breakdown of the time each team member spent on the lab; if the
hours are greatly out of balance, I reserve the right to change one or
more partner's
grades. I have done this before, so make sure that you both work
equally hard. Additionally, please share ideas with other teams, but do
not be
unethical and submit two copies of a program developed by two or more
teams or copy code segments from another team.
Submitting Labs
Most labs will be passed off in person to the TAs. Sign-up times
for passing off will be posted on the TA office door. When labs
must
be passed off in person, you must pass off before
the last available TA hour. In other words, labs are due no later
than the time TA hours end on the assigned due date.
Although most labs will be passed off in
person,
the last lab will be submitted by email.
For labs submitted by email, use the following form:
Subject Line
The subject line should read, "CS470: Final Project". Please
be
exact.
Message Body
The main body of the message should contain personal information, such
as problems you encountered during the lab, etc. Include the names of
both
lab partners and a statement of the time spent by each partner on the
lab.
If required, results from your lab should be included in the body of
your
message.
Binary Attachment
Send your executable as an attachment to the message. Although you may
develop your program anywhere you want, your submitted executable must
run correctly on the department Linux workstations. The attachment type
should
be in MIME format.
E-mail Address
Send the e-mail with the lab to this address: cs470ta@cs.byu.edu
Late Days
For each school day your lab is late the score will be reduced by 20.
Labs
are worth 100 points. This means that if you earn 85 points
but you are one day late, you will instead receive 65 points, but if
you
are 2 days late, you will receive 45 points. The last lab has no
late days and MUST be turned in on the day it is due. Don't be Late! Go
ahead, start working on the labs early. It won't hurt.
I realize that problems sometimes arise during the semester which
prevent
you from turning a lab in on time. To deal with this and to
encourage
people to submit labs early, we will use the following "pay-it-forward"
policy.
For every two days you submit a lab early, you can earn a late day.
For example, if you turn in lab 3 two days
late
but lab 4 four days early, then no penalty will be assessed to lab
3.
If you turn in lab 3 two days late and lab 4 three days early, you will
be assessed a "one-day late" penalty unless other labs are submitted
early.
Note that the final lab cannot be turned in late; failure to turn
the lab in on time will result is a failing grade.
Exams
Two midterm exams will be given. This semester, the exams will be
given in the testing center.
The final exam will be given in class. Students failing to take the
final
exam will receive an E regardless of other scores.
The use of books, notes,
and friendly neighbors will not be permitted on any of the exams. I
occasionally use questions from previous exam --- this allows me to
limit the number of new problems that I have to write each semester and
helps minimize the number of times you have to face a poorly worded
question. As a result, you are not allowed to study from my
previous exams; doing so is cheating.
A calculator
is a must have item.
The final exam will not be given early; please don't ask me to
disregard
university policy.
The topics schedule and topics for the two midterms can be found on
the class webpage. The final will be comprehensive, although there will
be more stuff from the topics covered later in the semester.
Grading
Assignments and exams given throughout the semester are categorized and
weighted according to the following schedule:
| Category |
Weight |
| Homework and Quizzes |
10%
|
| Labs |
35%
(7% each)
|
| Final Project |
15%
|
| Midterm I |
10%
|
| Midterm II |
10%
|
| Final Exam |
20%
|
All labs must be completed to pass the class
The final lab will be graded partly on the basis of how well your
work compares
to other students; we will have a competition and your success in the
competition
will be part of your grade. The winning team is guaranteed to
receive
an A in the class as long as they pass the final exam. Passing
the
final is defined as scoring higher than a C- (higher than 68).
Grade Scale
Grades may be adjusted slightly at the end of the semester to account
for shortcomings in my effort to relay concepts to you. The adjustments
made to the grading scale will only help you get a better grade. The
percentages
in the following chart show the grade that is guaranteed (ie if you get
a 95.0% you will not get a grade less than an A)
| A |
95 - 100% |
B- |
80 - 81.9% |
| A- |
91 - 94.9% |
C+ |
76 - 79.9% |
| B+ |
87 - 90.9% |
C |
72 - 75.9% |
| B |
82 - 86.9% |
C- |
68 - 71.9% |
Class Participation
Throughout the semester, I will record class participation. At the end
of the semester this will be used to help students who are on the
border
between grades. For example, if your score is on the border between a B
and a B+ and if you participated in class then you will receive a B+.
By
contrast, if your score is on the same border and you have not
participated
in class then you will receive a B. In past semesters, this
participation
credit has typically been around 0.5%; between three and four students
in a class of 30 will benefit from participation credit.
To receive class participation, you must actively participate in
class
(answer questions, show an example on the board, etc.), or make a
substantial
contribution to the course (correct several webpage errors, suggest a
major
improvement to a lab, help me learn something new, etc.). For the fall 2009 semester, you may be able to get
participation credit for being
a subject in experiments we are running in the HCMI research lab.
Please
contact me for details.
Online Grades
Your grades are available online from blackboard. We will do our
best to get things recorded correctly, but if something is not correct
it is your responsibility to point this out to us. All
corrections
to grades must be made
within two weeks after the score
is
posted, so check the scores regularly.
No assignments or labs will be accepted during or after reading days.
Cheating, Harassment, and Other Ethical Considerations
Cheating
I encourage you to work with others to accomplish the homework
assignments
and laboratory exercises. Working together, however, does not mean
dividing
up the problems or labs and then sharing answers afterwards. You should
never turn in any work that is not your own; this applies to both code
and to homework. It is far better to do
poorly
on an exam than to compromise your integrity.
I consider it unethical to use, borrow, study, or distribute old
exams,
homework, or lab materials (other than those provided). The work in
this
class should be your own and not simply a copy of someone else's. If
you
use any material from earlier semesters of this course you may receive
a failing grade. If you have taken the course before please come and
talk
with me about this policy.
Harassment
The following is BYU's statement on preventing sexual harassment.
Title IX of the Education Amendments of 1972 prohibits sex discrimination against any participant in an educational program or activity that receives federal funds. The act is intended to eliminate sex discrimination in education and pertains to admissions, academic and athletic programs, and university-sponsored activities. Title IX also prohibits sexual harassment of students by university employees, other students, and visitors to campus. If you encounter sexual harassment or gender-based discrimination, please talk to your professor; contact the Equal Employment Office at 801-422-5895 or 1-888-238-1062 (24-hours), or http://www.ethicspoint.com; or contact the Honor Code Office at 801-422-2847.
I believe that everyone should be able to participate in my class
without
the fear of harassment, and I am committed to the university's
policy.
Moreover, please remember that just because a behavior is not
technically harassment, it may still be inappropriate. Be sure to
treat all students with respect regardless of age, gender, or race.
Computer Abuse
Accounts on Computer Science Department
computers
are privileges to be used in conjunction with and in
support of various related Computer Science
classes. Abuse in any form will result in immediate
suspension of your account(s). If an abuse
involves a violation of the honor code, you will be referred to
University Standards. If an abuse involves
illegal activity, appropriate authorities will be notified. In either
case, you will be immediately dropped from
all Computer Science Classes you are enrolled in. Some
violations are punishable by expulsion from
the University. Your keystrokes may be monitored and saved.
Examples of abuse of your account include:
1.Transfer or storage of
pornographic or illegally duplicated material.
2.Use of your account to
probe or crack security systems, including passwords, or to intercept
information
intended only for others.
3.Sending mass, commercial,
obscene, or harassing email or usenet news posts.
4.Sharing your account or
account password with anyone.
5.Misusing your lab
privileges,
including game playing, and especially actions which could cause
damage,
such as
rebooting
a workstation.
Disabilities
The following is BYU's statement on students with disabilities.
BYU is
committed to providing reasonable
accommodation to qualified persons with disabilities.
If you have any disability that may adversely
affect your success in this course, please contact the University
Accessibility
Center at 422-2767. Services deemed
appropriate will be coordinated with the student and instructor by that
office.
I am committed to working with students with disabilities and have
successfully worked with the Accessibility Center in previous semesters.
Internet Resources
As much as possible, this class will be conducted electronically.
Class announcements,
homework and laboratory assignments will be made available through one
or more of these, usually blackboard, email, or via the class homepage. It is your responsibility to keep current.
Blackboard
Blackboard (available from Route-Y) is like
a bulletin board; it allows anyone to post a message for everyone else
to read. Both your instructor and your TAs will use it to post
important
class announcements (such as homework keys, lab source code, tips on
how
to make labs easier, etc.), so you are advised to read it regularly in
order to stay current. However, we'll try to send you emails of important changes
so blackboard may just be the place where grades are posted.
Electronic Mail
You are invited to send e-mail to either your instructor or your TAs
for
personal matters, but any e-mail which contains inquiries that can
serve
for the benefit of the entire class ought to be posted on Blackboard.
Submissions (labs, etc.) should be sent to the TA account at cs470ta@cs.byu.edu.
Again, any correspondence that is not of a personal nature, such
as
questions about homework due dates, etc., should be posted publicly on
Blackboard for the benefit of all. If you have a general question like
that, there is a good chance someone else in the class does, too.
Make sure that your RouteY account has a current email
address. I frequently send email to the class --- especially when
I need to correct a mistake made in class or when an urgent
announcement must be passed to all students.
Class Wiki
The class is a great place to
ask and answer questions about labs. Students used the wiki very
effectively in previous semesters, and I'd encourage you to use it this semester
too. I've included a link to the wiki from last fall. Since the labs vary
from year to year, the wiki is not a perfect source of information but it
could provide you with some very useful information. For example, the old wiki
includes code
for lab 1 that helps you visualize your potential fields.