CS 232

Course Information

Instructor
Course Overview
Class Meetings
Textbook and Other Resources
Assignments
Late Assignment Policy
Collaboration Policy

    Exams
    Final Paper
    Grading
    FirstClass
    Course Directory
    Finding Help

Instructor

Instructor: Kevin Gold
Office: SCI E104
Phone: x3198
E-mail: kgold of wellesley.edu
Office Hours:
    Monday: 2:40-3:30 (after lecture)
    Wednesday: 3:30-5:00 (after lab)
    Thursday: 11:00-noon (just before HW is due)
E-mail for an appointment if none of these times works for you.

Course Overview

Artificial intelligence started out as the quest to create an artificial version of the human mind. That didn't go over so well, but it's resulted in many interesting techniques for creating artificial agents that can perform tasks that were once thought to be the exclusive domain of human beings. We'll start by covering algorithms that search for solutions to problems; extend these techniques to the domain of strategy in two-player games; give an overview of classic techniques for logical reasoning and planning; then move into more modern techniques that use probability to deal with the inherent uncertainty in the world. We'll cover several techniques that allow programs to learn over time, including neural networks, decision trees, and reinforcement learning, and conclude with some methods for dealing with vision and speech. Applications covered in class will include video games, robots, tools for the Web, cognitive science, and everyday life.

Contrary to the official course description, Common Lisp will not be covered. I was hired after the course catalog went to press, so they just used the old description ... but we'll be covering more topics than previous years, and to do that, something had to go. Java will be the official language of the course.

Class Meetings

Classes will be held in E111 on Mondays and Thursdays from 1:30-2:40, and will follow a lecture format. The labs will be held in 160A (a Mac lab) on Wednesdays from 2:15-3:25, and will focus on programming techniques and exercises that will be useful for the homework. There may occasionally be no lab for a particular week; cancellations will be announced in the Monday lecture on the week of the lab.

Textbook

The official textbook is "Artificial Intelligence: A Modern Approach, 2nd Edition" by Stuart Russell and Peter Norvig. You'll know the 2nd edition by the green cover. It will mostly serve as a reference for the homework and final project. There's a copy on reserve in the science library.

You are not responsible for material in the textbook that is not in the lectures.

Assignments

There will be 6 homework assignments that will be a combination of free response questions, written problems, and programming. Feel free to use handwriting or word processing as you please. The programming will be done in Java, and will consist of completing the AI portion of existing programs. Neither your writing nor your code will be graded on style, but try not to go too crazy.

You can expect your assignments back within one week of my receiving all copies of that homework assignment, including late assignments. I will let you know in class if I'm still waiting on an assignment.

Late Assignment Policy

Assignments are due at the beginning of class on the due date, though they can be turned in to my office (E104) without penalty on that day until 5PM. Every 24 hours that passes from the original due date and time (i.e., 1:30pm) costs 10% of the homework grade, which works out to 1% of your course grade. In the case of emergencies (medical or family problems, etc.) that prohibit you from turning in your homework, that homework assignment will be waived and the value of the final project increased by 10%.

Collaboration Policy

I encourage you to work in groups on the assignments, but you must do two things: First, write the names of anybody who helped you or whom you helped on your homework. If you discussed a problem with another student, give credit to that student on your written assignment near your own name ("Collaborators: ____"). Second, do not look at another person's solutions; write them yourself. Looking at another person's written assignment or sending your code to a friend is crossing the line. Discussions at the whiteboard, on the other hand, are good clean fun.

Exams

There will be a single take-home midterm. It will be closed book and closed Internet, the idea being that there are some things you should know off the top of your head for interviews and cocktail parties. It will be given the weekend of October 16th, due back by October 20th, and should take no more than an hour. (This is a change from the original description -- you can now take as much time as you need, though generally you'll either know the answers or not.)

Final Project

The culmination of the course will be a final project of your choosing. The main requirements are that you try programming something using an AI technique mentioned somewhere in the textbook (Russell and Norvig), perform some test to see how well it worked, and explain what you did and the results of your test in a brief paper (2-6 pages, depending on how much you feel you need to explain). You will be allowed to work in a team of two, and share coding or other responsibilities as you see fit.

Grading

Homework   60% (10% each)
Midterm   20%
Final Project   20%

Lab exercises, class attendance, and conference participation will affect your grade only indirectly, insofar as they will help you do the homework, midterm, and project. Final grades of A, B, etc. will not necessarily be at the 80%, 90% marks, but curved; each assignment will be returned with a letter grade that is meant as a rough guideline as well as a number that indicates the actual number of points out of 10. Your final grade will not be calculated from the letter grades; please do not take them to be anything more than advisory.

As long as the class size remains below 10, I am happy to leave the grades uncurved if the average falls above a B+; otherwise, Wellesley policy is to curve to a maximum average of B+.

Resources (FirstClass, Course Directory, Finding Help)

The website for this course is http://cs.wellesley.edu/~cs232/. There you'll find this course information as well as a tentative schedule, updated as we go along.

The conference for this class is Wellesley Conferences/Courses/CS/CS232-01-F08. Announcements will be made using this folder. Please don't hesitate to ask questions about material or homework there.

You can also e-mail me with questions, though posting to the Conference has the advantage that another student might know the answer and reply faster ... and if nobody knows, everybody will benefit from hearing the reply.

The course directory is located at /home/cs232 on puma. The code for the homework will be found in the download directory.

Please make use of my office hours if you need help, or if you just want to talk more about the material. Office hours are a good way for me to get to know you and your interests, and that helps me make the course interesting and relevant for you.