CSCI 108
Artificial Intelligence: Image and Reality
|
|
Readings
|
|
Course Description
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 debate the merits of competing paradigms for robot control; we will discuss robot ethics; we will consider how AI is portrayed in literature and film; and we will consider the merits of arguments made by opponents of AI.
Labs
In the lab you will be working in small groups (typically three 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.
Grading
|
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
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.
Schedule
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.
| Week 0 | |
| Lecture: | (9/8) Introduction to AI |
| Lab: | None |
| Reading: | None |
| Week 1 | |
| Lecture: | (9/11) Introduction to AI |
| (9/13) Introduction to robotics: sensors and effectors | |
| (9/15) Interactive C: sensors and motors | |
| Lab: | Soldering |
| Reading: | Cawsey: Ch. 1 |
| Hans Moravec (1999) Chapter 2 in Robot. New York, NY: Oxford University Press. | |
| Erico Guizzo and Harry Goldstein (2005) "The Rise of the Body Bots," in IEEE Spectrum, October: 50-56. | |
| Sylvia Coradeschi (2006) "Human-Inspired Robots," in IEEE Intelligent Systems, July/August: 74-85. |
| Week 2 | |
| Lecture: | (9/18-20) Classical robot architecture: Planning |
| (9/22) 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. | |
| James Hendler, Austin Tate, and Mark Drummond (Summer 1990) "AI Planning: Systems and Techniques," in AI Magazine 11(2): 61-77. |
| Week 3 | |
| Lecture: | (9/25) Configuration space |
| (9/27 and 29) Programming robots: Interactive C | |
| Lab: | Mobile robot base |
| Reading: | Fred G. Martin (2001) Chapter 2, pages 20-50 and 71-75 in Robotic Explorations. Upper Saddle River, NJ: Prentice Hall. |
| Week 4 | |
| Lecture: | (10/2) The behavioral approach |
| (10/4) Discussion: The classical approach vs the behavioral approch | |
| (10/6) 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. |
| Week 5 | |
| Lecture: | (10/9) Reading Period |
| (10/11 and 13) Programming robot behaviors in Interactive C | |
| Lab: | Bumper sensing and obstacle avoidance |
| 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. |
| Week 6 | |
| Lecture: | (10/16) Braitenberg vehicles: group exercise |
| (10/18) Robot ethics | |
| (10/20) No class (SIGCSE Program Committee Meeting) | |
| Lab: | None |
| Reading: | 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. |
| Week 7 | |
| Lecture: | (10/23-27) Vision |
| Lab: | Line following |
| Reading: | Cawsey: Ch. 6 |
| Week 8 | |
| Lecture: | (10/30) Sonar |
| (11/1) Natural Language processing | |
| (11/1) Chatbots and the Turing Test | |
| Lab: | Sonar |
| Reading: | Cawsey: Ch. 5 |
| Alan Turing (1950/1997) "Computing Machinery and Intelligence," in Mind Design II, John Haugeland (ed): 29-56. Cambridge, MA: MIT Press. |
| Week 9 | |
| Lecture: | (11/6-10) Logic and reasoning |
| Lab: | Trashbot I: finding trash |
| Reading: | Cawsey: Ch. 2.3 |
| Week 10 | |
| Lecture: | (11/13) Problem solving as search |
| (11/15) Heuristic search | |
| (11/17) Games: search in the presence of an adversary | |
| Lab: | Trashbot II: grippers |
| Reading: | Cawsey: Ch. 4 (but not 4.3.2) |
| Week 11 | |
| Discussion: | (11/20) Knowledge and its role in higher intellectual thought |
| (11/22 and 24) Thanksgiving recess | |
| Lab: | None |
| 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. |
| Week 12 | |
| Lecture: | (11/27-12/1) Learning |
| Lab: | Trashbot III |
| Reading: | Cawsey: Ch. 7 |
| Week 13 | |
| Lecture: | (12/4 and 12/6) AI: hype or reality? |
| (12/8) Wrap up | |
| Lab: | Clean up |
| Reading: | John R. Searle (1980/1997) "Minds, Brains, and Programs," in Mind Design II, John Haugeland (ed):183-204. Cambridge, MA: MIT Press. |
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 differently to each with respect to collaboration or assistance from anyone other than the TAs or instructors:
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 is allowed, but a student may only receive help in correcting errors of syntax; help in correcting errors of logic is strictly forbidden. Guideline: Assistance from anyone other than the TAs or instructors 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 or theft of computer equipment or software) are subject to disciplinary action.
Guideline: To protect your work dispose of printouts and diskettes 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.