Warning: Outdated Content
This MP is from a previous version of CS 125. Click here to access the latest version.
MP7: Final Project
You’ve learned a lot this semester. Now it’s time to try out your newly-acquired super powers. MP7 is not about us giving you something to do—it’s about you accomplishing something you want to do using computer programming.
MP7 is different than previous MPs. It is done in pairs with a partner from your lab section. And it due in your lab section during the last week of class: so during lab on either Tuesday, December 12th, or Wednesday, December 13th.
1. Learning Objectives
If the previous MPs have had you execute carefully-planned routes from point A to point B, MP7 takes you on a journey off the map. You’ll learn how to plan and execute a small project of your own design. You’ll also learn how to work with a partner. We’ll also continue to reinforce the learning objectives from previous MPs (1, 2, 3, 4, 5, and 6). MP7 brings everything together and starts you out on a career as an independent software developer.
2. Rules
Our goal in MP7 is to give you as much flexibility as possible, so there are few rules about what you can and can’t do. But those that we do have are important:
-
You must do something new for MP7. Do not plan on submitting something from another class, or something you’ve done previously. You may want to work on something that you’ve started on previously, but given that you’ll be working with a partner that’s not fair to them. So you should pick something new to do for MP7. It doesn’t have to be a huge project—you only have two weeks. But it should be original work.
-
You do not have to use Java. You probably will, but you don’t have to.
-
You can use a previous MP as a starting point. Perhaps you’d like to add some image transforms to MP4, or features to the game from MP5, or additional functionality to MP6. That’s fine! You don’t have to, but these previous projects can provide a good starting point.
-
You have to work with a partner from your lab section. You turn in MP7 by presenting it in lab during the last week of class, and you and your partner should plan that together.
-
You do have to publish your work on GitHub—privately if you want. So you should set up your project using Git and be able to show that you have committed and pushed your code to GitHub as part of your turn-in presentation.
3. Getting Help
While MP7 is self-driven, please feel free to approach the course staff for help. Post on the forum, or come to office hours and discuss your project idea and implementation with the doyens.
4. Grading
Grading for MP7 will be generous. It is worth 100 points total, broken down as follows:
-
25 points for doing something original
-
25 points for ensuring that both partners have roles in the project
-
25 points for presenting your work during your final lab section
-
25 points for properly publishing your work on GitHub
There is (obviously) no autograding or online testing for MP7. Grading will be entirely at the discretion of the course staff.
5. Submitting Your Work
You and your partner should prepare a 5 minute presentation for the last lab section during the final week of class. Your presentation should cover what you did, why you did it, who did what, and any other interesting details: interesting technical problems you encountered, how you collaborated, or ideas for future work. You should also confirm that this was an original project and that it was published to GitHub under one or both of the project partner’s accounts.
5.1. Academic Integrity
Please review the MP1 academic integrity guidelines. In addition, for MP7 any attempt to turn in non-original work will be treated as an academic integrity violation. Consider yourself warned.