Introduction to Application Coding for Android Devices Using MIT App Inventor 2

Course Length: One Day

Overview:

App Inventor 2 is an app development tool created by MIT and Google that allows beginners to quickly start creating mobile apps for the Android operating system.  The AI2 interactive development environment uses blocks and drag and drop components to program reactions to events in the mobile device.  This avoids the issue of having to learn large amounts of code to begin app development, allowing us to jump into the fundamentals of computer science and harnessing most of the capabilities of your smartphone, including location sensing, texting and interacting with the web.
This one day introductory class will start with building basic apps and learning the essentials of programming in a fun environment. AI2 is a great way to test the waters in coding and begin a journey to more complex languages.

Course Objectives:

Create and distribute simple to intermediate mobile apps for the Android Platform.
Learn basic computer science concepts that can be applied to any programming language.

Target Student:

Anyone with interest in starting to code or learn about software development.

Prerequisites:

No prerequisites other than a familiarity with computers and mobile platforms. Students are strongly recommended to bring their own Android compatible device to get the full functionality of AI2.

Course Outline:

Lesson 1: Introduction to AI2
Topic A – Why is AI2 a good place to start software development?
Topic B – Hardware requirements

Lesson 2: App design fundamentals
Topic A – Needfinding
Topic B – Importance of Prototyping and testing
Topic C – Design logbooks

Lesson 3: Components
Topic A – Designer Screen
Topic B – Properties
Topic C – Documentation on components

Lesson 4: Behavior
Topic A – Block Editor screen
Topic B – Event based programming
Topic C – Types of events

Lesson 5: Pairing your tablet/phone to your computer

Lesson 6: Creation of first App
Topic A – App creation
Topic B – Importance of debugging

Lesson 7: Introductory app tutorials and Basic concepts

Lesson 8: Ways to add complexity to our app
Topic A – Conditionals
Topic B – Loops
Topic C – Procedures
Topic D – Variables
Topic E -Animations
Topic F – Screens

Lesson 9: Planning and documenting our projects
Topic A – Designing for end-users
Topic B – Prototyping
Topic C – Incremental development
Topic D – Sketching/planning the program and logic
Topic E – Commenting

Lesson 10: Downloading and sharing apps