I went to the CS194 senior project faire here a few days ago– from the faire home page: “In CS194, Stanford’s Senior Project Course, student teams design and implement a significant software project of their own choosing. It is the capstone course–a chance for them to show us what they have learned and demonstrate that they can work with the intensity that will be required after graduation.”
I’ve been to many of these through the years as an undergraduate and as a staff member and I, of course, went through it personally during my senior year at Stanford. If you declare computer science as your major by the end of your sophomore year (like you’re supposed to), you essentially have from a year to a year and a half to come up with what you’re going to do for your senior project (because you know it’s coming) and it’s always interesting to see what people come up with. This year, there were some pretty cool projects, like the program to teach you how to play guitar (complete with 3D graphics and customizable guitar body styles and sounds) or the chat plug-in that basically allows you to use a Web cam to create a cartoon chat avatar that moves and reacts in real-time.
But realistically, even in a class with 15 or 16 Stanford student teams (supposedly some of the best and brightest computer science students out there), you only get two or three really good ideas for projects and you can usually predict the general distribution of project types within a class. You get a handful of people who do learning/teaching applications (which I guess is on your mind when you’re a student), a handful of people who do games (because it’s usually pretty straightforward to come up with a game premise and then code to your heart’s content), and then the rest with a random assortment of ideas.
But I guess getting two or three really good ideas out of a ten-week quarter is a pretty impressive track record, especially considering the load of crap around which startups usually pop up. But it is getting harder to come up with good ideas for new software these days. We have our office applications, our data management software, our Internet search engines. What will be the next great idea in the world of software?