Spec Update
As of 7/16, we’ve cleaned up the Project 2 specs with the following changes:
- “words” files are now referred to as “word history” files, while “counts” files are now referred to as “year history” files, see the NGrams section in the Data page.
- Refactored relevant data sections into it’s own “Data” page
- Refactored relevant testing sections into it’s own “Testing” page
- Standardized and cleaned up miscellaneous parts of spec
- New “Above and Beyond” page
There are NO new requirements for the project and the autograder/skeleton code is the same as before, so if you have already completed Project 2A: NGrams, you don’t need to do anything!
Project 2: LLM Augmented Optional Tasks
If you’re reading this, we’re assuming you’ve already implemented the Hypohist button. For this final part of the project, we encourage you to use LLMs to try to build something even bigger.
Do not use LLM generated code for any portion of 2B. LLM generated code is only allowed for your own chosen “above and beyond” features!**
Some possibilities:
- Adding additional buttons that use one or both datasets in some creative way. For example, you might plot the average length of all words in a given year. Or you might create a visualization of all of a words’ hyponyms. Or you might have a feature that prints the shortest path between two words.
- The hyponyms search finds all hyponyms, no matter how distant from the source. For example, there are a huge number of hyponyms of “dog”. Add a new field d to the front end, which finds only words that are at a distance of d or less from the given words.
- Add a ! operator, e.g. if someone enters “!person, leader”, your code will find all leaders which are not a person.
- Explore statistical properties of the dataset, for example by plotting counts (on the y-axis) vs. ranks (on the x-axis), you should be able to see Zipf’s law in action.
If you discover or build something cool, email Josh (hug@cs.berkeley.edu) and say that you’re a CS 61BL student taking the class in Summer 2026.