2.1. Unit Overview

This unit provides an introduction to the MIT App Inventor programming platform and your first programming project, the I Have a Dream app. You will be introduced to MIT App Inventor’s event-driven programming model and learn how mobile apps are examples of computing innovations. First you will work through a two-part guided tutorial that plays an excerpt of the famous I Have a Dream speech by civil rights activist Martin Luther King Jr. and then you will be presented with several exercises that challenge you to extend your understanding by solving problems on your own and by working in pairs. This is followed later in the unit by several creative enhancement projects where you will be invited to express your own ideas by developing your own mobile apps. You will also be introduced to several important CS Principles themes and topics. Two lessons focus on hardware and software concepts. You will get your first look at binary numbers learning how to count in binary and how to view number systems such as binary and decimal, as instances of the higher-order data abstraction of a positional number system.

Vocabulary Terms

Below are the vocabulary terms that you'll learn in this unit separated into categories. You will find a vocabulary section similar to this at the end of each lesson. Hover over the terms to review the definitions. You'll be able to practice your knowledge of the vocabulary with a quizlet at the end of the unit.

MIT App Inventor
event handler
event-driven programming
horizontal arrangement
UI components
user events
user interface
Computer Science Principles
abstracting
abstraction
algorithm
base
binary number system
binary sequence
bit
Boolean
byte
computing innovation
constant
control structure
data
data abstraction
decimal number system
HTTP
if/else
input
Internet
iteration
network
output
overflow error
procedural abstraction
program
program function
program purpose
protocol
pseudocode
repetition
selection
sequence
software
special purpose computer
TCP/IP
variable
WWW
WWW as a higher level of abstraction
General Computing
blacklist
browser
character
compilation
computer
cyberspace
data center
data network
flowchart
general purpose computer
hexadecimal number system
high level language
IDE
IETF
interpretation
logic gate
machine language
Moore’s Law
octal number system
open standard
positional number system
social network
Tim Berners-Lee
whitelist
Hardware
AND gate
chip
CPU
disk drive
flip flop
hardware
integrated circuit
motherboard
NOT gate
OR gate
processor
RAM
transistor

2.1.1. Self-Check

Q-1: Identify 1-2 vocabulary terms from the table above that you know and define them in your own words. If you don’t know any of these words yet, that’s ok! Instead, write 1-2 sentences on how you plan to practice learning the vocabulary for this unit.

Q-2: Identify 1-2 vocabulary terms from the table above that you have heard before but don’t know the definition for.

Q-3: Identify 1-2 vocabulary terms from the table above that you don’t know but want to learn in this unit.

2.1.2. Reflection: For Your Portfolio

Answer the following portfolio reflection questions as directed by your instructor. Questions are also available in this Google Doc - you will be prompted 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.