CSCI-363/780: Artificial Intelligence, Spring 2007
CUNY Queens College

Course Structure * Course Topics * Assignments * Resources


Dr. Matt Huenerfauth
Office: Science Building A330
Phone: 7 1 8 - 9 9 7 - 3 2 6 4
Email: matt (AT) cs (DOT) qc (DOT) cuny (DOT) edu
Office Hours: Tuesdays and Thursdays 4:20pm - 5:20pm or by appointment.

Class Schedule:

Tuesday and Thursday afternoons, 3:05pm to 4:20pm.

Classroom: Science Building A103.


The public website for this course is: 

Lecture slides, assignments, and handouts are only available on the BlackBoard site. 


Graduate and Undergraduate Versions:

CSCI-780 is a graduate version of the Artificial Intelligence course that will meet at the same time as the undergraduate course.  Graduate students will have some additional assignments and be graded on a separate scale from undergraduate students. 

Students should make sure to register for the appropriate version of the course at the start of the semester.  On homework assignments, students should look for particular questions that are only for students in CSCI-363 or are only for students in CSCI-780.

Course Prerequisites:

CSCI-313 (Data Structures). 

Although some older course descriptions for CSCI-363/780 list additional prerequisites, the only prerequisite for CSCI-363 is CSCI-313.  If you have difficulty registering for the course for this reason, please contact the Computer Science department office.

Required Textbook:

Artificial Intelligence: A Modern Approach.
Edition: 2nd edition.
Authors: Stuart Russell and Peter Norvig. 
Publisher: Prentice Hall, 2002.  
ISBN-10: 0137903952. 
ISBN-13: 978-0137903955.

Grading Percentages:

Your final grade in the class will be calculated as follows:
   30% Homework Projects
   30% Midterm Exam
   30% Final Exam 
   10% Class participation

These percentages are tentative.  Any changes will be announced in class. 

If the need should arise for a curve to be applied to the grades from a particular Homework Project or from a particular Exam, then students in CSCI-780 and CSCI-363 will be curved on separate scales.

Exam Policy:

The midterm exam will be administered in class sometime in the middle of the semester.  The date will be announced in the first few weeks of the semester.  There is no scheduled make-up for the exam; so,  if for some reason you are unable to attend the exam, you should contact the instructor ahead of time to discuss the circumstances.  The final exam will occur during the final exam period of the semester. 

Class Participation Policy:

Your class participation grade will be determined based on your attendance and active participation in class throughout the semester.  Participating in discussions, answering questions, reading the textbook before class, and participating during in-class activities are all good ways to show "active participation."  There are also CUNY/Queens College policies that can become applicable if there is an excessive number of lateness or absences.

Being considerate of your fellow students in the classroom is also an important part of your "class participation" grade.  You can do this by not causing a distraction for your fellow classmates -- you can remember to turn off your cell phone before class, arrive on time for class, avoid side conversation or noise during class, etc.  A good learning environment is also one in which everyone feels welcome and comfortable; so, please be respectful of the diversity of backgrounds, beliefs, and lifestyles of the students in our class. 

Textbook Policy:

For the most part, we will be following the style and terminology of the textbook throughout the semester.  (We will be covering only a subset of the topics in the textbook, and we will cover some topics in a different order than they are presented in the textbook -- see the "COURSE TOPICS" section below.)  You are encouraged to read the relevant chapters of the textbook before each class. 

Grading Questions:

Your grades will be posted on BlackBoard during the semester.  If you have specific questions about your grade on an assignment or exam, then the best way to proceed is to send an e-mail with your question to the instructor.  You should mention which problem/question you are referring to, and you should discuss why you feel the grade should be reexamined. 

Students with Disabilities:

If you are registered with the Office of Special Services for Students with Disabilities (OSS), please feel free to make an appointment with the course instructor to discuss any academic accommodations you may need.  It is best if this is done at the beginning of the semester.  If you need academic accommodations and are not registered with the OSS, please contact them in person at 171 Kiely Hall or by telephone at 718-997-5870.  Upon individual request, this syllabus can be made available in alternative forms.  

Students with Other Concerns:

