Hands-Free Learning - University of Alabama

Download Report

Transcript Hands-Free Learning - University of Alabama

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

Camp Week 1: Intro to Java

Summer Camps at UA

Pre-requisites

No experience needed; Grades 9-12

Content

Taught intro to Java using Greenfoot and Media Comp

Attendance

2011: 28 2012: 33

Week 2: Robotics

Existing knowledge of Java or attendance of the first camp Taught Java using Lego NXT and Lejos 2011: 12 2012: 25

Week 3: Android App Inventor

Existing knowledge of Java or attendance of the first camp App Inventor Block Language 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

• • •

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 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

Monday Tuesday Wednesday Thursday Friday • • • • • • •

Task

Introduction to App Inventor: “HelloPurr”, “PaintPot”, “MoleMash” Final project explanation More projects from Dave’s textbook Introduction to the Java Bridge: “PaintPot” Students present project ideas Final project time Project presentations

App Inventor

• •

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 import import

com.google.devtools.simple.runtime.components.HandlesEventDispatching; com.google.devtools.simple.runtime.events.EventDispatcher; com.google.devtools.simple.runtime.components.android.*;

public class

MyApp {

extends

Form

implements

HandlesEventDispatching

/* 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 */

}

Illustration

Illustration

AppInventor

Student Projects

Java Bridge

Artifact Assessment

Learning Objective

How Android apps can be written Objects Programming environments (Block Language and Java) Events Decision statements Loops Method calls Method creation Understanding how to read documentation Creating a GUI Using components

Number of projects

23 23 23 23 15 3 23 7 14 23 23

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

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 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/