# 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.

• 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 7 2014 2355 hours
• Project progress report (0 pts) due Apr 4 2014 2355 hours
• Project presentation (40 pts) due May 5,7 2014
• Project Report (50 pts) due May 10, 2014
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.).