Who’s Teaching App Inventor

A map of App Inventor teachers

I’ve updated the App Inventor teacher map with a number of folks who contacted me and I did a bit of categorizing. Though the map is far from complete, we have courses from middle school, high school, high school summer and after-school programs, university cs courses, and a Health Sciences course. Here’s a quick run-down, see the map for more details on each course/teacher.

Middle School

Chris Craft, Cross Roads Middle School, Columbia, SC

High School Programs

Lashell Hatley, Youth Lab, Washington D.C.
Elisabeth Soep, Youth Radio Mobile Action Lab, Oakland CA
Jeff Gray, University of Alabama Summer Computer Camp
Kris Roy, Valdosta State University Summer Camp, Valdosta, GA
Anu Tewary, Technovation Challenge, CA and NY
Steve Keinath, Jackson Area Career Center, Jackson, MI

High School Courses

Stacey Roshan, Bullis School, Potomac, MD
Jeremy Scott, George Heriot’s School, Edinburgh, Scotland.
Peter Beens, Beamsville, Ontario, Canada
Keith Jiang, Taiwan

University CS Courses

Ellen Spertus, Mills College
David Wolber, University of San Francisco
Ralph Morelli, Trinity College
Hal Abelson, MIT
David Jantzen, Cal Poly SLO
Ruud Greven, Saxion University of Applied Sciences, Enschede, Netherlands

University, Health Sciences
Randy Hutchison, Furman University,  Greenville, SC



Youth Radio’s Mobile Action Lab

Youth Radio's Mobile Action Lab

Youth Radio is an Oakland, CA organization which promotes young people’s intellectual, creative, and professional growth through education and access to media. They’ve won a MacArthur Digital Media and Learning Award and now they’re adding mobile apps to their game and and using App Inventor to make it happen.

Here’s a clip about them:

App Inventor Teacher Map

Who teaches App Inventor? I’ve started to put together a Google map with the basic information of the courses I know about. I’m still working through emails and groups to collect info about people, so please send me your name, course title and description to be added. It looks like a bunch of courses sprouting up this fall so the map should be filling up…here’s a snapshot of the map in Google Earth:

USF App Inventor Students Become App Inventor Teachers

USF Student-Teachers at the Technovation Challenge

USF Student-Teachers at the Technovation Pitch-Night

No women in computer science?  Not so fast! The University of San Francisco’s App Inventor class is helping to encourage more women into the field. These four students, recent A-listers in the USF course, are now helping high school girls learn programming and entrepreneurship in Iridescent’s Technovation Challenge.  Jenny Horowitz, Paige Carrington, Julie Cahill, and Melanie Garcia– Way to go!

For more info about the Tech Challenge, check out this PC World article

What is App Inventor? Ask Hal Abelson

Hal Abelson, the MIT professor who took a sabbatical at Google to develop App Inventor, wrote a recent piece for EDUCAUSE Quarterly. Not surprisingly, Hal’s article deftly characterizes the great potential of App Inventor in education and society. Here’s an excerpt that gets to the gist of App Inventor’s unique educational value:

One of my favorite App Inventor examples comes from an introductory computer appreciation course at Wellesley (one of the Google-sponsored pilots). The instructors, Takis Metaxas and Eni Mustafaraj, had the idea that students should learn about the societal implications of information systems by building some of these systems and seeing first-hand the choices involved. In one example, the class created a polling application. As people walked around the Wellesley campus, they could pull out their phones and see that there was a new poll — for example, “Who is your favorite female singer?” — and select and send their responses, which were recorded by a web server.

At the next class, Eni pulled up the web page and showed the results. Then she pulled up the database and said, “and here’s how you all voted.” The students were startled. In the “private” experience of using their phones to answer a poll, they’d simply not appreciated that:

  • The polling system could keep track of their identities along with their votes.
  • This was a choice made by the system designer.
  • They could experiment with that choice implementing their own variations of the polling system.

As a topic for introductory computing, this goes beyond the issues involved in learning about programming or computational thinking. It gives students direct experience with a technology — online polling — that has major social impact and lets them look through the eyes of the system implementer. By creating their own variations, students explore the design choices and grapple with the implications, social as well as technical. The next time these students encounter polling systems or proposals for electronic voting, they’ll be asking some good questions as informed citizens.


USF App Inventor Student in Wired Magazine

Clive Thompson of Wired Magazine featured a USF student project in his article, Coding for the Masses. The article features Daniel Finnegan and his No Text While Driving app.

You can check out a refined version of the app as a tutorial on the App Inventor site, and check out  a screencast of how to build it on my App Inventor youtube list.

