CS 151: Final Project
Your Choice! [150 points]
Summary of Due Dates
- Proposal (4/11, 11:55pm)
- Paper draft (4/28, 11:55pm)
- Presentations (4/30, in class)
- Reviews (5/2, 11:55pm)
- Final papers: Seniors (5/9, 5pm), others (5/14, noon)
In this class we have looked at a number of techniques, but we have not
examined any one topic in great depth. The purpose of this
assignment is to explore a topic we have examined in this course in
more depth. You will choose a topic, write a proposal,
and then complete what you propose over the rest of the semester.
You will also have to write a final report, give a final
presentation and review others' reports along the way.
[20 points]: Project Proposal
DUE FRIDAY, APRIL 11, 11:55pm
Your first task is to come up with your project group and submit a
project proposal. Here are the guidelines for choosing a project:
- You need to involve at least one method that we have talked about
this semester (or something that is directly related to something we
talked about). For example, you might apply hill-climbing to
learn the structure of Bayesian Networks (this even involves TWO
topics!). Or you might choose to explore how to use undirected
graphical models (e.g. Markov Random Fields) which we have not talked
about, but which are directly related to Bayes nets, which we have
talked about.
- You can propose to develop an application or a technique, or
both. For example, you might propose to implement Loopy belief
propagation for Bayes nets, or you might build a naive Bayes spam
filter.
- You may use any resources you can find, including code you have
written for this class or other classes, code provided with the book,
data you find on the web, etc. If you would like a resource and
can't find it, ask and I might be able to help you.
- You should be able to find at least two papers in the literature
that relate to your project. These papers should be on work that
solves the same or a similar problem.
- You should aim for a project that will take about 15-20 hours
work per team member. This is not a lot of work, and things
always take longer than you expect, so try to be conservative in what
you say you will do.
Here's what your proposal should include:
- The members of the team (pairs preferred. Please ask me if you'd like to work in a team of 3)
- A 1-paragraph description of the problem you will solve.
- A 1-3 paragraph description of how you plan to solve the problem.
- What results you aim to obtain and how you will evaluate your
approach. Note that this does not mean "how well do you think
your approach will work", rather, "How will you measure how well your
approach is working"
- A list of the two papers you found related to your project and
a 1 paragraph description of how what you are proposing relates to what
the authors of the papers have done. (It's OK if you are doing
only a very tiny subpiece of something that's been done before.
Do NOT try to implement something that made up a full research
paper!)
- The resources you will use to complete your project. Be sure this is a complete list.
This proposal will take some time, which is why I am giving you a full week.
Project (and paper)! [90 points]
DRAFT PAPER DUE MONDAY, APRIL 28, 11:55pm
FINAL PAPER DUE FRIDAY, MAY 9, 5pm (Seniors) OR WEDNESDAY, MAY 14, noon (others)
The bulk of the project is simple. You simply do what you said you would do in your proposal and then report on it.
You will submit only a paper for your final project. I don't need
to see any code. However, your paper must be complete enough for
me (or anyone else) to fully understand what you did. I would
like you to think of this as a real (potential) submission to a
conference or workshop. For example, AAAI has several workshops and symposia
where you might submit work such as this. It is unlikely that
you can complete enough work to have a submittable paper in this short
time (most workshop projects take several months to develop and write
up, if not several years!). But if you get excited about your project,
I would encourage you to continue working on it after the end of the
semester and plan to submit it to a AAAI workshop in the future.
Although the deadline for the AAAI workshops will have passed (April 7), we
will nevertheless use their template for formatting our papers (and you
might look at the workshops to get ideas for your project). You should get the template files from the AAAI authors site
and use them for your paper format (You'll find the LaTeX files and
Word templates at the bottom of the page). If you have any
questions about how to format your paper, please let me know.
Your paper should be short--no more than 3 pages,
but 2 pages is preferred (the draft can, and probably should, be longer
to make sure you didn't forget anything). Keep in mind that
writing a paper this short takes work and planning.
As far as the sections you include in the paper, there's no
standard format, but the following
sections outline a common approach to covering the important points:
- An Introduction that motivates and describes the problem
and the results at a high level.
- A Background section that explains the basics of
the algorithms you applied to the problem.
- A System Description section that provides the
details of how you constructed your system, how it works,
and how you tailored the algorithms described in the previous
section to the problem at hand.
- A Results section that describes how well the
system performs. A format that often works well here is
to first explain your evaluation techniques, provide their
results, and then explain those results and what they
say about the problem and about your approach(es) to it.
- A Conclusion, usually very brief, in which you can
summarize your system and the results. In addition, this
is a chance to be less scientific in your opinions about
the project and a chance to put it
in the larger context of larger, more general problems
(such as the general vision problem or a broad subfield).
This paper should not include a print out of code. Thus it is
essential that you provide enough detail about what you did and your
results for me to understand clearly exactly what you did.
Following the paper submission, there will be a 4-day review
period, during which time you will be required to review 2-3 of
your classmates' papers and give them feedback (details below).
At the end of
this review period, you will make revisions and submit your
final paper by the final deadline.
You will be graded on:
- How creative your project and solution is (but don't go
overboard here. It's perfectly fine to implement someone else's
creative ideas--you get creativity points for finding them).
- How well your solution is implemented
- How complete your project is
- How well your solution works
- How well you write up your project, including how well you address reviewers' comments.
- More guidelines may be added here to address your specific project.
Project Presentations [20 points]
IN CLASS, WEDNESDAY APRIL 30
You will give a short (~5 minute) presentation of your work in class on
Wednesday, April 30 (the last day of classes). Pairs will have
slightly longer. The purpose of this incredibly short time frame
is for you to practice giving the essential information about what you
did in a very short period of time. (At SIGGRAPH, a major
computer graphics conference) every author gets literally 1 minute (!!)
to present their work on the first day of the program.)
Your presentation must include the following information
- Why should I (or anyone else care) about what you did?
- What specific technical problem did you solve?
- How did you solve this problem?
- Why did you choose this solution?
- How well does it work (and how do you know)?
You presentations will be graded on:
- Content conveyed (How well did you address each of the points above)
- Organization
- Speaking style
Paper Reviews [20 points]
DUE SUNDAY, MAY 4, 11:55pm
Finally, you will review two of your classmates' papers. The
format of your reviews will be identical to the last reviews that you
wrote (but you'll answer slightly fewer questions).
Here are the points you must address in your review:
- What problem are the authors trying to solve?
- What are this work's main contributions?
- Is this work technically sound? (i.e., How good is the solution? How convinced are you that it works?)
- Comment on the quality of the writing.
- Is there anything you are confused about or any other advice you have for the authors?
With each point, remember that you are talking TO your classmates, with
the goal of helping them improve their papers and projects as much as
possible. For each point make specific suggestions about what is
good and what can be improved. If there's anything you don't
understand, say so! Don't worry about looking dumb--if you don't
understand something it's the authors' fault, not yours. Of
course, remember to point out what is good too.