In this chapter, you will complete your first project of a substantial size. Remember, most code that you write will be a lot more than ten lines long. Learning how to put together bigger programs is an essential learning outcome for this course!
Do not be overwhelmed by the project. The instructions will seem long and daunting at first, but the whole point of Computer Science is that we break down difficult problems piece-by-piece. Start by reading over the instructions, and then try out the first part of the problem. Refer back to the instructions periodically. By taking it step-by-step, you’ll find this is all quite manageable. And if you need help, remember that there are many places you can seek help from - but do NOT share code with your classmates! You may be tempted to use tools like an LLM or to search for answers on Google, but do not do so. Working on projects like this is absolutely essential to becoming a software engineer and Computer Scientist, and you will really set yourself up for failure by cutting corners.
Alongside the project, there are 8 lessons about working with a larger codebase. We look at a similarly-sized project for a word guessing game application. At the beginning, we show you a broken version of the game. We then apply the concepts we have learned previously about documentation, testing, code quality, and decomposition to fix a bunch of issues in the implementation of the code. At the end, you will see a completed, working version of the game with proper docstrings and tests. We recommend alternating between the lessons and the project. This material is essential as we start tackling more complex programs.