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.

Capstone Projects Video Showcase

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.

Individual Assessments and Senior Survey

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

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.

Personal Contributions and GitHub

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".

Capstone RC1 Testing Assignments

As per our Milestone 15: QA you will test another group's project, and be tested by them. Please read M15 for details on what you need to do.

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.

Commit Early and Often

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:

  1. Never commit something that does not compile or is super broken.
  2. 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.
  3. Push every day, at least.
  4. 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.

Setting Up Meeting Times

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.

492 Project Teams

I have updated the group membership by assigning the new people to groups and getting rid of those who will not be taking 492 this semester. I am still waiting for some student to reply to my emails so the list is not final.

Contact me ASAP if you don't see your name in the table below or if there is someone in your team who is not taking 492. I have sent you an email with all the emails of the people in your group. Contact any new members and welcom them aboard, give them access to the repo, start working.


Subscribe to Capstone News