CSU520/CSG120 Artificial Intelligence - Spring 2007
The Project

Professor Futrelle - College of Computer and Information Sciences, Northeastern U., Boston, MA

Version of 8 April 2007


Start your search for a project immediately.
Some serious effort is required. Getting started is somewhat difficult, because you'll be proposing to work in an area that you probably won't be familiar with during the startup of the course (a major reason for the full course Overview). As described on the course homepage, there are four possibilities, each of which will require a scholarly written report (even if you're doing a programming project):

You must discuss material from two of the books on Reserve

You are required to include substantial discussions of material from at least two of the books on reserve for the course. Give a full citation to the book as well as the numbers of the various pages or sets of pages from which you draw your material.

Find and discuss other literature related to your project

If you are doing a written report only, with no programming involved, you must find, study, and report in detail on a minimum of ten papers from journals, conferences, or book chapters.

Otherwise, your project must include your finding at least two reasonably recent research or tutorial papers related to your topic, in addition to the material from two or more of the reserve books. You are strongly discouraged from using web page documents. Instead, you should use our library's online research resources to find papers from journals or conference proceedings. Two other good sources are Google Scholar, http://scholar.google.com/, and Citeseer, http://citeseer.ist.psu.edu/, as long as the papers you use from those appeared in high-quality publications or are highly cited. You can also request a Consortium Card and then use other libraries such as MIT and BU http://www.lib.neu.edu/services/borrowing/apply_blc_card/. You must describe and discuss the papers in your reports in a way that demonstrates that you understand their content and their relation to your project.

Choosing your project topic

You should choose a topic that interests you, even if the material about it will not be covered in detail until later in the course. I can help you get started with whatever you choose. If you have any questions at all, please contact me before you devise and hand in your initial plan, Proj 1, and continue to consult with me throughout the semester as you need to.

There are certain topics I prefer, and others I would discourage you from. I can be most helpful if your projects are in my areas of expertise and interest: Natural language, graphics knowledge, machine learning, and the domain of biology and medicine. These are important areas for the application of AI techniques. I would discourage you from things such as board games. These generally boil down to combinatorial algorithms, with little or no knowledge-level components. On the other hand, there is work in "game AI". This typically involves designing intelligent colleagues and adversaries, ones that have interesting knowledge bases and knowledge-driven strategies.

Other AI courses around the world have resources and project descriptions online. See our AI links page or the many links on the AIMA homepage. Norvig's book, on reserve, Paradigms of Artificial Intelligence Programming - Case Studies in Common Lisp is famous for the insights it provides into AI programming. It also has some advanced exercises that could serve as the basis for your full semester project.

How to write. Your audience

When writing, you should always write for an "audience", the people whom you expect to be reading what you write. Your audience should not be me, Professor Futrelle. Instead, you should imagine that your audience consists of other students in the class. You can assume they've been learning the course material, but you can't assume that they know the details of your project topic or the concepts in the references you find.

Everything you write and hand in should be checked for sense, form, grammar, and spelling before you hand it in. This includes your five Assignments, not just your Project. It would be wise to have a classmate read over your Project handins before you hand them in, to be sure they read well and tell your story clearly.

How to write. All good writing requires extensive rewriting

There is an old and important adage about writing: There is no such thing as good writing, only good rewriting. Keep this in mind for all writing you do, whether it's for your project or just for email. I rarely just type in email text and send it. I normally look it over and keep making changes. Sometimes I print out an email and edit it before I finally send it.

Programming portions of your projects

You can find some (slightly outdated) discussion of programming in the Spring 2006 project pages. Their is extensive AI code available on the AIMA site and on the Norvig PAIP site and his PAIP book.


Project stages

Your in-class presentations

Each of you is to make two brief presentations describing your project, one early on, and the other toward the end of the course. See the schedule pages for the undergraduate course and the graduate course for details of this as well as the due dates for the various iterations of your project.

Initial project plan

Your initial plan should briefly summarize what you are thinking of doing. It should list one or two papers you have found so far, with a brief note as to their relevance, e.g., you could paste in the abstract from each paper. Please hand in hardcopies of the papers you've found. It is very inefficient for me to download and read them for both classes, but easy for each of you individually. Your initial project plan should consist of between one and two pages of (single-spaced) text, plus additional pages for diagrams or code samples.

Note added 2/7/2007: Your initial plan should have two components, topic content and how you plan to pursue your project. By topic content, I mean some writing that describes the field and topic you have chosen. Think of this portion as something another student might read to learn something about the field and topic you'll be focusing on. By pursuing your project, I mean that you could include your plans to learn to use an AI application, what data you might be working with, what algorithms you might be developing or using, further research you will do into the literature of the topic, etc.

If your project involves programming or the use of tools such as such as WEKA or Protégé, you should discuss how you think you might develop your system design and do any coding needed for your project. Pay careful attention to evaluation for any programming project or tools you use - how you will demonstrate that your system succeeds in meeting its goal.

Interim Project Report

This will be a more extensive report Your interim report should have substantially more content than your initial plan, e.g., a few hundred lines of code, data files, an updated report of at least three or four pages. You are allowed to change your project topic between your initial project plan and this interim project report based on your attempts to expand on your initial plan.

A major goal of this interim report is to help you get enough done at this point in the course so problems won't pile up later and so you won't delay working on it until near the end of the course like some people do (and usually regret!).

I have given all students feedback on their initial project reports, as well as discussing the reports in class, indicating the various strengths and weaknesses I found. From these discussions you should have a reasonable idea of what you need to do for your interim report. But to help you, I have added a guidelines / requirements list below. You needn't follow the specific guidelines below, but if you deviate, it should be in the direction of having more and better material to hand in than in the list below.

Final project draft version

This should be a draft version of your final project. The intent is to give me a chance to give you some final bits of advice to help assure that your final project will be in good shape.

Final project

This will be your final project. The guidelines above for the interim report apply, but the amount of material you hand in should be greater, e.g., five to ten pages minimum for your report and the same for the description of your results. You should include and discuss more references, four or a few more. Most captions people have been writing are far too short. The captions in AIMA vary from one line to a good number. Your captions should never be shorter than three lines long. Make this your goal: A person should be able to look through your report, and by looking only at the figures and captions, get a reasonable idea of what your report is about.


Go to the CSU520 home page. or to CSG120 home page.. or RPF's Teaching Gateway or homepage.