Capstone Computing Project

Software Maintenance Bonus Activity

In practice, it is actually very rare for you to start a project from scratch, as you are doing in this class. Usually you add code to an existing project.

We also happen to have a few projects from last year that got some traction. The clients are using them, or need just a few more features/bugfixes done before they can use them. Below are the ones that want help at this point. This list will be updated as new requests come in.

  1. Project Crystal Blue and its iOS app (video). This is a Mac OSX application and companion iOS application used by Dr. Barbeau, a geologist, to keep track of rock samples. You can view the list of requested features and bugfixes, which I have added as separate Issues.
  2. CapstoneConnect is a Laravel PHP website which is being used by Dr. Dale McCants in Mechanical Engineering. Here are some of his requests.
  3. SCChildcare is an Android app tht shows childcare centers of South Carolina in a map, along with official ratings. The one current issue is that it does not work with the latest (well, as of the Summer) Android version.

I am looking for people willing to put in some time to help these projects. If you do, this will help your grade, a lot. Also, I will write a very nice recommendation and LinkedIn Endorsement for you if your changes work. Contact me if you want to help.

A Case Study in Design

As you are all working on Designing your UIs for your apps, I thought I would add a case study to complement our Design Principles slides.

Let's compare USC's now 1-year old online class schedule, located at to Stanford's at After using both you will feel, like everyone else who tries them both, that Stanford's is much better. But, as a developer you need to understand exactly why it is better. You need to be able to point to the exact features that make it better, and to the specific problems in USC's site, so you can avoid these mistakes in your Capstone project.

Stanford starts of with a simple, easy to remember URL, and a very nice design. I am greeted with a powerful search box right at the top. As we know, most people nowadays simply jump to the search box to find what they are looking for. This design supports that behavior. But, I also get a list of all the majors. With 1 click I can see, for example, all the CS courses. This is another very common use-case: show me all the classes in my major. The list of classes is pleasant to look at. Once I find a class I like, another click shows me the times it is being offered. If I search for a class, say "CS 142" then I am dropped into a page that shows that class. One more click and I can see all the times that class is scheduled for next semester. Also, note that the building names are linked to a map showing the building's location. Students who have to travel across a large campus would find this small feature very useful. Overall, most users find what they are looking for quickly, without much work, and the site is pleasant to look at.

Explaining to Clients

As I mentioned in class, you know what is easy and what is hard.

Most of you are quick to tell the client what is hard. But, also remember to suggest to the client solutions that are easy but he has not thought of.

Spotify Engineering Culture

Here is another case study on software development methodologies, in the form of a video from Spotify. It is excellent example of how a company with hundreds of developers still manages to get things done. Must Watch TV !!!

Spotify Engineering Culture - part 1 from Spotify Training & Development on Vimeo.

Spotify Engineering Culture - part 2 from Spotify Training & Development on Vimeo.

For a critical analysis of what might go wrong, see Why Scrum should basically just die in a fire. All these cool links I found on /r/programming

Meeting Times Set

By now you should have received my google-calendar invite for our bi-weekly meeting (check your spam folder!) The few groups that have yet to fill out the form please do so now.

If you forget your time, you can always view my Calendar, there is a link to it from my homepage.

Note, Milestone 4 can only be done after you meet with your client. So, do not turn it in until after you meet with them.

Meeting Times Poll

Fill out the form below to tell me all the times in which your group can meet. We will be meeting every other week, in my office (Swearingen 3A51).

Its OK if you have to arrive or leave 15 minutes late/early in order to get to another class. The meetings typically last 30 to 45 minutes.

Please, only one submission per group. So, talk it over with your team. Decide when you can meet. Fill out the poll by Friday, Sep 12 @midnight

Project Groups

The groups have been determined and are listed below. We have 21 teams this year.

After much tweaking of the algorithm and several false starts, this was the best assignment of projects to students I could find. In it, 60 students got their 1st choice, 17 students got their 2nd choice, 4 students got their 3rd, 3 students got their 4th choice, and 1 very unlucky student got his or hers 5th choice. Sorry if that's you.

I have also sent all of you an email which contains the emails of all your group members.

You can now get to work on Milestone 1.

Submit Your Project Preferences

Please fill out the project preferences form to tell me which projects you would prefer to work in.

Fill out the form by Monday September 1 so I can run the program and assign you your group.

Update, Friday 8:00pm: Only 21 out of 88 students have submitted. Spread the word.

Sunday, 8:00am: 31 out of 88. Seems like most are waiting till the last possible minute, midnight tonight.

Monday, 7:00am: 52 out of 88. I am now taking points off your final grade for the remaining 36 students for every hour you delay. 8:30am: I emailed a reminder to everyone.

Tuesday, 7:00am: 84 submissions. Time to track down those remaining.


Subscribe to Capstone News