Teaching Assistant
Course Description
Course Policies and Procedures
Grading Policy
Grading Criteria
Grading Scale
Course Outline

Introduction to Artificial Intelligence / CS440


Lectures: Mon & Wed, 5:00pm – 6:20pm, ARC-105
Recitations: Wed, 6:55pm – 7:50pm, ARC-105


Vladimir Pavlovic
Email: vladimir+AT+cs.rutgers.edu
Office: CoRE 312
Office hours: TBA
Phone: 732 445 2654
URL: http://www.cs.rutgers.edu/~vladimir

Teaching Assistant

Monica Babes
Email: babes+AT+cs.rutgers.edu
Office: TBA
Office hours: TBA
Phone: TBA

Course Description

cs440 is an introductory course about the field known as Artificial Intelligence. Artificial Intelligence is not only about building an “artificial mind”, a robot or the world’s best chess playing program. We will learn how to mathematically model (simple) tasks in real world that deal with perception and action: how a computer may use video cameras and gyroscopes to autonomously fly a helicopter, how to design algorithms that search through the web looking for pieces of information that exactly answer our questions, and how to understand those questions in the first place. To do this we will need to know how to conveniently (from computational perspective) represent our knowledge about those tasks, how to infer best actions (motor torque) based on the perceived state of the world (helicopter’s camera seems to “see” a tree in front of the helicopter), and how to systematically learn further facts about those tasks from the knowledge and percepts.


Primary text:

  • Stewart Russell and Peter Norvig: Artificial Intelligence, A Modern Approach, 2nd edition, Prentice Hall, 2003

Supplemental texts:

Course Policies and Procedures

Course Web Site We will be using Rutgers' E-companion online course site, www.rutgersonline.net. Each registered student should have received access information for RutgersOnline. All notices and assignments will be posted on RutgersOnline. Homework assignments are to be turned in through RutgersOnline Dropboxes. Please get familiar with the site. Let me know if you have any problems accessing the site.


Homework will be assigned approx. every two weeks. You should work on the assignment independently. After all, homework is there to help you learn and understand the topics we cover.
Homework will include “theoretical” and “programming exercises. We will use Lisp and LUSH (http://lush.sf.net) as programming languages / environments.
At the time homework is assigned you will be given the due date. All homework is to be turned in by 11:59pm on the due date through RutgersOnline Dropboxes. Late homework is accepted with the following penalty:

Hours Late








Therefore, if you turned in your assignment at 2:10am the day after the due date and you solved all problems correctly, you will get a score of 80 instead of 100. See Grading Policy for further details.


There will be two tests in the course of this class: a midterm test (late-october) and a final test. Both tests are closed books, no notes or cheatsheets.


All your work in the course should be governed by the Rutgers and CS Dept. Policies on Academic Integrity. This, among other things, means that no dishonesty, no cheating on tests, etc. is allowed. Please respect your fellow students' work!

Grading Policy

Grading Criteria

You final grade will be based on how well you perform on homeworks, midterm and final exams. Each performance item will weigh according to the table below.









Grading Scale

Each time you turn in an assignment (or a test) you will be given a numeric score S between 0 (worst) and 100 (best). The score will then be converted to a normalized score:

Sn = 3/2 ( S - E[S] ) / StdDev[S] + 4

truncated to the range [0,7]. This, for instance, means that if you score 60 points on the final, the class average is 50 and the standard deviation is 30, your normalized score will be 4.5. The normalized score will correspond to the letter grades in the table below. Hence, in the example above 4.5 would correspond to letter grade B.

Normalized Score
















Final course grade will be assigned based on the weighted average score of all assignments and tests:

FSn = 0.3 [ Sn(HW1) + ... Sn(HWN) ] / N + 0.3 Sn(Mid) + 0.4 Sn(Fnl).

After computing the final score I may adjust it based on my overall impression of your performance as well as make adjustments in case of multimodal score distributions. Your final course letter grade will be computed from the final numeric score FSn and the table above.

Course Outline

Introduction. Approaches and brief history.

Sep. 7

Agents. Reactive machines.

Sep. 12, 14

Computation and logic.

Sep. 19, 22

State machines.

Sep. 26

Search in state spaces. Uninformed search.

Sep. 28, Oct. 3

Heuristic search.

Oct. 5, 10

Local search and genetic algorithms.

Oct. 12


Oct. 17

Constraint satisfaction problems.

Oct. 19, 24

Time, action and prediction.

Oct. 26, 31


Nov. 2, 7

Reasoning under uncertainty.

Nov. 9, 14

Learning. Neural networks.

Nov. 16, 21

Computer Vision, Bioinformatics, Robotics, Language.

Nov. 23 on


Dec. XX


This is a way to use Mozilla/Firefox with RutgersOnline:

  1. Download/install "User Agent Switcher" from http://extensionroom.mozdev.org/more-info/useragentswitcher

  2. Restart your browser.

  3. Go to Tools / User Agent Switcher / Options

  4. Add a new entry under User Agent 4: Description: Netscape 7.02 User Agent: Mozilla/5.0 (Windows NT 5.1; rv:1.0.2) Gecko/20030208 Netscape/7.02

  5. Now select that entry (Netscape 7.02) under Tools / User Agent Switcher

  6. Go to www.rutgersonline.net. Your Mozilla browser will now work the same way Netscape browsers do.