CS4HS with App Inventor May 18, 2012 Jeff Gray, Ph.D. - Associate Professor University of Alabama Department of Computer Science
Initial Links This talk cs4hs/cs4hs-appinventor.ppt cs4hs/cs4hs-appinventor.ppt A more detailed talk on CS Principles and App Inventor cmse-csprinciples-appinventor-tutorial.ppt cmse-csprinciples-appinventor-tutorial.ppt Photos from our 2011 CS4HS /2011GoogleCS4HSAtUA /2011GoogleCS4HSAtUA
For more info… MIT Center for Mobile Learning main site Educator’s Site Links to many Google Newsgroups Dave Wolber’s App Inventor Site The App Inventor Repository 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 Programming in a more exciting context by manipulating multimedia artifacts Robots 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 1
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 : 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 1 st Day: Block language like Scratch and BYOB; CS Principles; Why Study CS Talk 2 nd Day: Introduction to App Inventor; Group and individual exercises Each teacher received an App Inventor book HelloPurr, PaintPot, Molemash, Quizzes 3 rd 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
High School Summer 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
App Inventor Live Demo… Traditional Blocks Language Overview of environment Hands-on app building (time limited) Samples from CS4HS