160 likes | 346 Views
Using App Inventor in a K-12 Summer Camp. Amber Wagner, Jeff Gray, Jonathan Corley University of Alabama David Wolber University of San Francisco. SIGCSE 2013 Denver, CO – March 9, 2013. NSF CAREER 1052616. Overview. Summer Camps at UA.
E N D
Using App Inventor in a K-12 Summer Camp Amber Wagner, Jeff Gray, Jonathan Corley University of Alabama David Wolber University of San Francisco SIGCSE 2013 Denver, CO – March 9, 2013 NSF CAREER 1052616
Summer Camps at UA • Residential camps with both commuter and dorm options • 2012 Camps had students from 12 states, plus students from Beijing and Hong Kong • http://outreach.cs.ua.edu/camps
Why App Inventor? • Smartphone adoption around 58%1 (ages 13-17) • Android has largest market share (70% in 4Q-12)2 • 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.bizreport.com/2012/09/smartphone-adoption-in-us-led-by-teens.html# 2http://www.forbes.com/sites/chuckjones/2013/02/13/android-solidifies-smartphone-market-share/
Java Bridge • Created by Mark Friedman (Google) as a way to explore App Inventor in Java • http://app-inventor-for-android.googlecode.com/svn/trunk/samples/BridgeToJava import com.google.devtools.simple.runtime.components.HandlesEventDispatching; importcom.google.devtools.simple.runtime.events.EventDispatcher; importcom.google.devtools.simple.runtime.components.android.*; public class MyAppextends Form implementsHandlesEventDispatching { /* Declaration of GUI components goes here */ void$define() {/* GUI components constructed and added to Form */ EventDispatcher.registerEventForDelegation( this, "MyApp", "SomeEvent" ); } public void dispatchEvent(Object component, String id, String eventName, Object[] args) { if( eventName.equals( "SomeEvent" ) ) if( component.equals( someComponent )) someComponent_DoAction(); /* Other event dispatching goes here */ } private void someComponent_DoAction() { /* Some specific event handler code here */ }}
Student Projects AppInventor Java Bridge
Successes • Creativity soared • Students really engaged • Team projects highly collaborative • Grasped concepts well (from artifact assessment) • Objects • Events • Decision statements • Method calls • Creating a GUI • Using components
Improvements • Begin the series of camps with AI at the end of the first week (during Java camp), as a teaser for the App Inventor week • Introduce Java Bridge earlier in the week, perhaps, afternoon of Day Two • More focus on the following concepts: • Loops • Method creation • Reading documentation
For More Info • App Inventor Website • http://www.appinventor.org • Java Bridge • http://app-inventor-for-android.googlecode.com/svn/trunk/samples/BridgeToJava • USF site to automatically generate Java code • http://usfaicg.appspot.com • Site of translated apps to Java Bridge • https://code.google.com/p/appinventor-java-translation/downloads/list • UA Summer Camps Website • http://outreach.cs.ua.edu/camps/