Checkout the photos I took of the presentations. We had a lot of very high quality projects this year. You should be proud of the work you did. These are solid apps that demonstrate you know how to get things done, how to code up something others will actually want to use!
You are here
Capstone Computing Project
On our first day in 490, we talked about licensing issues. Basically, you own all your code (unless, you signed a separate deal with your client).
I recommend you release your code under the MIT Open Source license and make your github repo public. This way you get protection, no one can use you for bugs in your software (yes, it could happen) while you still get authorship credit forever, as well as some exposure, which might come in handy next time you are looking for a job.
The students in our Capstone Project class, all Seniors, form teams every year in order to design and develop a sophisticated app for an independent customer. This year there were 14 apps developed: web apps, iphone apps, android apps, and desktop apps. The projects vary, from a mobile-accessible database for maintaining geological samples, to mobile apps for monitoring queue lengths at voting stations, to a tablet app for viewing historical maps. You can watch video demonstrations below and get links to the projects' websites. You can also see photos of the students doing live demos.
Below are two online forms that you have fill out as they are part of your grade before April 29 @midnight. Note that if you first login to this website you will be able to "Save as Draft" your form so you can come back and finish it later.
First you have to fill out the
- Team Members Assessment form where you tell me what work you, and your teammates, did.
Then you have to fill out the Senior Survey form. These are required by the College of Engineering and our Accreditation agencies for all Seniors. We do it in 492, so all of you should fill it out regardless of when you plan to graduate. There are different questions for each major. Only fill out the one for your major:
Finally, if you haven't already and you graduate in May or Summer, please fill out our Graduation survey.
As you know, your personal contribution to the project can count for up to 100% of your grad. Git keeps track of every single commit you make, and github displays these in nice graphs which you can see by clicking on "Graphs" and then "Contributors", as shown in the images below. By default, these graphs are for the "master" branch, but you can change the chosen branch by going to "Settings" and changing the "Default branch" to whatever you want. Please do this if your main branch is not "master".
The assignments are shown below. Note that these are not commutative. That is, if A tests B, it does not mean that B tests A. Let me know if you need the email addresses of your assigned group.
You should be commiting your code at least once per hour, and at the end of the day. If you only work 1 day (8 hours) per week on this project (really, you should work more than that) you will have at least 12*8 = 96 commits in just these first 3 months.
Some basic rules:
- Never commit something that does not compile or is super broken.
- Commit whenever you "finish a thought": implement the first version of a new page, get that function to read from the database, get that form to show, etc.
- Push every day, at least.
- Pull every morning, at least, unless you really are in the middle of something. Resolve conflicts as soon as possible
See this stack overflow question and this programmers.stackex question for many other people who agree with me, well, rather, I agree with them. But, for this class I additionally require you to commit a lot so you can get comfortable with the process and so we (your team and I) can see your progress.
Those of you new to the class will want to read my Git and Github slides and pointers.
Please let me know which times your group can meet with me, in our every-other-week meetings, by filling out this doodle poll by Thursday, Jan. 16 @midnight. Fill it out with the Team's name.
Try to put in as many spots as possible in case there are conflicts with other groups. If you cannot possibly make any of these times, let me know which times you can make.