 |
CS 216 - Data Structures
Homework #8 |
Due:
- Proposal - Tuesday 11/25
- Presentation - Thursday 12/4 or Tuesday 12/9 in class
- Final code submission - Thursday 12/11
NOTE: This work is to be done in teams of 2.
Final Assignment: Choose Your Own Adventure
There are many other interesting topics and useful tools in our vast textbook
(e.g. red-black trees, Huffman coding, B-trees, maximum flow computation, etc.).
This assignment is your opportunity to choose a data structure and/or algorithm
we have not covered. For this assignment:
- Select a unfamiliar data structure and/or algorithm we have not covered
and have it approved by me by Tuesday 11/25. Your proposal may
be informal and verbal. Please follow up with an e-mail minimally listing the
relevant pseudocode and page number(s).
- Implement the pseudocode, and prepare a simple demonstration of its
correct functionality. If
- Informally present your data structure and/or algorithm in class for at
most 20 minutes on Thursday 12/4 or Tuesday 12/9. Sign ups for
presentation times will be in
class on 12/2 in order of approved projects.
- Your presentation should
- describe the problem addressed (~5 min.) - Give a formal
definition of the problem, provide a concrete example, and describe at
least one example application.
- overview the algorithm (~10 min.) - Present and explain the
algorithm you have implemented. You may use the text pseudocode,
any online demonstration applets you may find, and your own code if you
wish to blend overview with demonstration.
- demonstrate
your implementation (~5 min.) - Show that your code functions correctly. If
applicable, a stochastic test harness is recommended. The demonstration
need not be graphical.
- All code must be submitted by Thursday 12/11.
Grading:
- Presentation
(50%)- Problem definition (20%)
- Algorithm overview (20%)
- Implementation demonstration (10%)
- Implementation
(50%)- Algorithm correctness (30%)
- Algorithm documentation and clear coding style (10%)
- Test code quality (10%)