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
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
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/
Camp Itinerary
Day
Task
Monday
• Introduction to App Inventor:
“HelloPurr”, “PaintPot”, “MoleMash”
Tuesday
• Final project explanation
• More projects from Dave’s textbook
Wednesday
• Introduction to the Java Bridge: “PaintPot”
• Students present project ideas
Thursday
• Final project time
Friday
• 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 com.google.devtools.simple.runtime.components.HandlesEventDispatching;
import com.google.devtools.simple.runtime.events.EventDispatcher;
import 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
Student Projects
AppInventor
Java Bridge
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 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-javatranslation/downloads/list
• UA Summer Camps Website
– http://outreach.cs.ua.edu/camps/