CS 371 - Introduction to Artificial Intelligence
Course Information

Course Overview

A most fascinating research field, I like to describe Artificial Intelligence (AI) as the interesting "miscellaneous pile" of computer science.  For example, more expressive, computationally-complex database research finds its home in AI as "knowledge representation and reasoning".  The difficult inverse of computer graphics is machine vision.  Where do you think the object-oriented paradigm reached its maturity?  Many interesting, cutting-edge problems and developments find their birthplace and first home in this ambitious and visionary research community.

Presented with the unifying theme of constructing intelligent software agents, we survey an interesting variety of research problems and modern problem solving techniques.  Topics we cover may include search, game-tree search, stochastic local search, constraint satisfaction, knowledge representation and reasoning, reasoning under uncertainty, data mining, robotics, and philosophical foundations.

Learning Objectives


Stuart Russell, Peter Norvig
Artificial Intelligence: A Modern Approach, 3rd ed.
Prentice Hall; ISBN-10: 0136042597, ISBN-13: 978-0136042594


Todd Neller
Lecture: Glatfelter 112, Tu,Th 10:00-11:15AM
Office: Glatfelter 209
Office Hours: Mo-Fr 2-4PM or by appointment. Note: Generally, feel free to drop in if my office door is open (i.e., most of the time beyond class).
Phone: 337-6643


60% Assignments
10% Quizzes / Exams
20% 4th Hour Requirements
5% Colloquium Attendance
5% Class Attendance / Participation

You are responsible to know the material from each lecture and reading assignment before the start of the next class.  Homework is due at the beginning of lecture on the due date.  Late homework will not necessarily be accepted.  Code must be a legal program in the relevant language in order to be graded.  (It need not be free from logic errors.) 

You are required to attend 2 colloquia or approved departmental events over the course of the semester.


Class attendance and participation is required.  If you attend all classes and are willing to participate, you'll get 100% for this part of your grade.  Even if you know enough to give a particular lecture, please consider the value of helping your peers during in-class exercises.

Woody Allen is quoted as saying "80% of success is just showing up."   While our class attendance/participation grade is not 80% of the final grade, it is critical that late arrivals and unexcused absences are not excessive.  Missing more than half of class unexcused is considered being absent.  An unexcused late arrival is counted as a half absence.  If the total number of absences counted this way exceeds 20% of class meetings, i.e. 6 absences or more, the student will have failed the course.

Work Expectations

You are expected to work an average of 9 hours per week beyond class time Gettysburg College policy, in accordance with federal and state standards, equates 1 credit unit with an average of 12 hours of work per week with 50 minute classes counting as 1 full hour of work.  During these remaining 9 hours beyond class, a student is expected to learn from assigned readings, complete exercises related to such readings, attend required colloquia, and complete assignments.

Think of your college studies as a more-than-full-time job, and engage in it with passion.  After all, you get out of it what you put into it, and it is my hope that you'll gain much from your investment in this course.  If you'd like to learn more about how to better track tasks and manage time as a student, consider watching my short tutorial on getting things done.

Honor Code

Honesty, Integrity, Honor.  These are more important than anything we will teach in this class.  Students can and are encouraged to help each other understand course concepts, but all graded work must be done independently unless otherwise specified (e.g. group work).  Submitted work should be created by those submitting it.  Submission of plagiarized code or design work is a violation of the Honor Code, which I strictly enforce.  For detailed information about the Honor Code, see http://www.gettysburg.edu/about/offices/provost/advising/honor_code/index.dot.

What is permitted:

What is not permitted:

Put simply, students may discuss assignments at an abstract level (e.g. specifications, algorithm pseudocode), but must actually implement solutions independently or in permitted groups.  Credit should be given where credit is due.  Let your conscience be your guide.  Do not merely focus on the result; learn from the process.