Overview

In this homework, you will develop a more complex program using dynamic data structures. In doing so you will:

  • Gain experience developing a larger system one part at a time, testing as you go.
  • Learn about the trie data structure, a version of a search tree.
  • Gain experience working with trees, structs, and dynamically allocated data.
  • Gain more experience reading and processing text files in C.
  • Practice writing simple Makefiles.

You will be implementing the T9 algorithm, following the same interface you wrote tests for in the previous homework. The unit tests you wrote for HW5 can be used to evaluate your implementation!

You will submit via Gradescope and may re-submit after viewing the initial auto-grading output.

This homework should be done independently. If you work with a classmate, make sure you are each editing and working on your own set of files. You should not copy and paste code. We take academic integrity seriously, so please don’t cheat.

If you run into any trouble or any errors, post on Ed (with a screenshot of your error and any relevant details) or come to office hours and we can work together to figure it out.


Subpages

  1. Setup - Set up your git repo on Seaside for HW6.
  2. Program Specification - Complete the actual programming component of this homework.
  3. Assessment - Explains how this homework will be graded.
  4. Submission - Explains waht and how to turn in this homework.