The course will focus on the design of intelligent agents. An intelligent agent is a software system that can interact with an external environment by perceiving that environment and taking actions to change the environment.
Week of | Topics | Readings | Work Due | |
Sep 4 | Introduction, Intelligent Agents | Chapter 1, 2 | ||
Sep 11 | Problem Spaces and Search | Chapter 3 | Program 1 Soln | |
Sep 18 | Informed Search | Chapter 4 | ||
Sep 25 | Game Theory and Search | Chapter 5 | Alpha-Beta example | |
Oct 2 | Reinforcement Learning | Chapter 20 | Program 2 | |
Oct 9 | Knowledge Representation | Chapter 6 | How to write papers | |
Oct 16 | First Order Logic | Chapter 7 | Program 3 | |
Oct 23 | Knowledge Representation and Logic - Continued | Chapter 7 | Exam 1 | |
Nov 1 | Knowledge and Logic | Chapters 7, 9 | ||
Nov 6 | Making Simple Decisions | Chapter 16 | ||
Nov 13 | Learning from Observations | Chapter 18 | Robots | |
Nov 20 | Neural Networks | Chapter 19 | ||
Nov 27 | Neural Networks (Continued) | Chapter 19 | ||
Dec 4 (1/2 week) |
Current Topics | Soccer (in development) | ||
Dec 13 | *** final *** | Exam 2 |
Assignment lengths will be tailored based upon my expectation of a reasonable amount of work necessary to complete a program. For example, if I give you two weeks to complete a program I would reasonably expect you to spend as much as 20 hours on that program (though your actual time may be significantly less). Again, that period of time is based upon the expectation that you are a competent programmer, if you are not programs may take significantly longer.
Each student is responsible for his/her own work. Collaboration on homework assignments should be limited to answering questions that can be asked and answered without using any written medium (e.g., no pencils, pens, or email). This means that no student should read any code written by another student unless they are in the same group on a group project.
Any competent computer scientist should be able to pick up your programs and quickly understand them. Your programs should not merely complete the assignment, they must be well documented, cogently written, and robust. My standard for this class will be to assume that you are writing these programs for an AI company and that other people in the company will be using and modifying your code. Writeups should be taken as seriously as a paper for an English or History class.
I take it as a given that you will be in class on time every day. Not achieving this basic level of performance will reduce your grade in the course. Further, good students will actively participate in class discussions.
There will be two exams in the course. Details will be given as they draw near.