In this project, you will:
This assignment has three parts:
Note: each of these three parts are largely independent of each other. Feel free to work on them in any order you want, as long as you meet the listed deadlines.
Here are some baseline expectations we expect you to meet:
Follow the course collaboration policies
DO NOT use any classes from
java.util.*
. There are only two exceptions to this rule:
You may import and use java.util.Iterator
and
java.util.NoSuchElementException
.
You may import and use anything from java.util.*
within your testing code.
DO NOT modify instructor-provided code (unless told otherwise)
This project is split up into three parts. Part 1 is about heaps, Part 2 is meant to give you more practice working with dictionaries and sets, and Part 3 is meant to give you practice working with graphs.
One important thing to note is that you will in general be given very few tests on all three parts. This is intentional and is meant to help you develop strong debugging and testing skills. We strongly encourage you to add your own tests to supplement the ones you were given.
Part 0: Find a partner
Due Fri, Feb 9 at 11:30pm
Once you've found a partner, both you and your partner should fill out the partner selection form.
Note: you MUST pick a different partner then the ones you worked with on projects 1 and 2, unless you specifically email and get permission to continue working together.
Part 1: Heaps, sorting, and testing
Due Fri, Feb 16 at 11:30pm
Part 2: Searching using TF-IDF
Due Fri, Feb 23 at 11:30pm
Due Fri, Feb 23 at 11:30pm
Due Fri, Feb 23 at 11:30pm