Social Icons

App Inventor UROP Opportunities Fall 2017

IoT, Data Structures, iOS, and Machine Learning UROP positions with the App Inventor Team

Arduino AVR IOT Support

In June, MIT App Inventor launched support for apps targeting Bluetooth low energy-enabled Internet of Things devices. We are looking to adapt code for the Arduino 101 to support other Arduino platforms based on the AVR family of microcontrollers and the Nordic family of BLE hardware. Students interested in this project should feel comfortable with both hardware and embedded programming in the C or C++ languages. Experience with Java is a plus.

Data Structures for App Inventor

Use of the right data structures can significantly improve algorithmic complexity and code readability. The App Inventor team is looking for an intrepid UROP to add support for dictionaries to the App Inventor blocks language. The student should have experience with JavaScript. Knowledge of Scheme, Java, and Android is also a plus.

Mobile Apps for Machine Learning and IoT

Several companies are creating hardware modules designed to let the maker community create significant artificial intelligence and machine learning applications. Google’s AIY Project for example, provides a construction kit for a neural net speech recognition HAT (“hardware attached on top”) for the Raspberry Pi, with more kits coming before the end of 2017. This UROP project will explore how to enable the Google machine learning kits to interface with MIT App Inventor. The goal is to create mobile app projects for kids and other beginners that take advantage of the kits' affordances (e.g., high-performance voice recognition). Students interested in this project should have some experience with the Raspberry Pi, App Inventor, and also Java or Javascript.

App Inventor Components for iOS

The App Inventor team is looking to port App Inventor to iOS. Students working on this project will get hands-on experience developing for the Apple iOS platform and work as part of a larger development team. Knowledge of Objective-C, Swift, and Java languages is preferred. Experience with the Git version control system is a plus.

Education Research Analyst

We recently concluded a 5-week summer camp with the Young People's Project in which high school students created App Inventor + IoT solutions to problems in their everyday lives. We have a lot of qualitative data from videos and observation notes that we need to transcribe and code. We also have a large corpus of log data that we need to mine and analyze. In the fall and over IAP, we seek students to work with us to analyze this data using qualitative, quantitative, and learning analytic approaches to understand how high school students learn when using MIT App Inventor.

Experience in qualitative and quantitative research methods, and python, are a plus but not required.

Department/Program: CSAIL (Computer Science and Artificial Intelligence Laboratory)
Faculty Supervisor: Prof. Hal Abelson
Direct Supervisor: Mike Tissenbaum

To apply for a position, please send an email with the subject line ‘AI Research UROP’ to Mike (

) and


  • which position(s) you are interested in
  • a current resume if available, and/or a brief description of relevant interests and experience
  • an estimate of your availability (hrs/week)
  • a few times when you're available for a 20-minute interview