App Inventor Barb Ericson Georgia Tech ericson@cc.gatech.edu What is App Inventor? Free software for creating apps for Android devices Projects are saved to the cloud You create the user interface by dragging components (widgets) onto a screen The Designer You program the app by dragging program statements and connecting them Requires an internet connection to use The Blocks Editor You can test using wireless, an emulator, or a USB connected device First option is best Designer – User Interface Blocks Editor - Programming Tips for Workshops Manage expectations Pre-load Xylophone on the phones They are not creating Angry Birds in 1 hour Have students play with it and ask them how they think it works Introduce the computing terms Explain how to use the phones (especially for adults) For younger students use projects with the user interface already done Allow time to add features or create apps Use examples that help people - SpeakIt Use examples that can be customized - Fortune Show how it relates to jobs – Dot Diva Troubleshooting Both the device and computer must be on the same wireless network Some networks have firewalls that don’t allow this to work – check first To use the emulator or USB connected device you must install software See http://appinventor.mit.edu/explore/ai2/set up.html Setup the Phone / Tablet Menu – Settings Applications Menu – Settings Development Install on Device Your app will work as long as the device is connected, but not when disconnected To have your app work after you disconnect the device In the Designer click on App (Provide QR code for .apk) to install the app on your device Or save the .apk to your computer and put it on a server to share it with others Sharing a Project with Others Go to My Projects Check the app to share Click on ”Project" and then ”Export selected (.aia) to my computer" This will download a file to your computer that ends in .aia Others can click on “Project” and “Import project (.aia) from my computer” to upload it Computing Concepts Event driven programming Variables Conditionals Random Numbers Procedures and parameters Creating your own blocks Lists Iteration (Loops) Recursion User Interfaces Model, View, Controller What else can you do? Create games Use the camera and then draw on the picture Canvas Create a quiz Image sprites – collision detection, timers Using lists Automatically respond to text messages Use text-to-speech to read a message Store data on the phone Use the GPS to remember where your car is Open Google maps to a particular URI Create a list of people to automatically text Create a remote control for your LEGO robot Use a barcode scanner and get info from websites with web data APIs Store data on the phone or in a web database Tips and Techniques You can copy and paste a set of blocks You can just type a number or Boolean value Control C and V on windows The correct block will be created When you right click on a block you can: Add a comment Duplicate a block Deactivate a block Collapse a block Execute a block immediately How to get devices? Buy tablets – cheaper than phones Samsung Galaxy - $180 Nexus 7 - $152 Ask students/parents to donate used phones Get a small grant to cover the cost of the devices – Google Rise, Local businesses, College Only need 1 device per 4-6 people How to evaluate Pre and post attitude surveys Measure confidence, enjoyment, interest, intent to persist, gender stereotypes 5 point Likert scale questions Open-ended questions: best, thing to change? http://home.cc.gatech.edu/ice-gt/310 Pre and post content knowledge assessments Multiple choice questions http://home.cc.gatech.edu/ice-gt/311 Additional Resources ICE projects for App Inventor http://ice-web.cc.gatech.edu/dl/?q=node/873 MIT’s Tutorials are at http://appinventor.mit.edu/explore/tutorials.html Gallery of apps created with App Inventor http://gallery.appinventor.mit.edu/# 35 hour course for teachers http://explore.appinventor.mit.edu/teaching-app-creation Design guidelines from Google for Android Apps http://developer.android.com/design/index.html Free on-line book and course materials and tutorials are at http://www.appinventor.org/book Mobile CS Principles materials - including multiple choice questions https://sites.google.com/site/mobilecsp/ 6 modules are at http://www.appinventor.org/course-in-a-box How to publish to the play store ($25 fee to register)http://appinventor.mit.edu/explore/ai2/google-play.html