Final Assignment, CPS 149

This is a group project. Groups of one must find two problems, groups of two must find at least two problems, groups of three must find at least three problems.

Each group should find N problems of a genre. This might mean, for example, three problems using depth-first search, or two problems that involve graph problems, or three problems that are backtracking, or two problems that are shortest-path problems, or two dynamic programmin problems, etc. (Please, NOT two bigint problems).

The problems should be related, but not identical. They should illustrate either a general algorithmic concept or be in some subfield of computer science (computational geometry for example). You should abstract (or distill, or ...) the commonality into an abstract for your genre. Then you should provide solutions to each problem showing the commonality in code as much as possible. One idea is to include a small piece of code that is re-used in all the problems. This may not be possible, you may have to re-use an idea that can't be replicated in a single code fragment.

Each group should prepare HTML page(s) that describe the problems, have links to the problems (originals certainly, and re-interpreted or re-written by you to make them clearer as necessary). There should be links to the solutions, to data sets, and to related algorithmic concepts. Each group should be prepared to make a 10-15 minute presentation about their problems and their genre. These presentations will take place during the last two class meetings.

When you've selected a group, please send me email. Ditto for when you've selected a problem/genre.

There are many links to problem set pages, here's one.