Computer Science Department

CS4341 ❏ Artificial Intelligence ❏ D13

*** Under construction ***
Version: Mon Mar 11 18:23:37 EDT 2013

Mon, Tue, Thu, Fri - 3:00 - AK 233

Prof. David C. Brown, Fuller Labs 131, x5618, dcb at cs wpi edu
Office Hour, Tue 5:30, Thu 6:00, and by appointment

TA, Qingyang Wang, wangqy at wpi . edu
Office Hours, Mon 6pm, Fri 4pm, FL A22

TA, Ahmedul Kabir, akabir at wpi . edu
Office Hours, Tue 5pm, Wed 11am, FL A22

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

A forum has been set up on myWPI for this course to use to ask about programming problems for the projects. The TAs will monitor the forum. Please feel free to help others if you have answers. Please use office hours for longer, more detailed questions.

Once the web-turnin system has been given the classlist and has been opened you will be sent a password via email. If you already have an account for this term you should be able to use your existing password to access this and other courses.


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, or AI in Design.

The text is: Russell & Norvig, "Artificial Intelligence: a Modern Approach" (the edition with the blue cover). Additional material will be provided as needed, via the web or in class. Wherever possible videos from the web of related lectures will be provided: if you don't understand me then you might understand them, and vice versa!

Passing the course: In order to pass this course you must submit a reasonable version of every project. At minimum, a complete program must have been attempted, most of the code must be working, and full documentation must be provided.

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, summarize, and sometimes augment the textbook. We will assume that you have already read the scheduled chapter or chapters.

Exams: There will be a weekly 15 minute exams (See Schedule). Material for the exam will cover the material from the previous week before the exam, taken from the book and from lectures. The format for each exam will be a couple of pages of short questions. The exams are closed-book. If you are unable to be at an exam, you will receive zero for that exam. We will drop the lowest exam score when we calculate the totals for the 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 may 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'll be better off if you 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. Java may be used, but typically you'll be writing a lot more code. Don't say that I didn't warn you.

Please be aware that 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. In additions to the solutions presented, 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. This is a CS turnin system, and is not the same as WPI's. Email submissions will be rejected, unless you have been given explicit permission to submit that way. You'll receive an emailed password for turnin: please remember it.

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 that report their activities, and then using those to program the solution. The demonstration serves to show the reader how it works, as well as 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 24 hours late will not be graded. 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.


     Exams        40%  {Closed book: weekly}

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

Important Dates:

  • Project 0 due - Fri 15 Mar
  • Project 1 due - Fri 29 Mar
  • Project 2 due - Fri 12 Apr
  • Project 3 due - Fri 26 Apr

Course Grades: With respect to the grade for the whole course, an "A" is reserved for Excellent work, with a very rough expectation of a better than 90% total score over the whole term. 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.

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 the Exams 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 Office of Disability Services, as soon as possible. The office is located at 157 West Street, Worcester, MA 01609-2280; Phone: +1-508-831-4908; Email: DisabilityServices@wpi.edu

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