Google has helped address this gap by developing App Inventor for Android, a
programming environment that allows non-CS students to develop smart phone
applications and thereby explore fundamental computer science concepts. It uses a visual
programming language similar to Scratch1 or GameMaker2 that allows developers to
focus on the higher-level behavior of their programs rather than fiddle with semicolons
and parentheses. This makes it an excellent candidate for introducing students to concepts
in computer science. App Inventor for Android is free and publicly available, and
students without Android phones can use an integrated emulator. Figure 1 shows two
screenshots show design view, in which a user assembles visible and non-visible
components into screens, and blocks view, in which a user adds behavior through
blocks-style programming.