Category Archives: STEM Education

How did you discover MIT App Inventor?

How did you discover MIT App Inventor?

I discovered App Inventor just as Google was handing AI classic off to MIT. At the time I was looking at different kinds of development tools for mobile devices, and App Inventor showed up in some online searches.

I took a look at it and found it  intriguing – at the time, AI classic did not seem quite capable of doing the things I was likely to need, but I intended to keep an eye on it.

A few months later, I was asked if we could quickly train some high school students to write Android apps? I have been a volunteer engineering mentor with FIRST Robotics programs for eight years. The new high school team where I was volunteering had intriguing ideas for mobile apps. When I was asked about the feasibility of quickly building some Android apps, I immediately proposed MIT App Inventor!

Our first student was so enthralled he literally stayed up half the night teaching himself App Inventor and soon was writing bundles of code for our Android tablet applications. Eventually another student joined the effort (from an iPhone background!) and rapidly came up to speed, writing a neat app in App Inventor.

Continue reading How did you discover MIT App Inventor?

App Inventor 2: Databases and Files – available shortly

Volume 3 – focusing on TinyDB, TinyWebDB, Fusion Tables and text files – is now Available.

————————————————————————-

App Inventor 2: Databases and Files is a step-by-step guide to writing apps that use TinyDB, TinyWebDB, Fusion Tables and data files for information storage and retrieval. Includes detailed explanations, examples, and a link to download sample code. This is the first tutorial to cover all of these App Inventor database and file features.

If your apps need to work with data or files – you need this book!

TinyDB stores data on your smart phone or tablet and is a primary way for App Inventor apps to save data, even when the app is no longer running or if the device is turned off.

TinyWebDB is similar to TinyDB, but stores your data on a remote server in the network cloud.

Multiple apps can share a TinyWebDB database, plus you can update the content of your TinyWebDB using just a web browser. This means you can distribute an app whose content can change over time – just by changing the values in TinyWebDB.

A big challenge is the need to set up a TinyWebDB server – this book shows how to do that through free services offered by Google.

Fusion Tables provide a powerful, cloud-based database system for App Inventor apps. Creating, retrieving, updating and deleting data is done using the industry standard Structured Query Language or SQL. Fusion Tables reside in the Google network cloud – this book shows you how to set up and configure Fusion Tables for you own apps using free services of Google. As your app requirements grow, Google’s cloud can provide low cost servers and bandwidth for your needs.

Underneath the Android OS user interface, there is a file system, similar to the file system found on Windows or Mac OS X. With App Inventor your apps can write and read data from files, and if using the special “CSV” format, App Inventor data can be shared with many spreadsheet programs. This book shows you how to create, use and access data files, and how to convert data to and from the CSV format.

Over 28,000 words. Amazon’s page count is 322 pages. Over 250 screen shots and illustrations. Numerous sample programs and code.

App Inventor 2: Databases and Files – Table of Contents
1 – Introduction
2 – Using the TinyDB database
3 – Implementing Records Using Lists in TinyDB
4 – Simulating Multiple TinyDB Databases
5 – How to Use Multiple Tags in TinyDB
6 – Introduction and Setup: TinyWebDB
7 – Managing TinyWebDB in the Cloud
8 – Programming for TinyWebDB – Demo 1
9 – Adding a Tags List to TinyWebDB – Demo 2
10 – Handling Multiple Users with TinyWebDB – Demo 3
11 – Implementing a Student Quiz Application using TinyWebDB
12 – Introduction to Fusion Tables
13 – Developing Your Fusion Table App
14 – Using Text Files in App Inventor

Pre-Announcing: App Inventor 2: Databases and Files-new e-book

Available now: App Inventor 2: Databases and Files

I have finished writing App Inventor 2: Databases and Files, a new e-book providing step-by-step guides to using TinyDB, TinyWebDB, Fusion Tables and Data Files in Android App Inventor programs, including sharing data with spreadsheets.

Continue reading Pre-Announcing: App Inventor 2: Databases and Files-new e-book

App Inventor 2 Tutorial Volume 2 is now available at Amazon

Volume 2 of the App Inventor 2 Tutorial is now available at Amazon as an e-book via this link: App Inventor 2 Tutorial Volume 2: Step-by-step: Advanced features including TinyDB.  The e-book will also be available from Google Play shortly.

Description

MIT App Inventor 2 is a fast and simple way to create custom Android apps for smart phones or tablets. Volume 2 in the series introduces debugging methods, explains additional controls not covered in Volume 1, introduces “agile” methods for developing a real world app, and provides sample code for using the TinyDB database.

The App Inventor 2 Tutorial series is targeted at adult learners (high school and up). App Inventor 2 provides a simplified “drag and drop” interface to layout your app’s screen design. Then implement the app’s behavior with “drag and drop” programming blocks to quickly assemble a program in a graphical interface.

Volume 1 of this series covered the basics of the App Inventor user interface Designer and the Blocks programming editor, plus basic “blocks” programming concepts and tools for arithmetic, text processing, event handling, lists and other features. Volume 2 builds upon Volume 1 to provide tips on debugging programs when the apps work incorrectly, how to use hidden editing features, and how to install your own apps on to your phone or tablet for general use. Code samples are provided for using the Notifier component for general use or for debugging, for user interface control tricks such as buttons that change color continuously or implementing the missing “radio buttons” component, using ListPicker and Spinner for list selections, and using the WebViewer to display web pages in your app. The book includes a large section on designing and building a sample real world application and finishes with a chapter on using the TinyDB database.

For readers of the blog, Chapters 4–8 are based on the tutorial already presented here. Chapter 2 and Chapter 9 on TinyDB are all new material.

Chapters

  • Introduction
  • Chapter 1 – App Inventor Tips
  • Chapter 2 – Debugging App Inventor Programs
  • Chapter 3 – User Interface Control Tricks
  • Chapter 4 – Designing and Building a Real World Application
  • Chapter 5 – Tip Calculator Version 2
  • Chapter 6 – Tip Calculator Version 3
  • Chapter 7 – Tip Calculator Version 4
  • Chapter 8 – Tip Calculator Version 5
  • Chapter 9 – Using the TinyDB database

(Volume 3 is now available – App Inventor 2 Databases and Files adds substantially more information on TinyDB, plus TinyWebDB and Fusion Tables and includes the full introduction to TinyDB).

AppInventor_Volume2Cover

“Visual Development” system for Arduino

As you know, MIT App Inventor is a graphical-based programming system, or a “visual development” system where programs are constructed by dragging and dropping “blocks” onto a Blocks editor.

Arduino, which we mentioned in conjunction with our Bluetooth interface code, is a microcontroller system that is normally programmed in a language similar to the C++ programming language – which is text-based.

Mitov Softwware has introduced a new visual programming system for Arduino. I have not yet had a chance to try this out – the software is in “Beta” test phase and is not yet generally available.

The simplicity of an App Inventor type programming environment might then be available for Arduino applications. This is very exciting. It may be helpful for enabling more kinds of people, with different types of backgrounds than software developers(!) to write code for Arduino boards.

Program Arduino boards visually, fast and easy with Visuino #Visuino #Arduino

Source: Visuino – Visual Development for Arduino by Mitov Software

I have used this screen shot from their web site to illustrate the general idea – really looking forward to trying this out!

screenshot-03

MIT App Inventor usage triples during 2014-2015 school year

Source: MIT App Inventor usage for 2014-2015 Academic Year

As they point out, the cyclical ups and downs in usage suggest App Inventor is primarily used by students – with drop off in usage during school vacation periods.

That suggests an opportunity to expand usage of MIT App Inventor – by insuring that AI2 appeals to a wide audience of potential app developers and not just educational programs!

“Why Learning to Code is So Damn Hard”

Click through for the full post at Viking Code School – as they say, the early part can be easy, then things get tougher, followed by a challenging learning period – until confidence and skills flourish.

What every beginner absolutely needs to know about the journey ahead

Source: Why Learning to Code is So Damn Hard

MIT App Inventor makes many things easier – but eventually one must learn to think like a software developer and become familiar with concepts like data structures, algorithms, design patterns, and software engineering design and project management.

Raspberry Pi 2 (US $35) computer board features Scratch

Raspberry Pi 2 is a US$ 35 computer board to which you attach a monitor, keyboard, mouse and Ethernet connection. You can use the Pi 2 for web browsing and other functions, but it also comes with Scratch.

Scratch is a programming system that is very similar to MIT App Inventor. You can learn more about Scratch in our previous post on that topic!

But because one of Raspberry Pi’s goals is to advance computer science education, there’s a few pieces of bundled software that can help achieve that goal. This includes a drag-and-drop visual programming language called Scratch (great for beginners to create animations and games), as well as Sonic Pi (for creating electronic music) and more advanced programming languages like Python (also included).

via Surf Report: Taking a bite out of Raspberry Pi.

And speaking of STEM, here are some videos from yesterday’s Oregon City FRC FIRST Robotics Pacific Northwest District 2 (Oregon) robotics competition. 35 high school robotic teams took part, with Team #4488 “Shockwave” taking first by total points. I am biased: I am a volunteer engineering mentor with the Shockwave team, from Glencoe High School, Hillsboro, Oregon. Go Shockwave!

Continue reading Raspberry Pi 2 (US $35) computer board features Scratch

Motion picture highlights high school robotics

Press Release – January 14, 2015 | USFIRST.org.
New Movie Starring Jamie Lee Curtis, George Lopez, Carlos PenaVega, and Marisa Tomei Highlights FIRST® Students’ Famous Underdog Robotic Victory against MIT

‘Spare Parts’ Debuts in Theaters Nationwide on January 16 Featuring Robots Built by FIRST Teams.

Watch the Spare Parts movie trailer on Youtube here.

FIRST Robotics is not App Inventor, but FIRST is a high visibility showcase of youth STEM programs. Since 2008, I have been a volunteer engineering mentor with high school FIRST Robotics teams. The 2015 FIRST robotics competition season is underway now.

To learn more about FIRST Robotics in your area, or to start a team, visit USFIRST.ORG.

The team where I volunteer (Shockwave Team #4488!!!!!) has implemented several Android apps using MIT App Inventor. One of their apps, a robotic-themed game based on the 2015 competition, is available in the Google Play store as a free download. Other apps are used by the team during competition to collect data on other teams, which is then analyzed in an Excel spreadsheet (written using Visual Basic for Applications code) to develop optimal competitive game strategies.

(Sorry for no new App Inventor code examples this week – had an ear infection for a few days that caused dizziness. Everything is okay now!)