Master's Project

Students are given 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 master's project 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.

At the beginning of the fall 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 master's project 12-20 hours a week for 15 weeks. Students often express how much they learn in this intense course, and some obtain jobs with the company they work with or from contacts they make. For example, our students have been hired as engineers following their projects with SnapLogic.

Our Projects


Students have worked on several projects with SnapLogic, an Integration Platform as a Service (iPaaS) company that enables quick development of sophisticated data and application pipelines using a visual drag and drop interface. For one project, students developed a new feature within SnapLogic that allows pipelines to become interactive web user interfaces. On another project, students developed a prototype of a SnapLogic Persistent Event Streaming service that extends the existing architecture by providing a native streaming service.

PNC Bank Interest Rate Risk Platform

Students built Gamma10, a web application that allows financial managers and advisors to easily create, execute, and visualize interest rate risk scenarios in a matter of minutes. This product helps serve as a bridge between finance and technology, making financial analysis more accessible for non-data scientists.

Energy Aware Data Center

Students address reducing data center energy consumption by architecting an energy-aware data center based on the logic that not all jobs are equally important or need to be run instantly in parallel in a data center. Students built a controller to manage workloads within an energy budget by consolidating workloads on fewer machines, dropping non-essential jobs, dropping duplicates, and migrating workloads across data centers. Students also use Kubernetes, a technology that is lighter weight than a virtual machine while also providing greater bin packing even as it shrinks an application to ensure successful deployments.

Sweeply Slackbot

Students created Sweeply, a Slackbot that helps organize very large channel lists within an organization’s Slack environment. Sweeply is designed to put the user’s channel list on "autopilot". By providing and implementing a set of rules and criteria for how users joins and leaves channels, Sweeply automates the process.

A Multi-Destination Route Optimizer for Travel Planning

Students developed a personalized travel planning app that generates optimized multi-destination routes – walking and driving – based on user preferences for places they want to visit in a city, travel dates, time they want to spend at each place, and user place ratings. This capability is not available in any of the travel planning apps in the market and makes travel planning easier and more personalized. Students solved the route optimization problem, addressing complexities like time constraints, multiple modes of travel and user preferences.

Myrror: Smart Home Product

Myrror is the future of IoT products – a smart mirror that's a beautiful piece of furniture. It provides a digital dashboard that can show you the time, your calendar, YouTube, and act as a central point for IoT products like Ring video camera, Alexa, Google Home, Nest Temperature, and more. What once existed as a niche DIY engineering product is now accessible to everyone. To personalize and interact with your mirror, students created an intuitive React-Native mobile app that allows the non-technical user to manage everything from the face of the mirror – positioning items, installing new modules, and pushing remote updates with new features.

Ethereum Data Analytics

As Ethereum gains popularity, it is crucial to understand the reliability and usability given its expanding user base and market capitalization. Students analyzed the patterns of blocks and transactions in the Ethereum network using newly collected data from 2019 to 2020 and compared the analysis with findings from previous work. Through these analyses, students discovered that Ethereum has become more usable as fewer transactions are abandoned. However, the overall number of forked/orphaned blocks has decreased, which suggests an increase in centralization among the miners.