This site provides App Inventor teaching materials broken down into modules. The most up-to-date manifestation of these modules can be found in Wolber's newest App Inventor course (Spring 2012)
Teaching a course on App Inventor? This site provides a framework for doing so, based on the materials I've created and collected teaching App Inventor at the University of San Francisco. I've taught introductory CS for non-majors (CS0), but the materials will work for a CS1 course as well. You can also pick and choose from the seven available modules, or just give a two or three week intro to App Inventor with the introductory module.
The course-in-a-box includes:
- Course framework
- Lesson plans and lecture notes
- Tutorials
- Assigned readings (where to place chapters from the App Inventor book)
- Conceptual worksheets
- Screencast demos
- Creative projects
- Tests
Each teaching module assigns readings from the O'Reilly textbook App Inventor: Create your own Android Apps,
of which I am a co-author. The book provides updated and refined versions of the tutorials available on the App Inventor site, additional tutorials not on that site, and an "inventor's manual" section that is conceptual in nature as opposed to being in tutorial form. Each teaching module assigns both tutorials and conceptual chapters from the book so as to enrich the more mechanical, practical app building with a deeper understanding of the computer science and programming concepts. You can use these modules without the text, but you'll find that the text will provide a great resource for your students.
Modules
There is some dependency between modules. For instance, the introduction should be provided before moving on, and its a good idea to give your students some experience with module 2 (Games) and/or 3 (Apps using technology) before moving onto modules 4 and 5 which require abstract thinking and programming. Module 6 on procedures could be given earlier, but I prefer to give it once students have written a number of event-handling apps without thinking of sub-procedures. Module 7 includes fairly complex parsing of web results so should definitely be presented after the other modules.
Module 1: Introduction
| Topics
|
Lessons |
Reading and Video
|
Components and properties
Events and event handlers
Calling built-in function blocks
Parameters
Variables
Drawing Canvases
Web: Working with images and sound
|
Introduction to App Inventor
PaintPot and Initial Discussion of Programming Concepts
Create your Portfolio
Creative Project: Soundboards
discusses deploying an app to a web page with barcode
Mobility and Augmented Reality
What is App Inventor? Discusion of articles --> solution
|
Tutorials:
Hello Purr (ch 1),PainPot (ch2) ((all chapters from App Inventor book)
Conceptual Reading:
ch 14 (app architecture)
ch 16 (variables)
Readings about App Inventor and Do-it-yourself Programming
Steve Lohr, Google's Do it Yourself App creation Software, NY Times.
Jason Kincaid, It’s Alive! Taking Android’s App Inventor For A Spin Tech Crunch
Clive Thompson, Coding for the Masses, Wired Magazine.
Howard Wen, The Ascendance of App Inventor: David Wolber on why App Inventor isn't just for novices, O'Reilly Rader Interview.
Hal Abelson, Mobile Ramblings, Educase
Mike Loukides, App Inventor and the Culture Wars, O'Reilly Radar.
Clay Shirky, Situated Software.
Igor Lansorena, Man Proposes using Harry Potter app ceated with app Inventor, EITB news
Apps:
Google Goggles
Layar,Wikitude
Videos:
App Inventor in action
App Inventor at USF
BBC Webscape video CS Night at USF, 2010
Getting Started (Jason Tyler) Getting Started (Ben Martin)
|
Module 3: Texting, Location Sensing, and Other Mobile Technology
| Topics |
Lessons |
Reading and Video |
Location Sensor
GPS
My Maps and Map URLs
Text-to-speech
Speech-to-text
Barcode Scanner
|
|
Tutorials:
No Text While Driving (ch4)
Where's My Car? (ch 7)
Conceptual Reading:
Sensors (ch 22, first part)
Additional Reading:
Location-Aware apps and Privacy
Video
No Text While Biking @Youtube
|
Module 4: Quizzes and Other Informational Apps
| Topics |
Lessons |
Reading and Video |
Lists of data
Iterating a list with an index
Lists of lists
|
Iterating through a list
|
Tutorials:
Presidents Quiz (ch 8)
Conceptual Reading:
Programming Lists (ch 19, up to 273)
Video:
|
Module 5: Input Forms, User-Generated Data and Persistence
Module 6: Software Engineering and Procedural Abstraction
Module 7: Apps that access web data
| Topics |
Lessons |
Reading and Video |
URLs and URL parameters
Web component
TinyWebDB component
Parsing CSV
Parsing XML
|
Displaying charts with Google Chart API
|
Tutorials:
Amazon (ch 13)
Sites: appinventorapi.com
Video:
|
|
|