Project Structure

To get started, download project materials project2.zip from our QQ group if you don't have one. Below is a list of all the files you will see in the project2.zip. However, you only have to make changes to cats/cats.py in this project.

Note that if you want to add new doctest for your problem xy this time, you should edit tests/xy.py.

cats
  |-gui_files   # A directory of various things used by the web gui.
  |-tests       # Your local `ok` tests for each problem. 
  |-data
  |  |-sample_paragraphs.txt    # A file containing text samples to be typed.
  |  |-common_words.txt         # A file containing common English words in order of frequency.
  |  `-words.txt                # A file containing many more English words in order of frequency.
  |-cats.py     # The typing test logic.
  |-gui.py      # A web server for the web-based graphical user interface (GUI).
  |-ucb.py      # Utility functions for CS 61A projects.
  `-utils.py    # Utility functions for interacting with files and strings.

For the functions that we ask you to complete, there may be some initial code that we provide. If you would rather not use that code, feel free to delete it and start from scratch. You may also add new function definitions as you see fit.

However, please do not modify any other functions. Doing so may result in your code failing our framework. Also, please do not change any function signatures (names, argument order, or number of arguments).

And, check the given tests when you are confused about how some functions should behave.