Capstone Project

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.

Our Projects

BART: Analyzing Station Sign Information

The student group built data processing and analysis tools to help BART staff and engineers determine whether or not BART’s DSS signage system displays accurate data for passengers waiting for delayed trains. The program takes data from logs of DSS signage system displays, feeds it into a database, and allow BART analysts to take a closer look at cases where inaccurate delay data occur and show how often they occur and what specific trains and platforms are susceptible to these issues.

Showcase: Automated Portfolios For Coders

Showcase is a social network for the tech community. Showcase provides coders, data scientists, and product designers with a platform to share, explore, and get hired by featuring their top projects in a portfolio. Specifically, Showcase provides project insights and demos, allows exposure to a wider industry network, and offers visibility to employers. Student groups have worked on overall application design, user interfaces, and feature enhancements.

Fly-By Street-View ResearchTool

Fly-By is a network application developed by the student team that facilitates the time-consuming and labor-consuming process of collecting and identifying visual information on a street. Leveraging Google maps, Fly-By lets map developers automatically collect all the picture information on a street and then, through its connection with the One Hundred Feet Deep Learning model, predict the specified objects in the picture. Fly-By provides researches fast feedback and good prediction functionality on street view data, training the Deep Learning Model, and ultimately facilitating the use of the resultant information by end users.

FaceX: Facial Recognition System

EdgeX Foundry is an open-source platform supported by VMware that provides an infrastructure to build and deploy IoT applications. Utilizing a custom EdgeX instance on a Raspberry Pi, the student team's project FaceX provides users with an IoT application that performs facial recognition of pictures taken by a camera module connected to a Raspberry Pi. FaceX analyzes pictures for faces using a convolutional neural network and then pushes its result to a web service that displays information about the matching individual. The main goal is to implement a keyless entry system. This system will be deployed as an open-source software package that anyone can download and deploy to a Raspberry Pi with a camera module to provide a facial-recognition based entry system for a home, shelter, facility, or other restricted-access environment.

EmCard+: Increasing Allergy Awareness

EmCard+ is a mobile application developed by the student team that can be used to let others know about allergy issues a child may have. Parents/guardians create an emergency card for a child in their care and then share the card with others. EmCard data include emergency contacts, allergies, and aversions, along with fun things the child likes to do. This application can reduce the possibility of unexpected allergic reactions for a child in someone else’s care by putting vital information at the caregiver’s fingertips.


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.

UCSF Medical Center

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.

MIT App Inventor

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.

Interactive Visualization of Large Time-Series 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.