6.S198 Open Source Software Development for Educational Mobile Computing


Units: 2-3-7
Pre-req: 6.005 or permission of instructor
Instructors:  Prof. Hal Abelson (hal@mit.edu), Dr. José Dominguez (josed@mit.edu)
Schedule: W 2-4, room 34-304
This subjects qualifies as a department lab.
This project course will give you experience being part of the open-source development team for MIT App Inventor (appinventor.mit.edu), a cloud-based development environment where people can quickly create apps for Android devices by plugging together program blocks with a graphical user interface.  App Inventor  runs as a free worldwide service with 40,000 unique active users a week and a million users in total.
Development is done primarily in Java and Javascript using a variety of development tools and environments including git (Gerrit and Github), Apache ant, IntelliJ Idea/Eclipse, Google Web Toolkit, Android SDK, SVG, Closure, and Google AppEngine. You are not expected to become familiar with all of those, but subject meetings will include introductions to some of these topics as required.

Specific projects can include monitoring and maintaining the back-end infrastructure, finding and fixing bugs, and adding new features to the system (including integrating sensors and Web services, extending the system’s graphics capabilities, making UI enhancements, and implementing new programing constructs).   Most important, you’ll see what it’s like to be an active contributor to a large system, and to release code that will immediately be used by thousands of students, teachers, and hobbyists around the world.