Massachusetts Institute of Technology
Dept. of Electrical Engineering and Computer Science
Spring Semester, 2015

Making mobile apps

Making Mobile Apps was an experimental course offered in spring 2015 by the MIT Department of Electrical Engineering and Computer Science. The course was taught by Prof. Hal Abelson with the assistance of Franck Dernoncourt, Amin A Manna, Ashley M Smith, Aubrey J Colter, Diana F Lamaute, Jason Hao Gao, and Mikael S Mengistu.

The goal of the course was to introduce students to mobile app design and implementation, from a first introduction that assumed knowledge of Java but no prior mobile development experience, to an end-of-semester project producing a working app of near professional quality.

The semester began with students using MIT App Inventor, a graphical development environment that lets beginners quickly create apps for Android devices. The purpose of this introduction was to enable students to being creating apps immediately and to emphasize that good app design is a result of good ideas, rather than coding sophistication. Starting the third week of the course, students formed teams, and the teams used App Inventor to create working useful apps by mid-semester.

The class resumed after mid-semester break with an introduction to Android Studio, Google's preferred framework for professional app development. After two weeks of introduction to Studio, students again formed teams that each created a high-quality app using Android Studio. Some teams built a second version of their App Inventor app, others did something new. The premise of the course was that the App Inventor work had given students a basic orientation to the Android framework (e.g., activities, intents, event-driven programming) so that the introduction to Android Studio could proceed quickly and smoothly

One noteworthy feature of the course was its use of mentors who volunteered to work with the teams, including engineers from Google Cambridge, and professional application developers from the Boston-area software developer community.

Following are brief descriptions of the Android Studio apps (click on each image):