CSCI 3202: Intro to Artificial Intelligence (Fall 2008)

Instructor: Steven Bethard

This course surveys techniques for creating computer systems that engage in intelligent behavior. Some of the topics we will cover are intelligent agents, state-space search, game playing, knowledge representation, reasoning under uncertainty, machine learning and natural language processing.

Class Times

This class meets Tuesdays and Thursdays from 12:30pm-1:45pm in ECCR 105.

My office hours are 10:00am-11:30am Monday and 2:00pm-3:30pm Thursday in ECOT 725, and by appointment.

The final exam for this course is scheduled for Saturday, December 13 from 7:30am-10:00am. Please take note of this time, and do not schedule holiday travel prior to the final exam.

Please consult the schedule for details about topics, readings, homeworks and due dates.

Textbook

The required text for this course is Artificial Intelligence: A Modern Approach (Second Edition) by Stuart Russell and Peter Norvig. Be sure you have the Second Edition, the green book, not the First Edition, the red book.

Moodle

The course Moodle will be used to turn in assignments, post news items, and send out important notifications. You must sign yourself up on the course Moodle. The enrollment key needed to do so will be given out in the first week of class.

Grading

Your grade will be based on quizzes, homeworks, and class participation:

Your final grade will be calculated as follows:

5%Homework 1: Agents
15%Homework 2: Search
15%Homework 3: Probability
15%Homework 4: Learning
10%Quiz 1: Search
10%Quiz 2: Logic
10%Quiz 3: Probability
10%Quiz 4: Learning
10%Class Participation

100%Total

Letter grades will be calculated from number grades using the following Python function::

def grade(n):
    if n >= 93:
        return 'A'
    if n < 60:
        return 'F'
    n = int(max(0, n - 60))
    return 'DCBA'[n // 10] + '---    +++'[n % 10]

This basically means that 90-100 is an A, 80-89.99 is a B, etc.

Assignments

All the assignments in this class must be done individually. You may certainly discuss the assignments with one another but the final product (program, paper, etc) must be yours alone.

For each day an assignment is late, you will be charged 2 points. Note that this means that if you turn in an assignment 5 days late, you will lose 10 points, and your overall grade for the course will drop an entire letter grade!

All programming assignments must be written in Python. If you are not familiar with Python, there is a variety of documentation online available:

You can also ask Python questions on comp.lang.python, where a number of experienced Python programmers can help you.

Other Policies

Be sure to also read the information about additional policies.