What is App Inventor?
Created by the Massachusetts Institute of Technology (MIT), App Inventor is a programming environment that takes the form of a website and allows its users to build any kind of functional app for smartphones as well as tablets. App Inventor uses block-based programming, which utilizes pieces of blocks instead of actual lines of words and symbols. It’s suitable for children and teenagers, even if they have little or no coding experience.
However, this does not mean it lacks depth of functionality in terms of creating complex apps. App Inventor is also designed to help reduce the time necessary to develop more complicated apps as compared to traditional programming environments.
History of App Inventor
App Inventor was first created by the App Inventor team, which was led by Hal Abelson, a professor of Electrical Engineering and Computer Science at MIT, and Mark Friedman, an employee at Google. It was made available upon request on July 12, 2010, and was released to the public on December 15, 2010.
The application was originally managed by Google, but they released the source code and terminated the server in the second half of 2011. With funding from Google, Hal Abelson and his colleagues Eric Klopfer and Mitchel Resnick led the App Inventor team to develop the MIT Center of Mobile Learning. They went on to launch MIT App Inventor later in March 2012.
On December 6, 2013, the team released MIT App Inventor 2, which replaced its original Java process Open Blocks with Blockly, which runs in the browser itself. The team also released the MIT AI2 Companion app, which is a mobile app that is used to test the apps users created with App Inventor on mobile devices.
App Inventor serves more than 6 million registered users. Although it started off focusing on Android apps and devices, the team is currently working on the iOS version for Apple devices.
The Blocks Screen (with some random blocks scattered in the Viewer)
The Design Screen (with a Label and a Button dragged into the Viewer)
App Inventor Examples from CodeCoach
Throughout the past few years, many of our students have made their very own mobile apps and games using App Inventor. One of our students, Sebastian, moved from Australia to Hong Kong, and so studying Chinese was hard for him. This inspired him to build an app called LearnLang that helps the user to remember words – the user first types in the pinyin, meaning, and Chinese character for each word in the brackets, and submit them to the app.
The app then tests the user on the submitted vocabulary to aid Chinese studying. We’ve also had students who liked Japanese Anime, and they built a game that involves matching anime characters to their names. Other games our students made include one where the user drags out pesticides of different colors to kill cockroaches of the same respective colors before they reach the bowl of rice at the top of the screen.
How to Learn App Inventor
Before using App Inventor, one should learn about some basic Computer Science concepts so they can understand how the blocks work. These concepts include events, conditionals, loops, variables, and so on. Once these basic concepts are understood, one can move on to the hands-on part by first getting used to the two different interfaces – the Design screen, which controls the looks of the app, along with the Blocks screen, which controls the functionality of the app.
Once the user is familiar with the different Design components such as buttons, labels, and arrangements, as well as the functions of some of the basic blocks, the user can then start building apps. As the apps made get more and more complex, the user can learn more and more complicated Computer Science concepts along the way, which would then facilitate the user to make even more impactful apps.
How is App Inventor Used?
App Inventor is open to the public free of charge, and anyone can use it to make his or her own mobile app or game. In the Design screen, the user can just drag the components he or she wants and add them to the interface of their app.
Once the design part is done, the user can then move on to the Blocks screen, where he or she can drag different blocks out and piece them together to form code, which then serve as instructions for the device to operate the app. By using an emulator or the MIT AI2 Companion app on Android phones, the user can test out the app real-time during each step of development or once a basic version is finished.
How App Inventor is Useful for Kids
Since App Inventor utilizes block-based programming (coding with blocks) instead of syntax-based programming (coding by purely typing), it serves as a great introductory tool for kids to learn to make their own apps as well as to learn fundamental concepts of Computer Science. It promotes better learning of these concepts because the kids have to actually make use of these concepts when building their apps with the blocks, and if the concept is not understood fully, it might easily lead to errors or bugs in their code or they would not be able to make the app work properly.
App Inventor gives kids a lot of insight as to how mobile apps or even computer programs generally work. The kids add different components to their design of the app and then make the components work with each other or interact with the user by coding them using blocks. The link between Design and Blocks will apply to other apps that kids come across in their daily lives. They will start observing, whether voluntarily or subconsciously, how other apps work and have a basic idea of how the app might work or what might the general code be like.
Finally, the application of Computer Science concepts to the act of joining the different blocks together to form complete instructions for the device or computer can help build the logical thinking of kids since snapping the right blocks together in the correct sequence requires a logical thought process. This is because logic plays a very important role in programming. For example, conditional blocks consist of “if…then…” statements in code, and there are event blocks which mean “when the user clicks on the sprite, something happens”.
There are many other benefits of App Inventor for kids, like how it makes the learning experience more exciting for them or how it allows them to apply mathematical knowledge into programming as well, and these are just a few among many.
How CodeCoach Teaches App Inventor
As mentioned above, App Inventor provides a really good learning experience for kids who are interested in programming and Computer Science. CodeCoach will further enhance this experience with a personalized App Inventor curriculum.
These courses consists of weekly lessons, which each include a lecture part, where some Computer Science concepts are addressed and explained, along with a hands-on session, where the student will apply the concepts he or she has learned this lesson (as well as past lessons) to build his or her own app.
The student will then get to test the app on their phones, and if it does not work, the instructor and the student will go through the student’s code once again to look for bugs to debug, until the app starts working. At the end of each term, if the student is ready, he or she will get a chance to work on an original app of their own, with the instructor guiding them through the process of brainstorming their ideas, planning the code, implementing it, and the testing and improving it.
Through our App Inventor courses, the students will be able to learn various Computer Science concepts from loops to data storage, as well as how to skillfully use App Inventor to create mobile apps of their own.
Get started with App Inventor today by contacting us for a free consultation call.