Skip to main content.

Final Project: Preparation Analysis

Objective: Prepare for the final project by reviewing the given code and planning what has to be done for the project based on the problem specification.

Due: Before class, Nov 17

Review Specifications

Review the specifications for the final project.

Discussion Questions

Answer the following questions in a document and clearly label which question you're addressing. The format of the file can be txt, md, or PDF.

  1. What are the main parts/steps/components that need to be completed to complete the project? Try to be as specific and precise as possible. From your description, it should be clear that you understand the requirements for the project.
  2. How will your application handle the following use case:
    The user starts the application, types 'x/y' in the expression window, and sees the image.
    It should be clear from your description which objects are responsible for completing each part of the task. Some of the classes are given to you; others need to be added. If you're using passive voice, that's an indication that you don't understand the code well yet. Change your writing to the active voice to be clear that, say, an object of class SoAndSo is doing ThisOperation.
  3. You will be working with a larger team (4-5 people) on this project, which has a larger code base. Review the collaboration parts of your analysis document from the testing project. Discuss how you'd like your team to work together--on the code, using git, meeting schedule/format, communication styles, making internal deadlines, etc. The goal with this paragraph is to get you thinking about how you think the team will work most successfully. Later, your team will discuss how best to work together. While your team likely won't agree on everything, hopefully, having these thoughts and ideas up front will help your team come to a consensus about how to work together more easily.
  4. What 3 (or 4 if you're in a team of 5) extensions would you like to have in your final application?
  5. Bring the above answers together into a plan for how you would tackle implementing the project with your team. What parts can be completed independently of the other parts? What parts need to be completed before other parts? How much work does each part require? (Approximate in terms of time or relative to the other steps.) How many people should be assigned to each part?
  6. The parts of the project you're most interested in working on, in ranked order.
  7. Any questions about the given code. (Ask these in class as well.)

Submission

Submit via Canvas.

Grading

Clear descriptions, articulation of answers to above questions. Evidence that you thought about the questions and reviewed the code and specification.