cs440 – Introduction to AI

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

Instructor
Vladimir Pavlovic
Email: vladimir+AT+cs.rutgers.edu
Office: CoRE 312
Office hours: TBA
Phone: 732 445 2654

Teaching Assistant
Pavel Kuksa
Email: TBA
Office: TBA
Office hours: TBA
Phone: TBA
URL: 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.
Textbook(s)
Primary text:
• Stewart Russell and Peter Norvig: Artificial Intelligence, A Modern Approach, 2nd edition, Prentice Hall, 2003
Supplemental texts:
• Nils J. Nilsson, Artificial Intelligence: A New Synthesis, Morgan Kaufmann, 1998
• David Poole, Alan Mackworth and Randy Goebel. Computational Intelligence: a logical approach, Oxford University Press, 1998

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
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 Penalty
(0,24] -20
(24,48] -50
(48,∞) -100

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.

Tests
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.

Coursework
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.

Item Weight
Homework 30%
Mid Term 30%
Final 40%

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 Grade
[6.0,7.0) A
[5.0,6.0) B+
[4.0,5.0) B
[3.0,4.0) C+
[2.0,3.0) C
[1.0,2.0) D
[0.0,1.0) F

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.

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
Midterm Oct. 17
Constraint satisfaction problems. Oct. 19, 24
Time, action and prediction. Oct. 26, 31
Planning. Nov. 2, 7
Reasoning under uncertainty. Nov. 9, 14
Learning. Neural networks. Nov. 16, 21
Computer Vision, Bioinformatics, Robotics, Language. Nov. 23 on
Final Dec. XX