Program Requirements

All EECS MEng students should expect to complete four (4) technical courses within the EECS department at the graduate level, the Fung Institute’s engineering leadership curriculum, as well as a capstone project that will be hosted by the EECS department. You must select a project from the list here.

2019-2020 Capstone Projects

For the capstone projects for Master of Engineering in Electrical Engineering and Computer Science (EECS) our department believes that our students are going to have a significantly better experience if the projects are followed closely by an EECS professor throughout the academic year. To ensure this, we have asked the faculty in each area for which the Master of Engineering is offered in our department to formulate one or more project ideas that the incoming students will have to choose from.

Project 1

Title Development and implementation of Advanced Energy Storage Dispatch Algorithm (advisor Prof. Alberto Sangiovanni Vincentelli)

Description – This is a project that will be carried out in collaboration with ENEL, the leading world-wide company in green energy. Storage systems (BESS) are becoming increasingly strategic asset for renewable energy companies. An Energy Management System (EMS) manages Stand Alone Storage Systems. The project is about developing advanced modeling to identify the best techniques where the BESS can achieve max value from the market services. Mechanical storage devices (flywheels) are highly innovative and promising technologies in terms of price position, and technical capabilities, Amber Kinetics developed the first flywheel with a discharge duration of 4 hours that has a positive impact on system operating costs and reliability.

To improve energy and power at the utility scale, Amber Kinetics is considering the connection of many flywheels units in array configuration. However, to consider a realistic scenario, all other energy storage devices, and in particular, batteries, should be considered as part of the project. In order to maximize the economic and technical performance a Stand Alone Storage System (SASS), an Energy Management System (EMS) plays a fundamental role. In this case the EMS should take into account also the characteristics of the array configuration and optimize the coordination among the different strings, units and Flywheel Management System (FMS) and electrical storage systems to achieve the economic and performance targets.

The scope of the project is to develop an Advanced Energy Storage Dispatch Algorithm (AESDA) to be implemented as part of the EMS and to test and validate it in a real site. The Energy Management System (EMS) through the Advanced Energy Storage Dispatch Algorithm should be able to: 1) optimize the use of storage capabilities considering its technical nature (mechanical flywheels in array configuration, batteries, combination of storage devices) 2) define strategies to optimize the energy storage operation in terms of State of Charge (SoC) restoration, and unavailability reduction among others. 3) estimate the latent costs of flexibility in terms of reduced life-time and useful cycles. An EMS, with these capabilities, will allow maximizing asset value and exploring novel business opportunities with a significant increase in revenues and in storage working life.

EE249B (Spring 2019, Alberto Sangiovanni Vincentelli Instructor) should be taken by interested students. The course grading will be based on a project. The students who will sign up for this project can use it to fulfill the course requirement.

Projects 2 & 3

