CMSC-441 Algorithms (Sherman, Fall 2001): Project

Each student must carry out a semester research project that involves the integration of the theoretical analysis and experimental evaluation of an algorithm. The project must include (1) the statement of and answer to an interesting focused research question of your choice, (2) the implemetation of an algorithm and graphs showing its time and space usage as measured on a real machine, and (3) a final written report (about 10 pages long) in the format of a computer science technical report.

Intentionally, this semester the project topic is wide open for each student to choose.

If you are having trouble selecting a topic, here are three meta suggestions. First, select two algorithms to implement and compare. Second, select a research conference (e.g. FOCS, STOC, SIAM) that closely matches your interests. Find and read a paper in the latest conference proceedings on a topic that fascinates you. Third, work on a topic that motivates you greatly. Build on your knowledge and experience: the best topics usually come in part from your life experience.

Students may work in small groups of up to three students each. For any group with more than one member, each member must hand in a confidential note explaining what each member of the group did and how well each member contributed to the group effort.

Each group must hand in two copies of their technical report together with a documented listing of their source code. Each group will be evaluated on the basis of the report (60%) and source code (40%). The report will be evaluated on the basis of appropriateness to the assignment, scientific merit (correctness, significance, originality, non-triviality, scientific completeness), and effective presentation (clarity, organization, document completeness, spelling, English usage). Carefully read Sherman's advice on writing technical reports.

Each group must critically evaluate the work of one other group (due at beginning of class May 16).

Due: At beginning of class, Wednesday, May 9.
A progress report is due Monday, March 12 (before spring break); this progress report must include the group members, the project title, the focused research question, the algorithm you are studying, a list of the major research papers that you plan to cite in your report, and a plan with schedule for completing the work.