UROP Research Opportunities

The Undergraduate Research Opportunities Program (UROP) cultivates and supports research partnerships between MIT undergraduates and faculty. If you have any questions please contact tluongo@csail.mit.edu or take a look at the How to UROP at CSAIL document (pdf format).  

This program is available to MIT students only.


  • Developing a Reactive Model-based Programming Language

    The MIT Model-based Embedded & Robotic Systems (MERS) group is performing research into controlling autonomous systems using high-level, model-based and task directed languages. To that end, we are developing the Reactive Model-based Programming Language (RMPL). RMPL unifies autonomous plant description, control programs, temporal constraints, and more into a single language. We are looking for UROP students passionate about making programming autonomous systems easier and more accessible. The specific tasks for a UROP depend on the student's interests. Possibilities include: adding...

    Posted date: August 07, 2012
  • Educational Computing and Mobile Apps

    The MIT Center for Mobile Learning, and we have several
    UROP slots for work in educational computing and mobility. The current
    opportunities involve App Inventor, a programming tool that lets
    anyone, create their own apps for Android smartphones. We're run
    a major public cloud-based IDE that lets people all over the world
    create their own mobile applications and lets schools all over the
    world include mobile app programming in their middle and high school

    UROP projects can range anywhere from developing new curriculum and...

    Posted date: July 06, 2012
  • Computational Glass Blowing

    We are currently developing a C++ software system for experimentation with new designs in glass blowing, to explore the design space before actually making something.  Our current focus is to develop a system for glass "cane", and to develop new artistic designs of cane, which has been relatively stagnant field for several years.  The project currently involves computer graphics (OpenGL, meshing), geometry (for glass-blowing transformations), Qt user interface design (a kind of visual programming language for glassblowing), and multithreading (for background...

    Posted date: June 25, 2012
  • Automatic evaluation of image processing algorithms.

    We want to automatically evaluate the correctness of image processing code in the context of online courses. Steudents will submit python code, which we will run on new input images. The main interesting challenge is that multiple answers might be "correct" from the perspective of the course and we need to develop comparison tools that take into account this set of possibilities.

    Contact: Fredo Durand,fredo@csail.mit.edu

    Posted date: April 23, 2012
  • Probabilistic techniques for program generation

    Program optimization with linkage estimation (POLE), employs a
    Bayesian network as the probabilistic model and is based on a
    prototype-tree. A prototype tree is a single complete n-ary tree (where n is the maximum arity of the non-terminals) that represents a program. Each node in the tree is mapped to a random variable with its support corresponding to the discrete values for the choice set it can take. Programs are formed by sampling from this probabilistic model. More efficient programs are then used to re-estimate the distribution and then re-sample. Each iteration of this...

    Posted date: April 19, 2012
  • LabelMe-iPhone: Hand-held Visual Object Tagging and Recognition

    Large databases of labeled images are a key ingredient in building
    large-scale object recognition systems and for this purpose MIT’s
    computer vision group has produced LabelMe, a web-based image
    annotation tool and online repository. LabelMe has helped shape the
    frontier of object recognition research and we feel it is time to
    start thinking about annotation and recognition beyond the desktop.
    We are primarily seeking a highly motivated UROP candidate to help us
    extend the LabelMe web-based interface to the iPhone, which will let

    Posted date: March 29, 2012

    We are building a new programming language for image processing and
    computational photography which compiles clean algorithm descriptions
    to very high performance implementations on mobile devices. You will
    build an image editing app (or apps) for iOS, along the lines of
    SnapSeed and Adobe Revel, using our language to implement processing
    routines. The app will be a key demo of our technology, and can be
    distributed in the app store. Experience with iOS development a plus.

    Contact: Jonathan Ragan-Kelley and Fredo Durand

    Posted date: March 28, 2012
  • Google your Life

    Imagine an automatic private diary that records your life.
    For example, it allows you to:
    - Manage your time and get statistics about the time you spent with specific friends, family, or places.
    - Search it for all the restaurants that you visited last year and send to your guest.
    - See where you celebrated every birthday of your life.
    - Publish parts of your auto autobiography to the world, and to your grandchildren in the future.

    Our group at DRL is developing solutions towards these goals
    based on collected data from smartphone sensors. We...

    Posted date: March 28, 2012
  • PDOS: a provenance-tracking file system

    DP1 6.033. Implement a file system that provides provence tracking. If a user changes a slide in, say, an open office presentation, the system should be able to tell all other files that have a copy of that slide. This project involves kernel hacking in Linux.

    Interested candidates may contact Frans Kaashoek, kaashoek@mit.edu, Robert Morris, rtm@csail.mit.edu, and Nikolai Zeldovich, nickolai@csail.mit.edu.

    If you have another systems hacking project that...

    Posted date: March 27, 2012
  • PDOS: linux kernel development for multicore and security

    Linux kernel programming; We developed extensions to the virtual-memory system and scalable locking implementations that have interest from the Linux community. We would like to clean up our implementations and make them available in the main-line
    Linux kernel.

    Interested candidates may contact Frans Kaashoek, kaashoek@mit.edu, Robert Morris, rtm@csail.mit.edu, and Nikolai Zeldovich, nickolai@csail.mit.edu.

    If you have another systems hacking...

    Posted date: March 27, 2012
  • PDOS: machine learning for graduate application

    Extend the EECS system for receiving and reviewing graduate admission applications to use machine learning algorithms to speed up the reviewing cycle. There are a few different directions that project could go, and your job is to find out what the direction to go and pursue that. This project involves analyzing data sets for several years, investigating what features to analyze and what machine algorithms to use, and implementing a design in a python-django-based Web site. Interested candidates may contact Frans Kaashoek, kaashoek@mit.edu, Robert...

    Posted date: March 27, 2012
  • Real-time Online Visualization of Patient Severity in Intensive Care Units

    Description: ICU dashboards often overload physicians by displaying an enormous amount of patient's information but fail to provide a snapshot or a summarized patient's story that physicians can understand at a glance. Visual analytics based on Artificial Intelligence can be a powerful way to simplify complexity in clinical decision making. We have recently developed an unsupervised learning algorithm to create insightful visualizations of patient severity in real time. The student will engage in our ongoing effort in building better visualization systems for massive health data. This...

    Posted date: March 27, 2012
  • Collaborative Human-Robot Manufacturing Test Bed

    The MIT Model-based Embedded & Robotic Systems (MERS) group is looking for talented and motivated undergraduate or MEng students to join us in our effort to push the boundaries of robotic manufacturing. Working in close collaboration with the Boeing company, our goal is to develop the technologies that will release manufacturing robots from their current repetitive tasks in highly structured environments and bring them to fluid and natural interactions with humans co-workers on the factory floor. We are seeking for students with a CS background that will help us develop our current...

    Posted date: March 24, 2012
  • Better Information Management on the Web

    The Haystack Group develops tools to help people better manage the information they deal with every day. Using methods from Databases, Machine Learning, and Human Computer Interaction, we develop a variety of tools to help people find, organize, author, publish, and share information. We build tools for the desktop and for the web. We run many ongoing projects that could benefit from UROP participation:

    • List.it is a firefox plugin for managing "information scraps" that is being used by over 20,000 people;...
    Posted date: January 12, 2012