Description – The goal of this project is to extend the capabilities of FLOW (, an open source architecture integrating deep-RL with microsimulation tools for traffic on AWS EC2. FLOW’s current capabilities include the ability to perform distributed multi-agent control on self driving vehicles in manned traffic, based on the microsimulation software SUMO. Over the AY ’19-’20, we will expand the capabilities of the framework to include pixel learning, so deep-RL can be used to learn traffic control directly from images of traffic (as opposed to simulations of traffic flow). The ultimate goal is to integrate the architecture with video data collected from dash-cams. Pre-requisite for enrolling in this project is some experience with deep RL (or deep learning as a minimum), some desire to program and interest in self driving vehicles.


Title – Evaluating the Impacts of Selfish Routing on Congestion in Urban Networks (advisor Prof. Alex Bayen)

Description – The rise of congestion across the United States and the increasing adoption of mobile routing services have enabled drivers with the ability to find the fastest routes available in urban road networks. Arterial roads and side streets originally designed for local traffic are impacted by the influx of selfishly routed drivers, garnering much recent media attention and civic debate. This project will use flow-based game theoretic models as a framework for simulating the behavior of routed and non-routed drivers on a road network. Students will use state-of-the-art traffic modeling tools to identify structural and spatiotemporal factors of transportation networks that lead to the adverse impacts of selfish routing. In addition, students will continue development of an interactive dashboard that displays the results of their experiments. The dashboard is envisioned as a tool to demonstrate the impacts of routing apps under varying scenarios so that policymakers and practitioners can hone in on areas most impacted by selfish routing and assess potential actions to mitigate the effects of cut-through traffic at the local and regional scales.

Projects 4 & 5

Title – AI and Blockchain (advisor Prof. Dawn Song)

Description – Blockchains and smart contracts have created new exciting opportunities for building highly resilient applications with integrity, liveness, and correctness guarantees. The goal of this project is to apply secure computation and blockchains to train machine learning models on large-scale data sets, while preserving data privacy. By running training and prediction on a blockchain, we can develop private smart contracts that continually learn over time. The project will entail writing private smart contracts that receive one or more datasets and train models in a secure setting. Through thecourse of this project, we will be using blockchains (e.g. Ethereum), trusted hardware (e.g. Intel SGX), and cryptographic protocols (e.g. secure multi-party computation). We will also explore other directions and questions at the intersection of AI and Blockchain such as using machine learning techniques for improving blockchain technologies.


Title – Artificial Intelligence for Data Science (advisor Prof. Dawn Song)

Description – More and more data is being collected in all areas ranging from business activities, smart homes, smart buildings, to smart cities, with the promise to help improve decision making and efficiency. However, data analytics today is still a labor-intensive process, requiring significant manual effort at almost every stage of the data science pipeline. As a result, huge volumes of collected data goes unutilized due to the lack of analyst resources. Can we make the data science pipeline more automated and reduce the mundane manual labor needed? Can we help analysts be more productive and help automatically extract insights from data?

In this project you will help explore new approaches for automated data exploration, model building, and insight extraction, while leveraging limited guidance and feedback from human analysts. The project will employ various techniques including deep learning, reinforcement learning, program synthesis, meta learning, probabilistic programming, and interpretable machine learning. We aim to build a real-world system to be used by end users. Thus, you can also get an experience in learning how to build a real working system.

Project 6

Title – Vision Correcting Displays (advisor Prof. Brian A. Barsky)

Description – Vision problems such as near-sightedness, far-sightedness, as well as others, are due to optical aberrations in the human eye. These conditions are prevalent, and the number of people who have these hardships is growing rapidly. Correcting optical aberrations in the human eye is traditionally done optically using eyeglasses, contact lenses, or refractive surgeries; these are sometime not convenient or not always available to everyone. Furthermore, higher order aberrations are not correctable with eyeglasses. This research is investigating a novel approach which involves a new computation based aberration-correcting light field display: by incorporating the person’’s own optical aberrations into the computation, content shown on the display is modified such that the viewer will be able to see the display in sharp focus without using corrective eyewear.

Our research involves the analysis of image formation models; through the retinal light field projection, it is possible to compensate for the optical blurring on the target image by a process of prefiltering with the inverse blur. As part of this project, we are building a light field display prototype that supports our desired inverse light field prefiltering. We are working towards extending the capability to correct for higher order aberrations. This latter aspect is particularly exciting since it would enable people for whom it is not possible to see displays in sharp focus using eyeglasses to be able to do so using no corrective eyewear. This is a broad project that incorporates many different aspects. A variety of different backgrounds for students is welcome. Students are free to choose what is the most interesting part for them.

Project 7

Title – Robust Neural Networks (advisor Prof. Laurent El Ghaoui)

Description – Despite their success, neural network sometimes exhibit significant sensitivity to noisy inouts, leading to catastrophic behavior. This project will develop novel methods to handle this issue, based on so-called “lifted” models.

Project 8

Title – Machine learning meets wireless communication: spectrum collaboration (advisors Prof. Anant Sahai)

Description – Machine learning ideas have continued to revolutionize field after field — in this project we will explore how this plays out for wireless communication. This project will put together an intellectually diverse team to accomplish this and touches on machine learning, signal processing, data science, game theory, computer networking, and wireless communication.

Project 9

Title – Engineering and Debugging Tools for (Deep) Neural Networks (advisor Prof. Gerald Friedland)

Description Given a problem, most approaches to machine learning experiments currently involve significant amount of work in hyper parameter tuning. This is especially a problem for very large scale experiments, such as on multimedia collections or molecular dynamics data. The projects fit into a line of research to be able to measure and predict the experimental design for neural networks to minimize tuning. Some tools are already available on github: and an interactive sizing demo with Tensorflow is available here:  

Project 10

Title – Retina Tracking and Stimulation for Color Perception Beyond Human Vision (advisor Prof. Ren Ng)

Description – The goal of this project is to prototype next-generation color display technology, based on laser-writing directly to the retina surface. In principle, the system would have new capabilities that include displaying colors that cannot be seen in the real world, or treating color blindness. This underlying research is in collaboration with the School of Optometry. The scope of the project can be adjusted based on the expertise of the project members. Helpful background includes some of: software engineering, embedded programming, computer graphics, computer vision, computational imaging, signal processing, machine learning, optical engineering, physical electronics, exposure to biomedical devices, and precision engineering.

Project 11

Title – High Performance Genome Data Analysis (advisor Prof. Kathy Yelick & Aydin Buluc)

Description – Genomic data for human health and the environment are growing exponentially due to improvements in sequencing technology. The goal of this project is to develop analysis algorithms and tools of genomic data using parallel computing of various types, including graphics processing units and high performance parallel machines. The project may including genome alignment and assembly of raw sequence data, as well as the use of machine learning for clustering, classification, and functional annotation. See

Project 12

Title Makerspace Realtime Activity Analytics Dashboard and ML Recommender Systems (advisor Prof. Bjoern Hartmann)

Description In this project, you will be scoping, designing, and developing a real-time analytics dashboard to visualize the activity of thousands of students in multiple makerspaces across UC Berkeley including the Jacobs Institute for Design Innovation ( This dashboard will enable key stakeholders to make critical decisions which will influence the day-to-day experiences of the campus design community. To automate the process of analysis, parts of this project will include the implementation of production data preparation and machine learning pipelines to make automatic, actionable recommendations based on makerspace use, reservation, training, and usage trends.

Projects 13, 14, 15

Title -Natural Language Processing with Deep Neural Networks (advisors Profs. Kurt Keutzer)

Description –  Performance of state-of-the-art Natural Language Processing (NLP) methods have significantly improved with recent advancements in deep learning. This has been accomplished mainly due to better models such as transformers along with more data and large scale computational resources available. This project will include a systematic study of the newly proposed models and to better udnerstand their superior performance and help design better models for different NLP tasks. The project will cover a range of NLP concepts, such as dialog act classification, sentiment analysis, large scaled training, and domain adaptation, with applications to real world problems such as conversational bots and social media censorship.  


Title -Systematic Quantization of Neural Networks (advisors Profs. Kurt Keutzer)

Description – Model size and inference speed/power have become a major challenge in the deployment of Neural Networks for many applications. A promising approach to address this problem is quantization. This project will explore a new systematic quantization method using second-order methods. The project will include exploring quantization for challenging tasks such as object detection, segmentation, face recognition, and style transfer.


Title Scalable Training of Neural Networks (advisor Profs. Kurt Keutzer/Michael Mahoney)

Description – One of the main challenges for neural network is becoming the time to train these models on big data. This project will involve a multi-faceted approach to speed up training of neural networks including both new optimization based improvements and novel systems level algorithms

Projects 16 & 17

Title Robust Second Order Training of Neural Networks (advisor Prof. Michael Mahoney)

Description The de-facto method used for training neural networks is stochastic gradient descent, a first order method that is highly sensitive to hyper-parameter tuning. This a major challenge in training of neural networks as hyper-parameter tuning is very expensive and often times not feasible for large datasets. A set of recent developments to address this problem, is the family of stochastic second order optimization. This project will in particular focus on K-FAC methods which have recently shown very promising results in addressing these challenges.


Title -Adversarially robust neural networks (advisors Profs. Kurt Keutzer/Michael Mahoney)

Description – There has been multiple attempts to design robust neural networks, but each apparent successful design, has been broken by a new adversarial attack. This empirical approach to robust design has not been successful. A new paradigm is to design certifiably robust neural networks by constraining the training to guarantee no adversarial attack is possible.

Technical Courses

At least THREE of your four technical courses should be chosen from the list below. The remaining technical courses should be chosen from your own or another MEng area of concentration within the EECS Department.

Fall 2019 (Updated: 7/10/19)

Spring 2020 (Updated: 10/7/2019)

Note: The courses listed here are not guaranteed to be offered, and the course schedule may change without notice. Refer to the UC Berkeley Course Schedule for further enrollment information.