ICS 621 Course Project (100pts)
The goal of the course project is to
- (1) Expose the student to algorithmic issues in current computer science research
- (2) Provide an opportunity for the student to apply the algorithm design and analysis techniques in this course to practical and/or theoretical problems.
You are free to choose a problem domain of your choice and it could be related to your Masters or Doctoral research. This is an individual project, although groups of up to two persons will be considered for projects of sufficient difficulty or complexity.
Your Tasks
-
Choose a problem. Research current algorithmic solutions to the chosen problem in the literature.
-
Pick at least two algorithms from the current literature to analyse. You may also design your own algorithm for the chosen problem.
- Write a brief project proposal and post it in
Laulima->Class Discussion with "Project:" as a prefix in the title. Your proposal should include:
- Project Title
- Group members if group project.
- Short description of the problem. Include references if appropriate.
- Short description of the two or more algorithms. Include references if appropriate.
- A plan for completing the project. Include a list of tasks and a brief timeline with milestones.
-
Analyse the algorithms BOTH analytically AND empirically.
- Think about what kind of analysis is required. Worst case, average
case, amortized. The literature on those algorithms may give you sketches of
those analysis -- you need to fill in the details.
- Think about how you
would evaluate the algorithms experimentally
and quantitatively. If implementations of the chosen algorithms are not available, you may need to implement the algorithms in a programming language of your choice (you also need to understand how this choice affect the analysis).
- Generate data and run experiments to evaluate the algorithms.
- Analyze the measurements obtained from your experiments and iterate for deeper understanding.
-
Post a progress report in Laulima->Class Discussions. These reports are meant
to make sure that you're on the schedule you've set for yourselves. They should
be short, and state what you have accomplished so far (w.r.t. the schedule),
what unexpected obstacles you have encountered. In some cases, we may have to
revise the project plans as a result of the midterm reports.
-
Prepare a 12 min presentation.
-
Present your project in class and be prepared to answer questions.
-
Write a conference paper style project report of at most 5 pages.
Analysis details (eg. proofs) can be deferred to an appendix (not counted towards the 5 pages).
The ACM LaTeX Tighter Alternate style should be used. The style file can be obtained at the ACM SIG Proceedings Templates website.
-
Participate in peer evaluation of projects.
Deliverables
-
Project proposal (10 pts) due Mar 23 2012 2359 hours
-
Project progress report (0 pts) due Apr 13 2012 2359 hours
-
Project presentation (40 pts)
-
Project Report (50 pts)
You are not required to turn in code, but be prepared to show any code you wrote, should the instructor request for it for the purpose of grading.
The grading of the projects will be based on the following criteria:
- Quality of analysis of the different algorithms.
- Amount of work/effort put into the project.
- Presentation quality (clarity,enthusiasm, etc.).