Artificial Intelligence: Image and Reality
In this course, we will explore the field of Artificial Intelligence, considering the state of the art as well as the ways in which the field is depicted in literature and film.
We will also consider the practical issues involved in building AI systems. We will explore game-playing systems, systems that learn from their environments, and systems that create plans for complex tasks. In weekly lab sessions, held on Thursdays, you will work in groups to build small, mobile robots and to program them to perform a variety of tasks such as obstacle avoidance and light seeking. Please note that attendance at lab sessions is mandatory.
Lectures and Discussions
In discussions we will consider a wide range of topics. We will discuss robot ethics; we will consider how AI is portrayed in literature and film; we will discuss AI and creativity; and we will consider the merits of arguments made by opponents of AI.
In the lab you will be working in small groups (typically two students per group). Each group will be asked to demonstrate that its robot appropriately performs the assigned task for the week. In addition, each group will turn in a program.
Lab assignments are not typically designed to be completed during the (short) lab session. However, the lab is open to you at most other times so that you may finish any work you were unable to complete during the scheduled lab.
Due Dates and Assignments
You will have four problem sets to complete over the course of the semester. You will find that these reinforce concepts that you consider in your reading and that we cover in lecture. In addition, you will find these to be good preparation for your final exam, which will largely follow the format of the problem sets. Dates on which these are handed out and due are as follows:
In addition, you will write two short papers. Dates for these are as follows:
Students with disabilities who may need disability-related classroom or lab accommodations for this course are encouraged to set up an appointment to meet with me as soon as possible and to contact the Dean's Office at x4262 to better insure that accommodations are provided in a timely manner.
All problem sets and papers are due at the beginning of class on the dates specified. You have two flex days that you can apply to problem sets or papers. You may use these, for example, to turn in one assignment two days late without penalty; or you may use these to turn in each of two assignments one day late. Once you have used up your flex days, I will apply a penalty of 20% per day for each assignment turned in late.
Please note again that lab attendance is mandatory. Please also note that class participation (in lecture sessions, discussions, and group problem solving) accounts for 10% of your final grade.
Honor Code and Account Agreement
For programming assignments in Computer Science, the Honor Code is interpreted in very specific ways. Please see the guidelines at the end of this syllabus.
Please also read the Computer Science User Policy and turn in a signed copy of the Account Agreement.
Note that we will occasionally find it useful to explore a topic in more depth (or less) or even to add a new topic of interest to the class. I will update the on-line schedule for the course to reflect our actual progress.
Please keep in mind that one of the first three Fridays in October will be Mountain Day. This will require a change in the syllabus.
|Lecture:||(9/5) Introduction to AI|
|Lecture:||(9/8) Introduction to AI|
|(9/10) Introduction to robotics: sensors and effectors|
|(9/12) Interactive C: sensors and motors|
|Reading:||Cawsey: Ch. 1|
|Hans Moravec (1999) Chapter 2 in Robot. New York, NY: Oxford University Press.|
|Brice Rebsamen, Chee Leong Teo, Qiang Zeng, Marcelo H. Ang Jr., Etienne Burdet, Cuntai Guan, Haihong Zhang, and Christian Laugier (2007) "Controlling a Wheelchair Indoors Using Thought," in IEEE Intelligent Systems, March/April: 18-23.|
|Masahiro Shiomi, Takayuki Kanda, Hiroshi Ishiguro, and Norihiro Hagita (2007) "Interactive Humanoid Robots for a Science Museum," in IEEE Intelligent Systems, March/April: 25-32.||Robert Wood (2008) "Fly, Robot Fly," in IEEE Spectrum, March: 25-29.||Michael Dumiak (2008) "Book-Scanning Robots Digitize Delicate Texts," in IEEE Spectrum, January: 18.|
|Lecture:||(9/15-17) Classical robot architecture: Planning|
|(9/19) Path planning|
|Lab:||Testing motors and sensors|
|Reading:||Cawsey: pages 87-90|
|Allen Newell and Herb Simon (1963) "GPS, A Program that Simulates Human Thought," in Computers and Thought, Edward Feigenbaum and Julian Feldman (eds): 279-293. New York: McGraw-Hill.|
|Lecture:||(9/22) Configuration space|
|(9/24-26) Problem solving as search|
|Lab:||Mobile robot base|
|Reading:||Fred G. Martin (2001) Chapter 2, pages 20-50 in Robotic Explorations. Upper Saddle River, NJ: Prentice Hall.|
|Cawsey: Ch. 4 to page 87 only.|
|Lecture:||(9/29) Programming Robots: Interactive C|
|(10/1-3) No Class: Speaking at Pomona; attending Grace Hopper Conference|
|Reading:||Fred G. Martin (2001) Chapter 2, pages 71-75 in Robotic Explorations. Upper Saddle River, NJ: Prentice Hall.|
|Lecture:||(10/6) More on Interactive C programming|
|(10/8) The behavioral approach|
|(10/10) Programming robot behaviors in Interactive C|
|Lab:||Maze Exercises: non-reactive plan execution|
|Reading:||Ronald C. Arkin (1998) Pages 20-27 in Behavior-Based Robotics. Cambridge, MA: MIT Press.|
|Rodney A. Brooks (1993) "Elephants Don't Play Chess," in Designing Autonomous Agents: Theory and Practice from Biology to Engineering and Back, Pattie Maes (ed), 3-16. Cambridge, MA: MIT Press.|
|Lecture:||(10/13) Reading Period|
|(10/15) Programming robot behaviors|
|(10/17) Braitenberg vehicles: group exercise|
|Lab:||Bumper sensing and navigating around obstacles|
|Reading:||Fred G. Martin (2001) Chapter 2, pages 75-83 in Robotic Explorations. Upper Saddle River, NJ: Prentice Hall.|
|Valentino Braitenberg (1996) Pages 95-108 in Vehicles. Cambridge, MA: MIT Press.|
|Lecture:||(10/20) Braitenberg or|
|(10/20) Discussion: The classical approach vs the behavioral approach|
|Reading:||Cawsey: Ch. 6|
|(10/29) Discussion: Robot ethics|
|(10/31) Natural language processing|
|Reading:||Michael Anderson and Susan Leigh Anderson (2007) "Machine Ethics: Creating an Ethical Intelligent Agent," in AI Magazine, 28(4): 15-25.|
|Christopher Grau (2006) "There is No 'I' in 'Robot': Robots and Utilitarianism" in IEEE Intelligent Systems, July/August: 52-55.|
|Isaac Asimov (1950) Pages 240-272 in I, Robot. New York: Bantam Books.||Watch I, Robot.|
|Begin Cawsey: Ch. 5|
|Lecture:||(11/3) Natural language processing|
|(11/5) Chatbots and the Turing Test|
|(11/7) Logic and reasoning|
|Lab:||Trashbot I: finding trash|
|Reading:||Finish Cawsey: Ch. 5|
|Alan Turing (1950/1997) "Computing Machinery and Intelligence," in Mind Design II, John Haugeland (ed): 29-56. Cambridge, MA: MIT Press.|
|Begin Cawsey: Ch. 2.3|
|Lecture:||(11/10-12) Logic and reasoning|
|(11/14) No class: Speaking at Advanced Career Mentoring Workshop, Computing Research Association|
|Lab:||Trashbot II: grippers|
|Reading:||Finish Cawsey: Ch. 2.3|
|Reading:||Cawsey: Ch. 7|
|Discussion:||(11/24) Knowledge and creativity|
|(11/26-28) Thanksgiving recess|
|Reading:||Stanislaw Lem (1974) "How the World Was Saved" and "The First Sally (A) Or Trurl's Electronic Bard" in The Cyberiad. Harcourt Brace and Company.|
|Harold Cohen (1994) "The further exploits of Aaron, painter," text for Stanford Humanities Review, 4(2):141-158.|
|Richard Ellis (2008) "The Painting Fool," excerpt from "AI Developers: Stand Up and Be Counted!," IEEE Intelligent Systems, May/June:69-71.|
|(12/3) Discussion: AI - hype or reality?|
|(12/5) Wrap up|
|Reading:||John R. Searle (1980/1997) "Minds, Brains, and Programs," in Mind Design II, John Haugeland (ed):183-204. Cambridge, MA: MIT Press.|
|Christof Koch and Giulio Tononi (2008) "Can Machines Be Conscious?" in IEEE Spectrum, June:55-59.|
The Honor Code for Courses in Computer Science
For programming assignments in Computer Science courses, the honor code is interpreted in very specific ways. When a program is assigned, your instructor will identify it as a "practice," "test," "laboratory," or "team" program. The Honor Code applies to each as follows (unless otherwise specified by the instructor):
Practice Programs. These are provided to help you gain an understanding of a
topic, and are not graded.
Guideline: Help on these programs is unrestricted.
Test Programs. Any assignment designated as a test program is to be
treated exactly as a take-home, open-book test. You are allowed to read
your textbook, class notes, and any other source approved by your
instructor. You may not consult anyone other than your instructor. The
instructor encourages the asking of questions, but reserves the right not
to answer, just as you would expect during an exam.
Guideline: Any work that is not your own is considered a violation of the Honor Code.
Laboratory Programs. Laboratory programs are expected to be the work of the
individual student, designed and coded by him or her alone. Help locating
errors and interpreting error messages are allowed, but a student may only
receive help in correcting errors of syntax; help in correcting errors of
logic is strictly forbidden.
Guideline: Assistance in the design or coding of program logic will be considered a violation of the Honor Code.
Team Programs. Team programs are laboratory or test programs to be worked on
in teams of two or more students. You are allowed to discuss team programs
with your partners, but work with others is otherwise restricted by the
appropriate rules above.
Guideline: Any work that is not the work of your team is considered a violation of the Honor Code.
If you do not understand how the Honor Code applies to a particular assignment, consult your instructor.
Students should be aware of the Computer Ethics outlined in the Student
Handbook. Violations (including uninvited access to private information and
malicious tampering with or theft of computer equipment or software) are
subject to disciplinary action.
Guideline: To protect your work dispose of printouts and copies of your work carefully, and avoid leaving your programs on hard disks in labs and other public storage areas.
The Department of Computer Science takes the Honor Code seriously. Violations are easy to identify and will be dealt with promptly.