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 15
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.
- 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.
- 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.Consider the test cases that you will write for this use case to, hopefully, provide some more clarity in your thinking.
- 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.
- What 3 (or 4 if you're in a team of 5) extensions would you like to have in your final application?
- Bring the answers to the above questions 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?
- The parts of the project you're most interested in working on, in ranked order.
- 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.