Department of Computer Science
Mon-Fri, 8:30a.m. - 4:30p.m.
The Capstone course gives students the opportunity to work on real-world projects with tech companies in the Bay Area and Silicon Valley, or with an academic organization on a research project. The course is similar to an internship, but with the added bonus of academic guidance and access to the department’s resources. It’s a great way for students to apply classroom knowledge in a practical setting, and to make contacts in the industry as graduation nears.
Capstone projects begin in August and January. At the beginning of the semester, potential sponsors pitch projects. Students form teams and begin the software development process. Guided by both faculty and the industry sponsors, students work on their capstone project 12-20 hours a week for 15 weeks. Students often express how much they learn in this intense course, and many obtain jobs with the company they work with or from contacts they make. For example, many of our students have been hired as engineers following their capstone projects with SnapLogic.
Students have worked on several projects with the Integration Platform Service company SnapLogic. For one project, students developed an improved monitoring system for the company to collect server and application metric data and use it for real-time batch analytics. On another project, students developed an Internet of Things (IoT) prototype based on Raspberry Pi computers and applied machine learning algorithms to activity data.
Students researched the use of a sunburst-style representation for visualizing large time series data as well as the benefits of user-directed exploration for visualizing large data. The team worked primarily with rainfall data from collaborators in Ecuador and power data from the Lawrence Berkeley National Labs.
Students developed a mobile app and website to track users’ positions inside a building using Bluetooth-based Estimote beacons.
Students developed game-like Kinect software that allows patients suffering from stroke, back pain, sports injuries, and other conditions to do physical therapy at home.
Students developed multiple clear and simple implementations of a single functional-style language to help future students understand programming language techniques.
Students developed extensions to MIT App Inventor, a visual blocks language that allows beginners to learn coding by programming phones and tablets. They created a community gallery for sharing apps and an extension to allow other students to transition to Java coding from App Inventor.
To promote more efficient home energy usage, students implemented an end-to-end infrastructure that collects appliance-specific energy usage data; iPhone and Android applications to view home energy data; an automated lighting control infrastructure; and an iPhone application to correlate activities with energy usage.