CS 461 / 462 / 463: CS Capstone Experience

Proposing a CS Capstone Project

"Not only will technology change quickly, the social-political-economic world in which engineers work will change continuously. In this context it will not be this or that particular knowledge that engineers will need but rather the ability to learn new things quickly and the ability to apply knowledge to new problems and new contexts."  
  -- National Academy of Engineering: "The Engineer of 2020"

What is this course all about?

Oregon State University's CS Capstone class is all about career preparation. Part of the class is learning planning skills, project management skills, communication skills, presentation skills, and hearing guest speakers. The other part of this class is doing a major project -- this is where you come in.

The project will last roughly from November through May. We use the time from the start of the school year until the end of October for project selection and developing a Requirements Document. We use the time from mid-May until the end of the academic year for project documentation and deployment.

What is the project sponsor's role in this process?

Above all, this is meant to be an excellent educational experience for our students. As part of proposing a project, we expect you to be willing to really work with the student team. They "report" to me as their "supervisor", but you are their "client", just as if they were in a real work environment. In the same way that you would interact, mentor, coach, and evaluate a contractor doing a job for you, you are expected to interact, mentor, and coach your team, and assist me with assigning grades.

You are expected to meet with them regularly, no less often than every two weeks.

What is expected of the project that you propose?

Above all, this is meant to be an excellent educational experience for our students. A project for this class is expected to be enough of a project that 2-4 students can stay busy for ~6 months of working on it part-time. It is also expected that it will actually be doable in that time frame.

Above all, this is meant to be an excellent educational experience for our students. I am hoping that each project "stretches" the students some. Please don't propose something that exactly matches an assignment they might have already done for a class. I want each team to have to go do some research and learn some new information or skillsets in order to accomplish the tasks. This is the environment of uncertainty that they will face after graduation. It might as well start here.

What a project is not

Above all, this is meant to be an excellent educational experience for our students. These projects are not meant to be "grunt work", that is, please don't propose something that is so repetitive, dull, and odious that you can't get anyone else to do it. The projects are meant to be creative and interesting.

Also, don't propose a project that is already totally spec'ed out. Part of this process is having the students work with you to develop the requirements document.

Do remember, too, that these are university seniors. They are very smart and clever, and have taken our core classes through the junior level, but most have not taken the electives that would be especially useful in some projects, such as graphics, AI, etc. That doesn't mean that you can't propose such projects, but the students will require some learning time to come up to speed.

Also, be careful about proposing a project that has some critical time or security constraints. Students, being what they are, manage conflicting schedules. We expect this of them. Besides your project, they also have other classes, midterms, finals, required trips to visit parents, dating, extracurricular projects, sports, etc. If the entire U.S. banking system will collapse if certain deadlines are not met, this is perhaps not a good project for this course.

Intellectual Property

Oregon State University's stance is that the students own the Intellectual Property developed from their projects. (Nobody is paying them to do the project.) If you foresee any potential IP issues, you need to discuss this with your team up front. It is probably also worth mentioning in your project proposal.

When this has come up in the past, most have agreed on a joint-ownership of the IP rights between the students on the team and the client. This seems to work well, and leaves everyone with something they can use. I hope we can continue making things work this way.

Student teams can be asked to sign NDAs to work with you. I ask three things, though:

  1. I would like to see it before you ask the students to sign it.
  2. I want to sign the NDA too, so I can actually talk with them about the details of the project.
  3. I ask that it not be unnecessarily restrictive. As part of developing their communication skills, our students make project presentations in class. They need to be able to tell their colleagues about the project. They can leave out details that the NDA covers, but please allow them to talk about the project is broad terms.

What is the rest of the process?

Using the web links below, you can propose a new project or edit a proposal you have already started. You can edit and re-edit as much as you'd like. This list will be given to the students after the class starts in late September. They will have the opportunity to "bid" on one or more projects. In that process, they will tell me what their top five project choices are, and why.

I make the final team and project assignments, but I try to take into account their preferences. I find I get better results this way. There will likely be more projects proposed than student teams to do them. Thus, some projects will not get staffed. So, it is a good idea to not underplay the cool-ness of your project.

Can students propose their own projects?

No, students cannot propose their own capstone project. Each project must be proposed by a real client who is anxious to see this project done, will help drive it to completion, and will mentor the student team. (I.e., their Mom can't propose the project for them...)

Questions? Comments?

If you have any questions or comments on the process, don't hesitate to contact me. I'm always anxious to hear from potential clients. I enjoy talking about possible projects and how to best tweak our process to get the best experience for you and our students.

Prof. Mike Bailey
Computer Science, Oregon State University