In a paragraph, explain why you are building this program.
In a single sentence, describe what your program will do.
Outline the program:
-
List all of the classes in the program.
- Your program must use object-oriented programming, instead of purely functional programming. So, your program may be separated into as many modules as necessary.
- If you need multiple files, you must make sure to submit ALL the files needed to run your program or play your game, including any data files used by your program (text documents, images, etc).
-
Include the CRC card for each class:
- See this link for a sample CRC card and a template to use for your own cards: https://docs.google.com/document/d/1JE_3Qmytk_JGztRqkPXWACJwciPH61VCx3idIlBCVFY/edit?usp=sharing
- Tables in markdown are not easy, so I suggest saving your CRC card as an image, and including the images in the README. You can do this by saving an image in the repository, and linking to it. See the sample below.
-
Include the main file, which will be calling all of the other code.
NOTE: The initial design plan may not fully reflect your final product, as projects evolve over time.
Sample image:
List every file in your repository, and briefly summarize what each file contains.
Your project should include a separate module containing a test suite, similar to what was explored in T12: Modules. As a reminder, a good programmer follows Test Driven Development, and creates the test suite first!
You'll complete this part at the end of the project. Provide a brief summary description of the design and implementation, including how much your initial design plan evolved, the final result you achieved and the amount of time you spent as a programmer in accomplishing these results, including any challenges overcome and innovations that were not specifically required by the assignment. This should be no more than three paragraphs.
You'll complete this part at the end of the project. In this section, add a publicly available link to a YouTube video which you will create, demonstrating how to use your program. The video is a short (less than 5 minutes) demonstration video. Your video should include:
- A title screen, including the class name, your name, and the project title
- You briefly discussing your project and it's motivation
- A demonstration on how to use the program, much like a marketing video.
- A short discussion about what you learned through the process of building the program.
- DO NOT include a section where you scroll through the code. Your video should include NO code.
- A credits roll
Explain how to use your program and/or play your game.
You'll complete this part at the end of the project. Every program has bugs. Use this section to create a bullet list of all known errors and deficiencies that remain in your code.
You'll complete this part at the end of the project. Write a paragraph or two of your reactions to the final project.
Throughout this project, you've likely used outside resources. Reference all ideas or code which are not your own, and describe and how you integrated the ideas or code into your program. This includes online sources, people who have helped you, and any other resources that are not solely your own contribution.
While there seems like a lot of work around this final project, one thing to keep in mind is HAVE FUN with it! You are creating code to express your interests. Make a fun video. Break up the writing so it’s not so burdensome. We will have a live demo session on our last day of class. It'll be the most fun final exam you've ever had!