CS4HS with App Inventor
May 18, 2012
Jeff Gray, Ph.D. - Associate Professor
University of Alabama
Department of Computer Science
gray@cs.ua.edu
http://www.cs.ua.edu/~gray
Initial Links
This talk
A more detailed talk on CS Principles and
App Inventor
http://www.cs.ua.edu/~gray/external/googlecs4hs/cs4hs-appinventor.ppt
http://www.cs.ua.edu/~gray/external/acmse2012/a
cmse-csprinciples-appinventor-tutorial.ppt
Photos from our 2011 CS4HS
https://picasaweb.google.com/115149721412395
648937/2011GoogleCS4HSAtUA
For more info…
MIT Center for Mobile Learning main site
Dave Wolber’s App Inventor Site
http://www.appinventor.org/
The App Inventor Repository
http://appinventor.mit.edu/
Educator’s Site
Links to many Google Newsgroups
http://www.tair.info/
Three quality books on the topic
Observation: Teaching CS – 1980s style
Typical example was text-based, trivial, and
uninspiring
Motivation: New and Exciting Contexts
Media Computation
Robots
Programming in a more exciting context by
manipulating multimedia artifacts
Lego NXT
2D/3D Animation Environments
Alice, Scratch, AgentSheets
Motivation: Newest Context
Teen smartphone penetration around 62%1
Novel ways to engage through the “creative
hook” and tinkering
“I wish I had an app for that”
Social networking and
crowd sourcing a daily
activity among teens
Increasing adoption of
smartphones in science
and medical applications
1http://www.mediapost.com/publications/article/168085/nielsen-smartphone-penetration-reaches-48.html
App Inventor Overview
2007: Open Blocks Java Library developed
as Masters thesis of Ricarose Roque at MIT
Hal Abelson becomes visiting faculty member
at Google
2009: App Inventor Pilot begins in 2009
2011: Google closes Google Labs
2011: MIT announces new Center for Mobile
Learning
February 2012: New App Inventor server
available at MIT
App Inventor Overview
Purpose
Teaching
Prototyping
Overview
Designer
GUI builder
Block Editor
Provide behavior behind the GUI
Based on MIT OpenBlocks and Scratch
Designer
Provides a WYSIWYG editor for designing the
visual parts of the app
Also provides ability to attach non-visual
components
Blocks Editor
Provides an ability to give
behavior to an app; the
programming part
Typical and expected basic
predefined constructs (logic,
conditionals, iteration)
Ability to refer to the
components and their
properties from the Designer
Very similar to Scratch
Built on Open Blocks library
from MIT
CS4HS 2011 Approach
1st Day: Block language like Scratch and
BYOB; CS Principles; Why Study CS Talk
2nd Day: Introduction to App Inventor; Group
and individual exercises
Each teacher received an App Inventor book
HelloPurr, PaintPot, Molemash, Quizzes
3rd Day: Teacher Project time
2012 Focus is on CS Principles Pilot Info
using App Inventor
Interesting result from 2011…
Gina McCarley, a participant in our CS4HS
2011, won a Samsung STEM competition
using an app she created with students
The App Inventor app helps to track the
overpopulation of wild hogs in her county
$100,000 prize
https://pages.samsung.com/us/sft/video/index.jsp
High School Summer Camps
http://www.cs.ua.edu/outreach/camps/
Week 3 focuses on App Inventor
Approach: Mixes block language and Java
Other item: App Inventor Java Bridge
Provides a Java .jar file for accessing the App Inventor
components and writing Java apps in Eclipse (much
easier than standard Android SDK)
UA student Chris Hodapp extending work initiated by
Josh Swank to provide a translator from Blocks to Java
Video on Java Bridge
http://www.youtube.com/watch?v=MnEG7_Et4UA
App Inventor Live Demo…
Traditional Blocks Language
Overview of environment
Hands-on app building (time limited)
Samples from CS4HS