Using App Inventor in a K12 Summer Camp

  • Slides: 16
Download presentation
Using App Inventor in a K-12 Summer Camp Amber Wagner, Jeff Gray, Jonathan Corley

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 Introduction and Motivation App Inventor Java Bridge Lessons Learned

Overview Introduction and Motivation App Inventor Java Bridge Lessons Learned

Summer Camps at UA Camp Pre-requisites Content Attendance Week 1: Intro to Java No

Summer Camps at UA Camp Pre-requisites Content Attendance Week 1: Intro to Java No experience needed; Grades 9 -12 Taught intro to Java using Greenfoot and Media Comp 2011: 28 2012: 33 Week 2: Robotics Existing knowledge of Taught Java using Java or attendance of Lego NXT and the first camp Lejos 2011: 12 2012: 25 Week 3: Android App Inventor Existing knowledge of App Inventor Java or attendance of Block Language the first camp and App Inventor Java Bridge 2011: 16 2012: 24 • 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

2012 Summer Camps

2012 Summer Camps

Why App Inventor? • Smartphone adoption around 58%1 (ages 13 -17) • Android has

Why App Inventor? • Smartphone adoption around 58%1 (ages 13 -17) • Android has largest market share (70% in 4 Q-12) 2 • Novel ways to engage through the “creative hook” and tinkering; “I wish I had an app for that” n n Social networking and crowd sourcing a daily activity among teens Increasing adoption of smartphones in science and medical applications 1 http: //www. bizreport. com/2012/09/smartphone-adoption-in-us-led-by-teens. html# 2 http: //www. forbes. com/sites/chuckjones/2013/02/13/android-solidifies-smartphone-market-share/

Camp Itinerary Day Task Monday • Introduction to App Inventor: “Hello. Purr”, “Paint. Pot”,

Camp Itinerary Day Task Monday • Introduction to App Inventor: “Hello. Purr”, “Paint. Pot”, “Mole. Mash” Tuesday • Final project explanation • More projects from Dave’s textbook Wednesday • Introduction to the Java Bridge: “Paint. Pot” • Students present project ideas Thursday • Final project time Friday • Project presentations

App Inventor

App Inventor

Java Bridge • Created by Mark Friedman (Google) as a way to explore App

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/Bridge. To. Java import com. google. devtools. simple. runtime. components. Handles. Event. Dispatching; import com. google. devtools. simple. runtime. events. Event. Dispatcher; import com. google. devtools. simple. runtime. components. android. *; public class My. App extends Form implements Handles. Event. Dispatching { /* Declaration of GUI components goes here */ void $define() { /* GUI components constructed and added to Form */ Event. Dispatcher. register. Event. For. Delegation ( this, "My. App", "Some. Event" ); } public void dispatch. Event(Object component, String id, String event. Name, Object[] args) { if( event. Name. equals( "Some. Event" ) ) if( component. equals( some. Component )) some. Component_Do. Action (); /* Other event dispatching goes here */ } private void some. Component_Do. Action() { /* Some specific event handler code here */ } }

Illustration

Illustration

Illustration

Illustration

Student Projects App. Inventor Java Bridge

Student Projects App. Inventor Java Bridge

Artifact Assessment Learning Objective How Android apps can be written Objects Number of projects

Artifact Assessment Learning Objective How Android apps can be written Objects Number of projects 23 23 Programming environments (Block Language and Java) 23 Events 23 Decision statements 15 Loops 3 Method calls 23 Method creation 7 Understanding how to read documentation 14 Creating a GUI 23 Using components 23

Successes • • Creativity soared Students really engaged Team projects highly collaborative Grasped concepts

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

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

Conclusion App Inventor • Provides a relevant context igniting creativity • Students can learn

Conclusion App Inventor • Provides a relevant context igniting creativity • Students can learn programming concepts first Java Bridge • Provides smooth, natural progression to Java • Components in App Inventor translate well Next Steps • Offer as teaser in first week • Give students more time to work in Java

For More Info • App Inventor Website – http: //www. appinventor. org • Java

For More Info • App Inventor Website – http: //www. appinventor. org • Java Bridge – http: //app-inventor-for-android. googlecode. com/svn/trunk/samples/Bridge. To. Java • USF site to automatically generate Java code – http: //usfaicg. appspot. com • Site of translated apps to Java Bridge – https: //code. google. com/p/appinventor-javatranslation/downloads/list • UA Summer Camps Website – http: //outreach. cs. ua. edu/camps/