Project Check-in Lab
Goals
To check in on your final project to make sure it is the right balance of fitting the requirements and feasible.
Exercise 1
Hopefully you’ve already spent time thinking about the requirements for the final project and have an idea of a project that will meet the requirements. A common issue however is having a project that is too big for the time you have and so you end up stressed to get it to a finished state.
To avoid this situation, it’s important to think about a minimum viable product that will meet the requirements of the project’s rubric and be somewhat complete even if it isn’t everything you wanted.
Write down the components of a minimum viable product that meets the project’s requirements (one superclass, two subclasses, two other components) but is otherwise so simple that you are confident you could complete it in an afternoon. Specify the class names and methods at least.
Exercise 2
Obviously something you can accomplish in an afternoon isn’t going to be “substantive” enough, so now outline the additional functionality you will add to make your project substantive and interesting.
List at least three additions to your minimum viable product that will take you at least an afternoon each. Ideally these will be independent so that if one doesn’t work, you can remove it and add the others. These might be additional classes or methods within your existing classes that add distinctive functionality. If you are having trouble thinking of more, here are some jumping off points:
- User interface (command line arguments and/or interactive user input)
- Additional options/modes a user can choose
- Games specifically: use randomness to make a very bad AI
- Simulations specifically: add randomness to better simulate the real world
Remember you can ask others in the class, your prefect, and your instructor for help thinking of more expansion ideas!
Discuss with another group nearby what each of you have for Exercises 1 and 2.
Exercise 3
Start or continue your minimum viable product! Remember to have a goal of getting it completely done and in a form that you could hand in before starting on an expansion.
Don’t worry if your minimum viable product ends up taking more than an afternoon, that’s expected. Computer scientists are famously bad at predicting how long a task will take, so something that you think will take an afternoon will hopefully actually be achievable before finals!