Overview

Artificial Intelligence is the area of computer science that concerns itself with "smart" solutions to problems. How can we find solutions faster than typical brute-force approaches by using knowledge about the problem? How can we use higher-orders of representation such as logic, graph structures, and others to solve problems? How can we learn from data or from the environment? How can we adapt the biological mechanisms of intelligence for computational purposes?

We'll consider all of the above as we examine a variety of problems in AI, including agent-based behavior (as in robotics), heuristic search, strategy game playing, supervised learning, reinforcement learning, logical deduction, and others.

Instructor Information

Grader:

Textbook

Important Dates

Your Grade

Assignments & Class Project

Collaboration

There are two different kinds of working together: collaborating (the good kind) and plagiarism (the bad kind). You are encouraged to work together, given the following ground rules:
  1. Non-computer assignments: You should turn in your own assignment. You may work with other people, but each of you should turn in your own.
  2. Computer assignments: You may work together on these in pairs, if you wish, and I encourage you to do so. Include everyone's names in documentation at the top. Make sure to cite any ideas you get from other people.
  3. Take-home exams: Do these completely on your own. You can discuss them only with me.
  4. Final project: You may do this in pairs, if you wish.

Collaborating

Plagiarism

The following are examples of plagiarism: I will be using software to detect plagiarism if it occurs, and I am compelled by Carleton policy to notify the College if I find evidence of plagiarism.

Working from Home

Most of the programming that we do will be in Python, which will be set up for use in the Computer Science labs. You should feel free to install Python on your home machine and work from there if you wish. If you do so, you are responsible for making sure that your programs work under the version of the compiler that we have installed in the labs. I am glad to informally provide whatever advice I can to help you get the software running on your own machine, but home use is technically "unsupported."

Homework Policy

Details

We will cover selected material within the following chapters in Russell & Norvig: