|
CS 216 - Data Structures
Homework #10 |
Due:
- Proposal - Wednesday 3/20
- Presentation - Wednesday 4/17 through Monday 4/29 in class
- Final code submission - Friday 5/3
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 Wednesday 3/20. 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.
- Informally present your data structure and/or algorithm Wednesday
4/17 through Monday 4/29 in class. You will have one full class
period for your presentation. Presentation times will be assigned once
all topics have been established.
- Your presentation should
- Describe the problem addressed - Give a formal
definition of the problem, provide a concrete example, and describe at
least one example application.
- Teach the algorithm - 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 - 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 Friday 5/3.
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%)