WORCESTER POLYTECHNIC INSTITUTE
Computer Science DepartmentCS534 -- Artificial Intelligence
Wed 6:00-9:00 pm.
Fuller Labs 320
Prof. David C. Brown, Fuller Labs 131, (508) 831-5618, dcb@cs.wpi.edu
http://cs.wpi.edu/~dcb/courses/CS534/
INTRODUCTION
This course is a graduate level introductory course in Artificial Intelligence. It is intended to provide a broad overview of the major subareas of AI, along with many issues, and many techniques. It is suitable for students without prior AI knowledge. A lot of material will be covered. Great depth in any one topic is not possible in the time available. The department offers some special topics courses on more advanced topics, such as Knowledge Acquisition, Logic Programming, Machine Learning, Expert Systems, or AI in Design.
The text is:
S. Russell & P. Norvig, Artificial Intelligence: A Modern Approach, (2nd Edn.), Prentice Hall, 1995.There will also be readings handed out during the course. There will be a mid-term exam and a final exam (see Schedule). 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.There will be some programming assignments. The intention is to have you write some AI "bricks" and use them together with some AI "cement" in a final project. The detailed description of the next project will be handed out on the due date of the previous one. The Projects handout gives an overview.
You can do the programming assignments in any language you like -- your choice will make it reasonable (LISP) or almost impossible (Assembler). It is "possible" to do the projects in any popular language, such as Pascal, but I would suggest that LISP (or Scheme) is much more suitable. You can expect the programs in LISP to be about one third of the length of those in other languages. If you must use some other language, I would suggest a recursive language with good facilities for dynamic data structures. If you use PROLOG, you should make sure not just to use the built-in facilities of the language, but to program with the language to obtain the required solution. Ask me about it.
All work submitted must be of the professional quality appropriate for a graduate course. This course assumes a mature level of programming and problem-solving skill. Programs will be graded for in-program documentation, style, and completeness.
Please Note: I also require an adequate "demonstration" that the program works. 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 explanatory printed record. This can be facilitated by writing a set of problem-dependent functions, and then using those to program the solution. A mere trace of the function calls is not appropriate.
The demonstration serves to show the reader how it works, and also that it works. That is, it must show that you have adequately tested it.
Make sure that wherever possible the program does the work, rather than the user. For example, try to avoid difficult input formats, and make program output clear and self-explanatory.
Any late work will have 10% deducted automatically. Please ask me if you need an extension. An extension does not necessarily prevent it from being penalized for lateness.
Please note that it will usually not be possible to cover all the relevant material in class prior to the project that needs it. You will be responsible for doing any reading that will help with a project. I will spend time at the start of each class discussing the current project and answering questions.
As there are some examples in the literature of the code for portions of some of the projects for this course I have to stress that I expect all the code for all the projects to be yours. You'll only learn by doing it yourself. Any copied code will be used as a reason for giving a score of 0% for that project. WPI's Academic Honesty policy applies to you.
Please note that I am expecting you to implement what is required by my projects, in the terms described, and not in the terms of similar problems described elsewhere.
You should try to attend AIRG meetings, on Thursday's at 11 am, if you can. You would be welcome at the AIDG meetings too.
I will not be scheduling regular office hours for this course. As indicated above there will be an opportunity for questions at the start of every class. Questions will also be answered for a brief period after class. Please ask me for an appointment if you need more help, I'll be happy to oblige. I'm always available via email.
The course will be graded as follows:
Mid-term 20% Final 20% Project1 15% Project2 15% Project3 15% Project4 15%