CSG120 Artificial Intelligence - Spring 2008
The Project

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

Version of 16 April 2008

Getting started with your project will take some effort, because you'll be working on a topic that you probably won't be familiar with to start with (a major reason for the full course Overview).

I will describe a number of different projects that you can choose from. I'll help you make a tentative decision in the first class, but you can refine it, or change as late as soon after the second class - after we've gone through the full course Overview. The list of projects you can choose from is on this must read page.

Important instructions as to how to structure your project paper

All the items listed below are required. You will lose points if any of them are omitted. The precise order can be varied, as long as everything is there. Some of the requirements relate to form, some to content. (My hope is that the requirements below can stand you in good stead when writing other papers and reports, in school, and on the job.)

Here are some additional notes based on what I have seen in the projects you have handed in so far.

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.

A requirement: Your references cited, books and papers, should be in a full and proper form similar to the ones in the Bibliography section at the end of your AIMA textbook.

Find and discuss other literature related to your project

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 from our library 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.

If you are doing a written report only, with no programming involved, or no use of a system such as Weka, or Protégé, you must find, study, and report in detail on a minimum of six papers from journals, conferences, or book chapters, in addition to discussion of two of the books on Reserve.

Choosing your project topic

You will choose a topic in the manner described on this must read page.

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 four 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. There is extensive AI code available on the AIMA site and on the Norvig PAIP site and his PAIP book.

Project stages

Initial project plan

Your initial plan should briefly summarize what you have chosen to work on. 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 of my 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.

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.

Mid-semester Project Report - Due Friday, March 28th

This will be an extensive report. The report should have a substantial amount of content, a written report of at least three or four pages (single spaced). If you are writing code include some commented excerpts. Include excerpts of data files you use in your programming, or machine learning, if that applies.

A major goal of the mid-semester 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!). The grade and comments that you get back will help guide you toward your final project.

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.

Optional final project draft version - hand in by April 9th


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. This is to help you. Handing in the draft is not required.

Final project - Due Thursday, April 17th

This will be your final project. Hand in at the class or email by the end of the day, 11:59pm. The guidelines above for the mid-semester report apply, with the following differences:

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