CSCI 335 - Artificial Intelligence

Fall 2017

Course Overview:
This course is an introduction to understanding and implementing computer systems that fall under the heading of "artificial intelligence". At the end of this course, you will be expected to be able to: Instructor: Dr. Gabriel Ferrer

Office Hours (M.C. Reynolds 312):
By appointment. To make an appointment with me, visit From there, you can see my availability and select an appointment time.

Class Web Page:

Lecture Time: B3 (1:15 - 2:30 pm, Tuesday/Thursday)

Final Exam Period: Thursday, December 7, 2:00-5:00 pm

Required Textbook: On Intelligence, by Jeff Hawkins and Sandra Blakeslee
This book is an overview of a neuroscientific theory of intelligence; it is not a computer science text. We will use its theory of intelligence as a basis for assessing the "intelligence" of the systems we develop.

There are a total of 1,000 points available over the course of the semester. The thresholds for earning each letter grade are as follows:
Letter gradePoints to achieve

Here are the semester's assignments and the associated points for each:
AssignmentTotal Value
Project 180
Project 280
Project 380
Project 480
Project 580
Project 680
Project 780
Project 880
Final Project240
AI Essay120

Programming Projects: You will develop your understanding of artificial intelligence by developing software that uses AI algorithms to achieve goals in a concrete domain. These assignments will use the Java programming language.

Each project (80 points total) will involve each of the following:

Presentations: As mentioned above, for each programming project you will give two presentations: a progress report and a final report. These presentations will be graded for clarity of exposition, proper use of slides, and accuracy of content and analysis.

Revisions: After projects are returned, you are welcome to revise and resubmit your work. I will grade anew each submitted revision, and average the original and revised grades to produce a new grade for that assignment. Revisions may be submitted anytime until the start of the final exam period.

No late work will be accepted. Any work not submitted on time is a zero. However, you may submit a solution after the deadline to qualify under the revision policy. In effect, this means that late work can earn up to half credit.

AI Essay: An important component of the course is developing the ability to reason critically about claims that a system is "intelligent" and about computational theories of mind. To this end, you will compose an essay in which you analyze the relationship between the cognitive theory described in the textbook and the types of algorithms we have studied in the course.

Final Project: Towards the end of the semester, you will select a final project topic. You will develop an intelligent system that either extends a concept that we have explored this semester, or uses a concept that we have not covered. You will give an oral presentation of your project during the final exam period for this course. The project write-up will also be due at that time.

Disabilities: It is the policy of Hendrix College to accommodate students with disabilities, pursuant to federal and state law. Any student who needs accommodation in relation to a recognized disability should inform the instructor at the beginning of the course. Students should contact Julie Brown in Academic Support Services (505-2954; to begin the accommodation process.

Schedule: The anticipated schedule for the semester is below. The instructor reserves the right to alter the schedule as necessary during the semester.

DateDayTopic/ActivityReadingAssignment Due
Search Algorithms
8/24ThursdaySearch AlgorithmsOn Int 9-22None
8/29TuesdayPresentationsNoneProject 1
9/5TuesdayPlanningOn Int 23-39None
9/7ThursdayPresentationsNoneProject 2
9/12TuesdayAdversarial SearchNoneNone
9/14ThursdayAdversarial SearchOn Int 40-64None
9/19TuesdayPresentationsNoneProject 3
9/21ThursdayMachine Learning: kNN and Naive BayesNoneNone
9/26TuesdayMachine Learning: kNN and Naive BayesOn Int 65-84None
9/28ThursdayPresentationsNoneProject 4
10/3TuesdayMachine Learning: Decision Trees and Random ForestsNoneNone
10/5ThursdayMachine Learning: Decision Trees and Random ForestsOn Int 85-105None
10/10TuesdayPresentationsNoneProject 5
10/12ThursdayFall Break
No class
10/17TuesdayNeural Networks: PerceptronsNoneNone
10/19ThursdayNeural Networks: PerceptronsOn Int 106-125None
10/24TuesdayPresentationsNoneProject 6
10/26ThursdayNeural Networks: Self-Organizing Map, AutoencodersNoneFinal Project Proposal
10/31TuesdayNeural Networks: Self-Organizing Map, AutoencodersOn Int 125-144None
11/2ThursdayPresentationsNoneProject 7
11/9ThursdayQ-LearningOn Int 144-164None
11/14TuesdayPresentationsNoneProject 8
11/16ThursdayRecent advances in AIOn Int 164-176Revised Final Project Proposal
11/21TuesdayNo ClassOn Int 177-205None
No class
11/28TuesdayProgress ReportsOn Int 177-205Progress Report
11/30ThursdayRetrospectiveOn Int 205-233None
12/7ThursdayFinal Project PresentationsNoneFinal Project Report
12/13WednesdayNoneNoneTerm Paper