If you are having academic concerns beyond issues specifically connected with this class, you may find it useful to make an appointment with an academic counselor at the Queens College Advising Center, tel: (718) 997-5599.  If you need counseling or advisement beyond academic issues, you may find it useful to contact the Counseling and Advisement Center, tel: (718) 997-5420. 



The following is a tentative set of topics that will be discussed in class.  Specific calendar dates for each topic will be determined during the course of the semester.  The numbers in the "Readings" column indicate the chapter and section numbers in the textbook that correspond to each topic.

Topics Readings
Introduction to AI Ch 1: section 1.1
Intelligent Agents Ch 2
Python Programming Language (In-class lecture slides and online resources.)
Uninformed Search Ch 3: sections 3.1 - 3.5
Informed Search Ch 4: 4.1 up to page 101, 4.2, 4.3 up to page 110
Constraint Propagation Ch 5: 5.1, 5.2 up to page 147
AI Search Code from Textbook (In-class lecture slides and online code.)
Game-Playing, Adversarial Search Ch 6: 6.1, 6.2
Logical Agents, Predicate Logic Ch 7: 7.1-7.5 up to page 214, 7.7 up to page 227
First-Order Predicate Logic Ch 8: 8.1, 8.2
Knowledge Representation pages 320-340, pages 356-357
Natural Language Processing,
Chart Parsing, Semantic Representation
Ch 22: 22.1 - 22.3
Planning pages 375-387
Decision Trees sections 18.1 - 18.3
Neural Networks pages 736-739
Bayesian Approaches sections 13.1-13.6
Na´ve Bayes Classifiers page 718
Bayesian Networks pages 492-499


Lecture Slides:

Slides will appear in the Course Documents page of the BlackBoard site. 

An initial version of the slides will be posted shortly before class, and a final version of the slides will be posted after class.  (We will use a TabletPC in class for lectures, and sometimes we will add additional drawings/comments to the slides during lecture.)



Assignments will be posted on the class page on BlackBoard as they are announced.  Tentatively, there will be three homework projects for the semester.  (Each would be worth 10% of the final grade.)    Each project will require you to answer questions and write programs that use or implement some of the data structures we discuss in class.

Assignments will appear in the Assignments page of the BlackBoard site.

Homework Projects:

Homework projects will be handed out in class and posted on the course page on BlackBoard. Unless otherwise specified, homework is due at the beginning of class.  (Depending on the assignment, some homeworks may be submitted via Blackboard and some may be submitted as a paper copy in class.) 

Late homeworks will be penalized according to this policy:
   -- after class on the day that the HW is due: 20% penalty.
   -- after class on the following class day: 35% penalty.
   -- after class one week after the HW was due: 50% penalty.

If homework will be submitted more than two weeks late, then you should discuss the circumstances ahead of time with the instructor.  Such homework will be accepted on a case-by-case basis.  After the answers to a homework assignment have been discussed in class or handed out, then homeworks can no longer be accepted.

Academic Integrity Policy:

There is no group work in this class.  It is fine to discuss course topics with other students and to discuss assignments in general terms with other students.  However, you should think about and work on all assignments yourself, and you should write your own solutions to any problems which are assigned.  You should not search the web for computer code which you can copy and submit for your homework assignments.  In general, the instructor will have also performed an extensive search for code on the web that could be similar to the assignments you will be asked to write, and it's pretty easy to see past surface modifications to detect when code has been adapted from another source.  If asked, you should be able to explain any code which you submit.  Since assignments are a much smaller portion of your total grade than the exams, it is in your interest to do the assignments yourself (and to understand them) since these skills will be tested during the in-class exams.

At the bottom of each assignment, I'd like you to include a section entitled: "Resources that Helped Me."  If you had a good conversation with someone in the class, you had a good discussion with me during office hours, or you found a useful website that helped you understand a concept (without copying code from the website), then you can list these resources at the end of your assignment.  I'd like to know about information sources that you found helpful (they might also be good to share with other students in the class).  If you only used the textbook and the in-class lectures when you did your assignment, then you don't need to include a "Resources that Helped Me" section on your assignment. 



The textbook for the course is your primary resource for background information about the important data structures we will be learning about.  You may also find it useful to consult websites about the Python programming language or about the BlackBoard course website.

Logging-In to the BlackBoard Online Course System: 

Information about Using BlackBoard: 

Python Tutorial Websites: