Warning: Outdated Content
This MP is from a previous version of CS 125. Click here to access the latest version.
MP6: Final Project
You’ve learned a lot this semester. Now it’s time to try out your newly-acquired super powers. MP6 is not about us giving you something to do—it’s about you accomplishing something you want to do using computer science.
MP6 is different than previous MPs. It is done in pairs with a partner from your lab section. And it’s due in your lab section during the last week of class: so during lab on either Tuesday 12/11/2018 or Wednesday 12/12/2018.
We’re also giving you a chance to earn extra credit by doing a great project and participating in our second biannual Final Project Fair, from 5–9PM on 12/13/2018 in Siebel.
1. Learning Objectives
If the previous MPs have had you execute carefully-planned routes from point A to point B, MP6 takes you on a journey off the map. You’ll learn how to plan and execute a small Android 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, and 5. MP6 brings everything together and starts you out on a career as an independent software developer.
Our goal in MP6 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 MP6. Do not submit 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 MP6. It doesn’t have to be a huge project—you only have a few weeks. But it should be original work.
Here are the rest of the rules:
You need to build an Android app.
You need to design a simple UI. We’ll provide help with that in lab.
You’ll need to finish your UI mockup in a week and demo it in lab.
You need to use a new web API, software library, or Android feature.
You need to commit your work to GitHub—to either a public or private GitHub repository.
You need to work with someone in your lab section.
You cannot build a weather app. We saw too many of those last year.
Other than that, what to do is up to you.
You turn in MP6 by recording a YouTube presentation which will be shown in lab during the last week of class. You and your partner should plan that together. * You do have to publish your work on GitHub (or GitLab, or something similar)—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 MP6 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 course staff.
Grading for MP6 will be generous. It is worth 100 points total, broken down as follows:
20 points for building an original and working Android app
20 points for the first UI checkpoint
20 points for using a new web API, software library, or Android feature
10 points for ensuring that all team members have roles in the project
20 points for recording your YouTube video and showing it during your final lab section
10 points for properly publishing your work on GitHub
There is (obviously) no autograding or online testing for MP6. Grades are entirely at the discretion of the course staff.
Also note that, unlike some previous MPs, MP6 cannot be dropped. It’s too important—this is your chance to do something cool, creative, and to show us everything you’ve learned this semester.
4.1. Final Project Fair and Extra Credit
MP6 also provides an opportunity to earn extra credit by participating in our CS 125 Final Project Fair. We are providing extra credit as follows:
1% increase in your final CS 125 grade for participating in the final project fair, from 5–9PM on Thursday 12/13/2018.
1% increase in your final CS 125 grade if your project is judged to be one of the most impressive. Note that we will take into account your level of ability when you started CS 125 when determining how impressive your project is. So this is open to students of all ability levels.
1% increase in your final CS 125 grade if one of the projects from your lab is judged to be most impressive.
Note that the maximum extra credit is 2%: if you participate in the fair and either have one of the most impressive projects or are in a lab that has one. Put another way, if you have one of the most impressive projects you don’t get an extra 1% from the lab incentive. However, this extra credit is independent from any previous extra credit that you might have earned earlier this semester.
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. You will not give the presentation live during your lab section. Instead, you should prerecord your presentation and upload it to YouTube.
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.
Once your video is done use this form to register your project video and GitHub (or GitLab) repository and sign up for the final project fair.
5.1. Academic Integrity
Please review the MP0 academic integrity guidelines. In addition, for MP6 any attempt to turn in non-original work will be treated as an academic integrity violation. Consider yourself warned.