Four-credit students will write a final project report. Your grade will be based on three things:

  1. 45%: Five writeups, one submitted every two weeks, by the deadlines shown below. For full credit, see the section How to Write a Technical Paper, below.

  2. 45%: Fifteen reviews. You’ll be assigned three other students, whose writeups you will review once every two weeks. For full credit, each of your reviews should follow the format described in the section How to Review a Paper, below.

  3. 10%: Revision. After you’ve written all five sections, and had them each reviewed by three other students, you will revise your paper, and submit the revised version. You will also submit a cover letter describing your responses to reviews (did you make the suggested changes? If so, how? If not, why not?). Your final submission will be graded based on the content and style of the report, and based on your responses to reviews.

Each project component is due at 23:59:59 Illinois time, on the date shown below; if you submit late, standard late penalties apply. Each project part needs to be submitted in two places:

In order to make it easier for other students to find your writeup, please try using something like the following naming convention for the PDFs you upload to Box:

  • For parts of your own writeup (1a, 2a, …, 5a), your filename starts with your own netid, e.g., netid_firstname_lastname.pdf.

  • For your review of other students, your filename should start with the netid of the person you’re reviewing, e.g., it could be reviewednetid_reviewed_by_reviewernetid.pdf.

Components of the Final Project

  1. Intro and task description: what problem are you trying to solve? Why is it interesting? This part should be general enough to be understood by other students in CS 440, but need not be more general than that. This section should include a figure, showing the basic idea of your task, or of your solution idea, or of the data, or something else that will help readers understand the problem. You should create this figure yourself; it should not be cut and pasted from any other article.

    1. Submit your own intro (Due 26-Jan).

    2. Review teammates’ intros (Due 2-Feb)

  2. Background: Describe the current state of the art for this problem, including (if possible) at least three recent papers that have attempted to do something similar. Also, what knowledge is necessary to understand your task that is not universally known within the artifiical intelligence community? Give citations for at least two papers that provide the necessary background knowledge (for a total of five papers cited). Provide full listings for all five (or more) of those papers in a bibliography at the end of your report. For each paper, provide a brief summary of its content in the text of this section, sufficient for the reader to understand the background knowledge encapsulated in that paper, and its contribution to support your key technological innovation.

    1. Submit your own background section (Due 9-Feb). Append your background section to the intro that you submitted two weeks ago; the result should be exactly 2 pages. Your intro can be revised, but it’s not necessary.

    2. Review teammates’ background sections (Due 16-Feb)

  3. Propose an algorithm that does something relevant for your problem, describe the algorithm clearly, and describe why the algorithm might work. Specify whether this is a new training criterion, a new signal processing algorithm, etc. Describe how it differs from the state of the art before it. Specify whether you are proposing a new innovation that has not been previously proposed (and if so, describe its relationship to the state of the art) or an innovation that you find particularly compelling from some published paper (and if so, cite that paper, and describe the relationship of this innovation to the ideas in papers published before it in the same field). Include at least two formulas: one that defines some part of your algorithm, and one that defines the criterion that you can use to evaluate your results. Add some text before and after each formula, defining the terms in the formula.

    1. Submit your own algorithm section (Due 2-Mar)

    2. Review your teammates’ algorithm sections (Due 9-Mar)

  4. Run an experiment. Describe experimental methods (dataset and performance metric) and results. Describe the content of each dataset in terms of the quantity of data, and the types of labels available for each datum, and the types of overall metadata available. Give the source of each dataset, and specify the license agreement of each dataset (open-source or not; if so, which one; if not, key terms). Baselines against which your work is compared: Specify which baselines you ran yourself, and which ones are numbers published in a paper. Describe (possibly in words, possibly in formulas or both) key differences in the algorithms between your main algorithm and the baselines. Give one or more tables showing evaluation criterion(a) comparing your primary approach to the baselines.

    1. Submit your own experiment section (Due 23-Mar)

    2. Review your teammates’ experiment sections (Due 30-Mar)

  5. Discussion and conclusions. Discussion: Discuss the degree to which your experimental result is a success, a failure, or uninterpretable. Describe, in words and/or visualizations, a scientific generalization that is implied by your results. Conclusions: State the most important numerical difference in the evaluation criterion between your primary approach and the baseline(s) and/or ablation condition(s). State the main reason why you believe that difference occurred.

    1. Submit your own discussion and conclusions (Due 13-Apr)

    2. Review your teammates’ discussion and conclusions (Due 20-Apr)

  6. Submit your final paper with revisions (Due 27-Apr)

