Project 2C: Ngordnet Enhancements
Skeleton Setup
Similar to other assignments in this class, run git pull skeleton main to get the skeleton code for this project.
NOTE: Youʼll notice that this skeleton is (almost) the exact same as the Project 2B skeleton.
This is intentional.
Download the data files for this project using this link and move them into your proj2c folder on the same level as src .
Copy your implementation from 2A for ngrams , including TimeSeries and NGramMap , into the proj2c folder.
Copy your implementation from 2B into the proj2c folder, since k!=0 & commonAncestors will depend on your implementation from 2A and 2B.
Once you are done, your proj2c directory should look like this:
proj2c
├── data
│ ├── ngrams
│ └── wordnet
├── src
│ ├── <2B helper files>
│ ├── browser
│ ├── main
│ ├── ngrams
│ │ ├── <Your NGramMap implementation from 2A>
│ │ └── <Your TimeSeries implementation from 2A>
│ └── plotting
├── static
└── tests
Getting Started
WARNING
IMPORTANT NOTE: You should really complete Project 2B/C: Checkpoint first before starting coding, or even designing your project. It will be helpful for your understanding of the project. We will also require you to submit a design document to Gradescope. More details about the design document can be found in Deliverables and Scoring .
This part of the project is designed for you to come up with an efficient and correct design for your implementation. The design you come up with will be very important to handle these cases.
Please read the 2B & 2C spec carefully before starting your design document.
Weʼve created two wonderful tools that you can (and should!) use to explore the dataset, see how the staff solution behaves for specific inputs, and get expected outputs for your unit tests (see Testing Your Code ). Weʼll link them here, as well as in other relevant parts of the spec.
Wordnet Visualizer : Useful for visually understanding how synsets and hyponyms work and testing different words/lists of words for potential test case inputs. Click on the “?” bubbles to learn how to use the various features of this tool!
Staff Solution Webpage : Useful for generating expected outputs for different test case inputs.
Use this to write your unit tests!