Computer Science Department

CS4341 ❏ Artificial Intelligence ❏ B07

Version: Wed Oct 17 20:57:26 EDT 2007

Mon, Tue, Thu, Fri - 1:00pm - AK 233

Prof. David C. Brown, Fuller Labs 131, x5618, dcb at cs.wpi.edu
Office Hour, Tue 7:30 pm, and by appointment

TA, Do Quyen "Kwin" Nguyen, quyenngd at cs.wpi.edu
Office Hours, Wed 9pm, Fri 8pm, FL A22
{Unfortunately she will be away during the first week}

TA, Wei "Way" Zhang, weizhang at cs.wpi.edu
Office Hours, Mon 10am, Thu 9am, FL A22

Emailed questions to   cs4341-staff AT cs DOT wpi DOT edu   will reach the professor, and the assistants.


This course is an undergraduate level introductory course in Artificial Intelligence. The goal is to provide a very broad overview of the major subareas of AI, along with some issues and techniques. A lot of material will be covered. Great depth in any one topic is not possible in the time available. The department offers some courses on more advanced topics, such as Data Mining, Intelligent Tutoring Systems, Computer Vision, Machine Learning, Expert Systems, or AI in Design.

The text is: P. H. Winston, Artificial Intelligence, 3rd Edn., Addison Wesley, 1992. Additional material will be provided as needed, via the web or in class.

Lectures: The topics that will be covered in the course are given in the Course Contents web page. It can be accessed from the Schedule on a lecture-by-lecture basis. Lectures will follow, be based on, will summarize, and will augment the textbook, and will assume that you have already read the scheduled chapter or chapters.

Exams: There will be a mid-term exam and a final exam (see Schedule). Material for the exam will come from the book, the web, and from lectures. The format for each exam will be announced in class prior to the exam. Possible questions for each exam will also be shared prior to the exams. The exams are closed-book. If you are unable to be at an exam, you will receive an 'incomplete' grade for the course, and you will be able to take a "make up exam" at the start of the next term.

Reading: You are expected to read the appropriate chapter(s) in the text in advance of the class in which that material is to be discussed (see Schedule). You will be called upon to contribute during the class. That's a lot of reading. You will need to keep up.

Projects: There will be several projects. Project 0 is a "warm-up" project to get you started quickly. Project 0 is used in some form in the other projects. The description of each new project will be handed out on the due date of the previous one. The initial project will be available on or before the first day of class. The Projects web page gives an overview. Every project description is accompanied by a web page that provides the evaluation criteria for that project.

You can do the programming assignments in either LISP or Scheme. These programming languages allow easy development of task-specific and domain-specific languages, and sets of functions, that make AI program development much easier. No other programming languages may be used.

It may not be possible to cover the relevant material in class prior to the project that needs it. I will try to provide some helpful information. You will be responsible for doing any reading that will help with a project. I will probably spend a little time at the start of each class discussing the current project and answering questions. I'll also have one or more office hours. Meetings at other times may be possible: please ask.

All work submitted must be of the professional quality appropriate for a senior level course. This course assumes a mature level of programming and problem-solving skill. Programs will be graded for in-program documentation, style, and completeness. The writing and presentation quality of the accompanying documentation will be evaluated as well.

Only projects submitted using the web-based turnin system by the deadline or the late deadline (with the corresponding penalty) will be accepted. Email submissions will be rejected.

An adequate demonstration that the program works is required. That is, the program should not only present the "answer", but should also show how it got to that answer, in the form of some clear, formatted, explanatory, trace-like output. This can be facilitated by writing a set of problem-dependent functions, and then using those to program the solution. The demonstration serves to show the reader how it works, and also that it works.

Make sure that wherever possible the program does the work, rather than the user. For example, avoid difficult input formats, and make program output clear, well-formatted and self-explanatory.

Late Work: Project work must be submitted at or before class time on the due date. After that, it's late. Late work without a valid prior reason will automatically lose points. Work that is turned in late will be penalized 20% of the possible points. Work that is turned in more than 1 day late will not be graded. Note that a "day" means a day of the week, not a weekday. Please ask me if you need an extension. An extension does not necessarily prevent it from being penalized for lateness.

Academic Honesty: Cheating, defined as taking credit for work you did not do, is strictly forbidden. Offenders will receive 0% for the assignment or exam in question. In addition their case will be presented to the Computer Science Department Head (see the WPI Academic Honesty Policy). All projects are to be done alone. All the code for all the projects must be yours. Any copied code, from books or other people, will be used as a reason for giving a score of 0% for that project. If you use a book, an article or a web page to assist you with any project it must be cited in the project documentation.

Work Habits: According to the WPI Undergraduate Catalog, "Unless otherwise indicated, WPI courses usually carry credit of 1/3 unit. This level of activity suggests at least 17 hours of work per week, including class and laboratory time." Hence, you are expected to spend at least 13 hours of work per week on this course outside the classroom.


     Mid-term     20%  {Closed book: mid-term}
     Final        20%  {Closed book: end-of-term}

     Project 0    10%
     Project 1    20%
     Project 2    10%
     Project 3    20%  

Important Dates:

  • Project 0 due - Tue 30 Oct 07
  • Project 1 due - Tue 13 Nov 07
  • Project 2 due - Tue 20 Nov 07
  • Project 3 due - Thu 6 Dec 07

  • Exam 1 - Fri 16 Nov 07
  • Exam 2 - Mon 10 Dec 07

Course Grades: With respect to grading, an "A" is reserved for Excellent work, with a very rough expectation of a better than 90% score over the whole class. A grade of "B" represents high quality work, with a very rough expectation of a score at least higher than 60% and perhaps higher than 70%, depending on how hard the exams are and how hard the grading is. Above 50% but below the B boundary will probably be a "C" grade, which indicates reasonable but undistinguished work. Below 50% will probably get you an NR. Please note that these boundaries are meant merely as an indication of our expectations, and may change according to circumstances. Experience shows that less than 10% of the class get an "A" grade.

BS/MS Graduate Credit: This course may be taken for graduate credit by students in the BS/MS CS program. Written permission from the professor is required. In order to receive graduate credit, students who have signed up for this program need to to perform at an "A" level on both Exam 2 and Project 3.

Disabilities: If you need accommodations because of a disability, or if you have medical information to share with me, please make an appointment with me as soon as possible. Students with disabilities, who believe that they may need accommodations in this class, are encouraged to contact the Disability Services Office (DSO), as soon as possible. The DSO is located in Daniels Hall, (508) 831-5235.

AIRG: Students in this course are encouraged to attend the meetings of the Artificial Intelligence Research Group.