CS4HS with App Inventor May 18, 2012 Jeff Gray, Ph.D. - Associate Professor University of Alabama Department of Computer Science gray@cs.ua.edu http://www.cs.ua.edu/~gray Initial Links This talk A more detailed talk on CS Principles and App Inventor http://www.cs.ua.edu/~gray/external/googlecs4hs/cs4hs-appinventor.ppt http://www.cs.ua.edu/~gray/external/acmse2012/a cmse-csprinciples-appinventor-tutorial.ppt Photos from our 2011 CS4HS https://picasaweb.google.com/115149721412395 648937/2011GoogleCS4HSAtUA For more info… MIT Center for Mobile Learning main site Dave Wolber’s App Inventor Site http://www.appinventor.org/ The App Inventor Repository http://appinventor.mit.edu/ Educator’s Site Links to many Google Newsgroups http://www.tair.info/ 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 Robots Programming in a more exciting context by manipulating multimedia artifacts 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 1http://www.mediapost.com/publications/article/168085/nielsen-smartphone-penetration-reaches-48.html 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 2009 2011: 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 1st Day: Block language like Scratch and BYOB; CS Principles; Why Study CS Talk 2nd Day: Introduction to App Inventor; Group and individual exercises Each teacher received an App Inventor book HelloPurr, PaintPot, Molemash, Quizzes 3rd 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 https://pages.samsung.com/us/sft/video/index.jsp High School Summer Camps http://www.cs.ua.edu/outreach/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 http://www.youtube.com/watch?v=MnEG7_Et4UA App Inventor Live Demo… Traditional Blocks Language Overview of environment Hands-on app building (time limited) Samples from CS4HS