App Inventor and CS0: Strategies for Success

Strategies for Success with App Inventor and CS0

Following are the strategies I’ve used in teaching App Inventor. My course is called “Computing, Robots, and the Web”, which qualifies as a Math core course at USF. The students are primarily humanities, science, and business students. I taught the course last Fall and Spring as part of Google’s App Inventor pilot.

Portfolios and student-owned accounts

On the first day of class, students register for Google Sites accounts and create a portfolio site. From that day on they post everything they do– from small lab assignments to large, creative projects– on their portfolio. I tell them that if its not on their portfolio, it doesn’t exist! I also assign students their own App Inventor accounts the first day of class, as opposed to using generic class accounts. These are the advantages of the portfolio approach:

  • The motivation level is higher when students know they are creating something that their classmates and others can view.
  • Students can continue to work on their projects when the course ends.
  • Students can refer back to the samples and projects they’ve done previously.
  • One outcome of the class is a portfolio of their work which they can show their family, friends, and prospective employers.
  • Its a nice way to introduce and encourage “cloud computing”.

Here’s an example of a student portfolio via USF student Mackenzie Lisenbey, and here’s a student page linking to all the portfolios.

Worked-out samples and assigned variations
Even more than with the typical CS major, CS 0 students learn better with concrete examples as opposed to abstract concepts. The students build apps following fully worked-out tutorials that explain the behaviors (blocks) each step of the way. They’re then given assignments that ask them to program variations and additions on those samples. The sample apps become part of the vocabulary for the class. I find that “it’s like the quiz example, when you step through the questions,” works better than, “you know how iteration works, just increment the index variable…”

Interesting apps and student-initiated learning
The assigned sample apps should be interesting in terms of their end-result. Samples that just illustrate an interesting computer science concept don’t work so well with this audience. Whereas CS students are motivated puzzle-solvers, the less technical student is motivated  from creating something cool or useful to the world.

You can still get to the computer science concept, just not in a top-down, concept-first manner. As the students work on interesting samples, they invariably think of ideas for customization and other apps. “Hey, Wolber, how would I do this? What if I wanted to bring in my tweets? This quiz is cool, but how would I make a multiple choice quiz?” When they are motivated to solve a real-world problem you can teach them the concepts.

Creative Projects

Some students take off immediately as soon as they begin building the sample projects. The motivation level rises dramatically, however, when I assign the first creative project, and let the students create whatever they want. For some students, this is when they really buy in.

I’ve assigned two major projects each semester. Groups of two have worked best. People say that its best to group students of similar abilities– I agree. I also require the teams to assign each member individual programming deliverables.

At the beginning of each creative project, the students are given time in class to explore their ideas and build a project page. They develop an “elevator pitch”, perform some market research, and in general build a mini-business plan and specification for the app they’re going to build. I require them to create a prototype early on and perform “user testing” with their friends and other students. This is all informal and fun, but it gives them an idea about how to take an idea from concept to reality. At some point, I’d like to develop some better lessons in this area and include readings such as Kawasaki’s The Art of the Start

Market/Studio for Publishing Apps

I created a USF Android Market for my Spring ’10 course and the students were required to submit their mid-term and final projects there. The market provides another level of motivation for students– they know that many people will visit it. The students post their projects, including a barcode that people can use to install their app, source code that can be uploaded into App Inventor for customization, and a distilled version of their “business plan”

The market is a Google Sites page with all students as “collaborators”  I provided a template for submission so that there would be some uniformity in the site, though this didn’t prove too successful. I think the potential for this is great:  I envision is a well-designed app studio that can be promoted throughout the university.

App Inventor and CS 0 Core Requirements
The requirements for a core-curriculum computer science course vary from school to school. I’ve integrated “Internet and Society” readings (e.g., The Big Switch), web design, and web 2.0 tools as part of my course. App Inventor itself is a great vehicle for teaching programming concepts, web services, GPS, web 2.0, and just about any other computing concept.
Check out my site at appinventor.org for more about teaching App Inventor.

App Inventor at Community Colleges

I just finished teaching a 5-day App Inventor workshop at MPICT, a conference for computer science and IT community college teachers in the Northwest US. App Inventor was a hit– many of the instructors plan to incorporate App Inventor in their courses.

What I learned is our community colleges are in good hands: what a fantastic group of teachers! I learned a great deal about teaching in general and teaching beginning CS courses specifically.

App Inventor at USF (the video)

Google featured yours truly and Chris Witte, one of the students in my original App Inventor class, in this video. The clip was played at the Google booth during the ACM Conference on Computer Science Education (SIGCSE 2010).