
3.1. Unit Overview¶
This unit extends your mobile programming toolkit to several new MIT App Inventor components and introduces a number of new programming concepts, including the concepts of variables, list and data abstraction. The main app in this unit, The Paint Pot app, a computational model of finger painting, focuses on MIT App Inventor's drawing and painting features and related topics from the CS Principles framework. The app is presented in three parts each of which is followed by a set of creative project exercises and challenges. This unit also introduces two other apps: Map Tour app, which provides a first introduction to lists, and Map Tour with TinyDB, which demonstrates how to incorporate external data and location into a mobile app. You will also further your understanding of the binary number system and be introduced to the idea of a bit as the fundamental unit of data. Through a number of hands-on and interactive activities, you will explore how bits are used to represent images and how redundant parity bits can be used to detect simple data transmission errors. These lessons are complemented by an Impact of CS reading and activity.

- Enduring Understanding CRD-2: Developers create and innovate using an iterative design process that is user-focused, that incorporates implementation/feedback cycles, and that leaves ample room for experimentation and risk-taking.

- Enduring Understanding DAT-1: The way a computer represents data internally is different from the way the data is interpreted and displayed for the user. Programs are used to translate data into a representation more easily understood by people.
- Enduring Understanding DAT-2: Programs can be used to process data, which allows users to discover information and create new knowledge.

- Enduring Understanding AAP-1: To find specific solutions to generalizable problems, programmers represent and organize data in multiple ways.
- Enduring Understanding AAP-2: The way statements are sequenced and combined in a program determines the computed result. Programs incorporate iteration and selection constructs to represent repetition and make decisions to handle varied input values.
- Enduring Understanding AAP-3: Programmers break down problems into smaller and more manageable pieces. By creating procedures and leveraging parameters, programmers generalize processes that can be reused. Procedures allow programmers to draw upon existing code that has already been tested, allowing them to write programs more quickly and with more confidence.
Technical Terms
Below is a table of all of the technical terms that you'll learn in this unit. 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 | ||
---|---|---|
assignment |
concatenation |
index |
list |
operator |
string |
substring |
variable |
Computer Science Principles | ||
---|---|---|
algorithm |
API |
bit |
byte |
computer bug |
cryptography |
data abstraction |
data type |
debugging |
expression |
lossless compression |
lossy compression |
pixel |
pseudocode |
run length encoding |
General Computing | ||
---|---|---|
ADT |
analog |
ASCII |
bitmap |
cloud computing |
digital signal processing |
digital |
download |
even parity |
GPS |
megabyte |
megapixel |
modeling |
OCR |
odd parity |
parity bit |
parity |
raster |
render |
sampling |
spam |
steganography |
upload |
3.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.
3.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.