Electrical Engineering and Computer Science

2016 SURE/SROP Research Projects in Computer Science and Engineering (CSE)

Directions: Please consider all of the projects in this list carefully before applying to the SURE program (http://sure.engin.umich.edu/). You MUST list your top three project choices in order of preference (by CSE Project #) on your SURE application. You are welcome to contact faculty if you have additional, specific questions regarding these projects.

CSE Project #1: Computational Strategic Reasoning

Faculty Mentor: Michael Wellman (wellman@umich.edu)

Prerequisites: Programming ability; interest/background in finance, economics, game theory, and/or statistics (helpful though not required)

Description: The Strategic Reasoning Group (http://www.eecs.umich.edu/srg/) develops computational tools to support reasoning about complex strategic scenarios, including trading in markets (e.g., financial, supply chains, Internet advertising), cyber-security, and other applications.  One of our most active projects focuses is on implications of algorithmic and high-frequency trading in financial markets.  The undergraduate researcher will support development and analysis of strategies for algorithmic trading, or another domain of current research interest.

CSE Project #2: Active Learning and Crowdsourcing Interface

Faculty Mentor: Barzan Mozafari (mozafari@umich.edu)

Prerequisites: Basic Statistics, Matlab, HTML, PhP or Python

Description: Implement a flexible interface that can implement an active learning framework to interact with Amazon Turk. The idea is to invoke an active learning algorithm to decide which questions to ask and when to ask the crowd.

CSE Project #3: MySQL for the Cloud

Faculty Mentor: Barzan Mozafari (mozafari@umich.edu)

Prerequisites: Basic database concepts, Linux, C/C++, open-source hacking skills

Description: Implementing small extensions of MySQL (an open source database) that make it easier to prototype cloud computing ideas using MySQL. Examples of such extensions are profiling hardware usage, logging locking details, and intercepting client connections.

CSE Project #4: Extending BlinkDB

Faculty Mentors: Barzan Mozafari (mozafari@umich.edu)

Prerequisites: Basic database and statistics knowledge, Java, (preferably Web programming), strong system building skills

Description: BlinkDB is an open source distributed database that can query tens of terabytes of data in a matter of seconds. The intern in this project will have the opportunity to get familiar with a Big Data environment and contribute through several small modifications of the original code that can improve the overall performance and the user experience.

CSE Project #5:

Faculty Mentor: Honglak Lee (honglak@eecs.umich.edu) Looking for 2 students

Prerequisites: Linear algebra; probability and statistics; programming experience in MATLAB, python, or C/C++; knowledge about machine learning orartificial intelligence is desirable

Description: The brain has an impressive ability to process a variety of sensory input data, including images, sounds, languages, and touches. Recent biological and computational studies suggest that the brain may be using a single machine learning algorithm to develop representations from such diverse sensory domains. Furthermore, humans can readily learn from vast amounts of unlabeled data, together with only a small amount of supervision; this is because humans can easily recognize and discover underlying structures from seemingly complex input data. Inspired by this evidence, we aim to develop machine learning algorithms to develop good feature representations from large unlabeled data. Specifically, we will develop novel learning algorithms based on sparse coding, restricted Boltzmann machines, autoencoders, slow feature analysis, and deep networks. Further, we apply these algorithms to learn high-level features from large unlabeled data, and we then use these learned features to supervised learning tasks in artificial intelligence. Our general purpose algorithms will allow machine learning systems to be much more easily applied various problems in artificial intelligence and data mining, and to achieve superior performance without the manual feature engineering while using significantly less labeled data. In this project, we will focus on developing machine learning algorithms and applying them to important data mining problems (such as finding computational biomarkers from healthcare data, feature learning for time-series analysis, text mining, and others). Students who intend to continue beyond summer and perform long-term research (at least a year) are strongly encouraged to apply.

CSE Project #6: Core Code

Faculty Mentor: Valeria Bertacco (vale@umich.edu)

Prerequisites: EECS281; Recommended: C++, scripting

Description: In this project we want to create a model for what code users run on their devices. For instance, when we run a sorting algorithm, the core step is the swapping of two entries; when we watch a movie, we run lots of decoding routines. The purpose of this effort is to automatically generate interesting variants of these code sequences so that it becomes possible to generate many interesting tests for the hardware devices, without wasting the time of the engineering team who is developing them.

CSE Project #7: Improvement of the tools DESUMA and UMDES

Faculty Mentor: Stephane Lafortune (stephane@umich.edu

Prerequisites: EECS 281 or advanced programming experience;
EECS 376 (recommended); Programming experience in Java (recommended)

Description: Discrete Event Systems are a class of dynamical systems that occurs widely in modern technology, such as in Cyber- and Cyber-Physical Systems. UMDES is a library of routines, written in C or C++, that implement the most common algorithms for supervisory control, diagnosis, and privacy analysis for Discrete Event Systems modeled by finite-state automata. DESUMA is Graphical User Interface that embeds UMDES commands and draws the layout of small to medium-sized automata. See: wiki.eecs.umich.edu/desuma for further details about these tools.

The SURE intern will work on improving and adding new functionalities to both DESUMA and UMDES.

DESUMA: The work will involve improvements to the GUI of DESUMA and to the layout of finite state automata.

UMDES: The work will involve coding new algorithmic procedures that involve various manipulations of finite state automata as well as improving the performance and scalability of existing UMDES functions.

Various case studies will be considered to test the new software, including control of cyber-physical systems, detection of actuator and sensor attacks in control systems, and privacy enforcement in location-based services.

Several internship positions are open for this project.

Please contact Prof. Lafortune if you are interested.

CSE Project #8: Embedded Project Development

Faculty Mentor: Mark Brehob (brehob@umich.edu)

Prerequisites: Preferred qualifications: Significant embedded systems experience as well as a strong background in programming and a solid background in analog circuits. In particular the idea candidate would have taken EECS 373, 473, 281 and 311. In addition, this project will involve a lot of writing and having strong English writing skills is strongly desired.

Minimum qualifications: EECS 373 and EECS 281 or a background equivalent to those classes with reasonable writing skills and no fear of analog circuits.

Description: In this project you will be wearing a number of hats. You will be designing and building an energy constrained embedded platform. You will also be developing and updating lessons and labs in embedded systems for majors and non-majors including coverage of RTOSes, Linux, and the Arduino environment. It is likely you will also have some training responsibilities (teaching others the basics of embedded systems in part to beta test your work).

CSE Project #9: Robot Mobile Manipulation

Faculty Mentor: Chad Jenkins (ocj@umich.edu)

Prerequisites: Coursework or competency in Linear Alegbra, proficiency in C++ and/or JavaScript, experience with Unix-based operating systems.

Description: Implementation of algorithms and development of methods for robot perception and mobile manipulation. Summer projects will involve processing to infer 3D geometric information from depth sensing (e.g., Microsoft Kinect), robot control based on inferred perception, and creation of web-based frontend interfaces. The larger research efforts for summer projects is described in the following papers:



CSE Project #10: Quick-assembly for powerful chips

Faculty Mentor: Valeria Bertacco (vale@umich.edu)

Prerequisites: Basic computer architecture (for instance, EECS370); Recommended: C++, scripting

Description: Modern processors include a variety of components embedded on a single chip. Even the smallest smartphone chip comprises graphic units, video decoders, smartradio modules, crypto engines, etc. Connecting all these components together effectively is a challenging design effort. In this project, we want to design a network that can connect any set of components in a plug-and-play fashion, so that new chip deigns can be much cheaper and faster.

CSE Project #11: Intelligent Interface Prototyping Tools

Faculty Mentor: Walter Lasecki (wlasecki@umich.edu)

Prerequisites: Proficiency in javascript / web programming; Experience using design tools / collaborative online editors; Experience developing with Meteor, SVG canvas (svg-edit), or related frameworks preferred

Description: Prototyping systems allows designers and developers to quickly get their ideas in front of real users, get feedback, and iterate on their designs. However, this is often itself a time-consuming process. This research project aims to develop a system that lets designers and developers prototype functional systems as quickly as they can describe them aloud, providing unparalleled ability to quickly iterate on designs, even during live trials.

Students will help design and develop novel features to add to a prototype platform that we have previously developed (see: http://cs.rochester.edu/hci/pubs/pdfs/apparition.pdf), and test their results with real end users.

Possible extensions of interest are related to using machine learning to understand and general from human examples, adding new types of interaction (e.g., via video + a physical whiteboard with projected interfaces), and more.

CSE Project #12: Dialog System for Academic Advising

Faculty Mentor: Emily Mower Provost (emilykmp@umich.edu)

Prerequisites: EECS 280

Project Description: We are researching how students advisees and faculty advisors interact and coordinate their behaviors. The goal of this project is to develop an interactive dialog system for student advising. We are looking for students interested in working on speech recognition, dialog management, behavior recognition, natural language processing, and/or system infrastructure.

CSE Project #13: Coronary Angiogram Segmentation

Faculty Mentor: Kayvan Najarian (kayvan@umich.edu)

Prerequisites: Calculus, Programming (Basic knowledge)

Description: The goal of this project is to develop an automated system to analyze video angiograms to detect stenosis and measure the extent of stenosis using image and video processing techniques.

CSE Project #14: Non-Invasive Portable System for Continuous Cardiovascular Monitoring

Faculty Mentor: Kayvan Najarian (kayvan@umich.edu)

Prerequisites: The applicants will help with developing/optimizing the sensor and the circuitry around it. All applicants will be considered, but those with experience in at least one of the following areas will be given priority. - Circuit design including ADC and RF components - Optical devices (miniature sensors and emitters) - iOS and/or Android app development - Product design with 3D printing - Mechanical modeling of biological organs (cardiovascular system in particular)

Description: Cardiovascular diseases are the most common cause of death worldwide. Currently there are no truly portable and low-powered devices or systems that can be used for the non-invasive continuous monitoring of the cardiovascular system. The monitoring and treatment of medical and surgical conditions such as sepsis, congestive heart failure, hypertension, trauma, and other acute and chronic diseases could tremendously benefit from devices that allow direct or indirect continuous monitoring of important cardiovascular parameters in a nonintrusive manner. These could include but not be limited to blood pressure waveform analysis (BPWA) and derivatives such as pulse pressure variability (PPV), heart rate (HR) heart rate variability (HRV), respiratory rate (RR), dynamic changes in arterial vessel wall stiffness and others. Features extracted from BPWA such as HRV and PPV have proven to be highly correlated with a number of physiological conditions helping care givers with a variety of critical clinical decision making opportunities. The proposed system consists of 1) a piezo-electric sensor embedded in the form of a ring which collects a mechanical vascular signal, 2) a real-time signal processing system that collects and processes the collected sensor signal using advanced signal processing and machine learning algorithms to extract clinically-useful information such as BPWA, HR, HRV, PPV and others, and 3) an onboard wireless signal transmission system allowing for the sending of information to a remote platform such as a smart phone or other platform for signal processing and decision making. The device/system in its entirety will be a very portable small, easy to wear, non-invasive and will provide a method to continuously measure and monitor the blood pressure waveform and its derivative information, such as HR, HRV, and PPV. The device and its software will be tested in a variety of critically ill and injured subjects.

CSE Project #15: Secure computing by construction

Faculty Mentor: Valeria Bertacco (vale@umich.edu)

Prerequisites: Basic computer architecture (EECS370): Recommended: C++, scripting

Description: The hardware layer is an increasing source of security attacks: attackers monitor hardware registers to snoop the sequence of memory accesses of a program, its computation time, its program counter, etc. to try to infer what is the program computing. Researchers have developed protections from these attacks, called obfuscation techniques, but the cost is that the program runs 1,000 times slower -- so nobody deploys them.

The goal of this project is to devise a microprocessor that cannot be attacked by any of these methods by construction, so that no protection is necessary at the software level.

CSE Project #16: Machine Learning Methods for Predicting Adverse Outcomes in Healthcare

Faculty Mentor: Jenna Wiens (wiensj@umich.edu)

Prerequisites: An undergraduate level course in machine learning or data mining

Description: Machine learning (ML) is the study of computational algorithms and optimization techniques that can learn complex relationships or patterns from data. Applied to large healthcare databases (e.g., MIMIC III), ML techniques can help us efficiently identify complex, possibly high-dimensional, and non-linear relationships present in the data. In this project, we will explore ML techniques that leverage patient data for predicting adverse clinical outcomes.

CSE Project #17: Crowd-Powered Robotics

Faculty Mentor: Walter Lasecki (wlasecki@umich.edu)

Prerequisites: This project includes artificial intelligence (AI), human-computer interaction (HCI), and web programming (e.g., javascript/jQuery) components. Prior experience with knowledge representation, UI design, or robotics is preferred. Students can gain experience in the research process, robotics, crowdsourcing, software development, topics in collaboration and coordination methods, user evaluation, and more.

Description: Robots provide a means of accomplishing tasks on people’s behalf, effectively offloading this effort and making people more productive. However, the underlying reasoning processes required often must rely on incomplete knowledge about the world, which automated systems struggle with. Using crowds of online workers, our goal is to help bridge these gaps, and make it possible for end users to interact with robots easily through natural language, and for robots to learn over time about the world around them and how it operates.

CSE Project #18: Theoretical Quantum Information

Faculty Mentor: Yaoyun Shi (shiyy@umich.edu)

Prerequisites: Linear Algebra, participation in the Quantum Information Reading Seminar in Winter 2016.

Description: We are in an exciting historical moment when quantum information technology is becoming the reality. What's the ultimate information processing power that Mother Nature provides? Through this project, a student will be exposed to the field and conduct cutting-edge research. An applicant is expected to start spending substantial amount of time (5-10 hours) in Winter 2016 to learn the background knowledge. In particular, s/he is expected to actively participate in the weekly quantum information processing reading seminar (http://www.eecs.umich.edu/qip/). Funding is available to extend the SURE program, including in Fall 2016 semester.