What to write about

In general, you should pick an area that interests you. But, you might ask, what are the “areas”? There are at least three ways to divide AI into topic areas.

  1. Different definitions of intelligence. So, for example, some areas of AI focus on making a computer more rational (planning, reasoning). Some focus on making a computer more human-like (natural language processing, emotion). Some focus on making a computer more autonomous (sensors of all kinds, robustness to error).

  2. PEAS: Performance (e.g., methods for optimization, methods for measuring performance, generalization error, computational considerations), Environment (agents on the internet, agents who interact with humans, robots who interact with humans, delivery drones, robots in environments where a human could never go), Actuators (hardware issues, configuration space of a robot, path planning, reinforcement learning), Sensors (audio, ultrasound, vision, infrared, 3d vision, radar, wifi, biomedical sensors, seismic sensors, mapping).

  3. Application area: data science, biomedical imaging, automatic medical diagnosis, speech recognition, spoken-language translation, automatic story generation, purposive dialog agents, chat, automatic advertising, automatic topic detection, named entity recognition, syntactic parsing, data mining, fraud detection, anomaly detection, conflict resolution, genomics, preoteomics, scientific inference, automatic image generation, image style transfer, synthetic singing, automatic music composition

Here’s a highly biased and under-representative Venn diagram of some of the possible topics you could choose:

A Venn diagram showing overlaps among some of the areas listed above

Places to look for relevant papers

Major conferences

Here is a list of some major conferences that you can scan to find more information about some of the topics suggested above.

  • Core AI

  • Computer vision

  • Natural language
    • ACL, NAACL, EACL, EMNLP, COLING (All available at the ACL anthology web site.)

  • Speech
    • ICASSP, Interspeech

  • Machine Learning

  • Robotics
    • ICRA, IROS

How to Write a Technical Paper

Your writeups will be graded on both formatting and content.

Formatting: use the templates of the `IEEE Transactions on Computers


Content should meet the basic standards in the IEEE Write Your Paper page.

Your writeups should be cumulative: the writeup for part 2 should be added to the end of the writeup for part 1, and so on. Each new page should add exactly 1 additional page of text, thus writeup 1 is 1 page, writeup 2 is 2 pages, etc.

How to Review a Paper

In (b)-weeks, you will write one-page reviews of the papers submitted by three of your fellow students. Each review should be a one-page document with a title, and containing exactly three paragraphs. If you add grammar notes in a bulleted list at the end, that can go beyond the 1-page limit.

You’ll be graded based on whether you seem to have made a serious attempt to offer constructive criticism to your teammates (destructive criticism will receive negative points). For more information, see, for example, the IEEE Ethics in Peer Review page.

  • Title: Each review should have a title, something like “Review of the introduction section of the paper …. by ….”

  • Paragraph 1: Your first paragraph should be with a one- or two-sentence summary of the new content of the paper (the part that has been added in the last page of the paper – because you will review each paper as it evolves, week after week). This lets the author see what you considered to be the main idea of their paper. Sometimes, the author and the reader have different ideas about what’s important in a paper – that information can be useful to the author.

  • Paragraph 2: Your second paragraph should say something about the relationship between the new material and the old material, or about the relationship between the new material and the field of artificial intelligence, or about the relationship between the new material and its potential applications in society.

  • Paragraph 3: Your third paragraph should find some way in which the paper could be improved. For example (1) were some topics explained unclearly, so that you’re not really sure what the author was trying to say? (2) Would the paper be more interesting if the author went into more detail about one or more topics? (3) Are there logical arguments that contain gaps, where the argument jumps from one step to another without sufficient support in between? If so, what type of support might help to fill that gap?

  • Optional bullet list: if there are places where you would recommend modifications to improve grammar or style, please add these to the end of your review, in the form of a bullet list.