Before you keep reading...
Runestone Academy can only continue if we get support from individuals like you. As a student you are well aware of the high cost of textbooks. Our mission is to provide great books to you for free, but we ask that you consider a $10 donation, more if you can or less if $10 is a burden.
Before you keep reading...
Making great stuff takes time and $$. If you appreciate the book you are reading now and want to keep quality materials free for other students please consider a donation to Runestone Academy. We ask that you consider a $10 donation, but if you can give more thats great, if $10 is too much for your budget we would be happy with whatever you can afford as a show of support.
I Have a Dream Tutorial¶
Time Estimate: 45 minutes
Introduction and Goals¶
I Have a Dream! is an educational "soundboard" app that plays the famous speech of Martin Luther King. This is a great example of a socially-useful app which provides multimedia education on American history and the civil rights movement.
(Teacher Tube version)
Learning Objectives: I will learn to
Language Objectives: I will be able to
To get started, open the I Have a Dream Starter project with the embedded tutorial in MIT App Inventor and login with your Google account into MIT App Inventor. Follow along with your teacher or the following video tutorial. You can also use the embedded tutorial in the template or the text-version of this tutorial or the short handout.
NOTE: The video below asks you to open a starter app, but if you use the link above the IHaveADreamStarter app will already be loaded and you can start following the video at time 1:12.
Our mobile devices and computers are built to interact with us. The mobile apps that you create will also communicate with users by getting input from the users and displaying output
to the users. Input is data sent to a computer for processing by a program, and output is the data sent back from the program to the device. Program output is usually based on a program’s input or prior state (e.g., internal values or variables). Input and output can come in many forms, such as tactile (for example touching a button or the device vibrating), audible (a sound), visual (an image), or text. Try listing all the forms of input and output in the I Have a Dream app!
Designing a good user interface (UI) for a program is very important! User Experience (UX) designers are very much in demand. Most programs and apps these days are event-driven programming, which means they display the UI and wait for a user event, for example for the user to touch a button as input. In event-driven programming, program statements are executed when triggered rather than through the sequential flow of control. Events are triggered when a key is pressed, a mouse is clicked, a program is started by another application, etc., and they supply input data to a program and trigger different blocks of code in the program that influence its behavior. A program needs to work for a variety of inputs and situations!
In this lesson, you learned how to:
Did you enjoy creating your own app? In this course, you will get the chance to build lots of apps like this with the help of tutorials and you'll even have the chance to work on your own original app idea! If you finish this lesson early and want to try creating another app now, check out these fun beginner tutorials from MIT App Inventor.
Here is a table of the technical terms we've introduced in this lesson. Hover over the terms to review the definitions.
integrated development environment (IDE)
user interface (UI)
Check Your Understanding
Complete the following self-check exercises. Please note that you should login if you want your answers saved and scored. In addition, some of these exercises will not work in Internet Explorer or Edge browsers. We recommend using Chrome.
Reflection: For Your Portfolio¶
Answer the following portfolio reflection questions as directed by your instructor. Questions are also available in this Google Doc where you may use File/Make a Copy to make your own editable copy.
If you are using a Google Sites portfolio, see the videos on the portfolio help page on how to embed your google document in your web page.