A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | # | Lesson Type | Length (mins) | AP CSP Learning Objectives | AP CSP Essential Knowledge | CSTA Standards | Title and Link | Description | MIT App Inventor Components, Procedures and Events | Programming Concepts | Lesson Components | Pedagogy | Culturally Responsive Teaching | Ts (Internal Only) | ||
2 | 1.01 | CSP | 45 | Welcome to Mobile CSP | An overview of the Mobile CSP Course, explains the CS Principles project and why the course uses mobile computing for its programming (coding) component. | N/A | Lecture Video | ATTENTION TEACHERS: The links in this document were updated on August 14, 2021 Read more about the transition to Runestone at www.mobile-csp.org/migration | ||||||||
3 | 1.02 | CSP | 45 | CRD-2.B, AAP-2.A, | CRD-2.B.1, CRD-2.B.2, AAP-2.A.1, AAP-2.A.2, AAP-2.A.4, | Mazes, Algorithms and Programming | Uses the Blockly Maze game to introduce the ideas of algorithms and programming and to provide a look at the type of visual, blocks-based programming used in the course. | N/A | Blocks programs; Algorithms | Video Activity Discussion | 1.2 | |||||
4 | 1.03 | Start up | 45 | Google Account and Portfolio Set Up | The course requires a Google email (e.g., gmail) account. A Google site is created and used to share student reflections and other course work. | N/A | Video Activity | |||||||||
5 | 1.04 | Start up | 45 | App Inventor Setup | App Inventor is a visual, blocks-based programming language for creating mobile Android apps. Use Google credentials to create an account on MIT App Inventor site and then use it to create a test app to test the mobile device. | N/A | Activity | |||||||||
6 | 1.05 | Start up | 45 | Impacts of CS: Blown to Bits | Takes a look at the free, online version of Blown to Bits. Readings from this book will be used throughout the course to focus on important issues that highlight the impact of computing on society. | N/A | Reading | |||||||||
7 | 1.06 | Start up | 45 | Successful Learning in Mobile CSP. | This lesson covers tips and suggestions for successful learning in Mobile CSP. This includes: believing your brain is a muscle, practiciing growth mindset, and strategies for being a successful learner. | N/A | Video | |||||||||
8 | 6 | 270 | ||||||||||||||
9 | 2.02 | App | 45 | CRD-2.B, CRD-2.C, CRD-2.D, | CRD-2.B.3, CRD-2.B.4, CRD-2.B.5, CRD-2.C.1, CRD-2.C.2, CRD-2.C.3, CRD-2.C.4, CRD-2.C.5, CRD-2.C.6, CRD-2.D.1, CRD-2.D.2, | 3A-AP-13 | I Have a Dream, Part I | Plays an MLK speech when a Button is clicked | Button, Sound, Label components. Button.Click event. | Event-driven programming, input, output | Tutorial Video Self Check Reflection | Inclusive Content | 1.2 | |||
10 | 2.03 | CSP | 45 | AAP-2.A, AAP-2.B, AAP-2.E, AAP-2.G, AAP-2.H, AAP-2.J, AAP-2.K, AAP-2.M.a, AAP-2.M.b, | AAP-2.A.3, AAP-2.B.1, AAP-2.B.6, AAP-2.E.1, AAP-2.G.1, AAP-2.H.1, AAP-2.J.1, AAP-2.K.1, AAP-2.M.1, AAP-2.M.2, AAP-2.M.3, | 3A-CS-02, 3A-IC-24 | Algorithm Basics | Covers basic algorithm concepts, including sequence, selection (if/else), repetition (loops). . A POGIL activity asks students to write a simple arithmetic algorithm in pseudocode. | Algorithms, programming | Activity Lecture Video POGIL Self Check Reflection | POGIL | 3.6 | ||||
11 | 2.04 | App | 45 | CRD-1.A, CRD-1.B, CRD-2.A, AAP-2.H.a, AAP-2.H.b, | CRD-1.A.1, CRD-1.A.2, CRD-1.A.3, CRD-1.A.4, CRD-1.A.5, CRD-1.A.6, CRD-1.B.2, CRD-2.A.1, CRD-2.A.2, AAP-2.H.1, AAP-2.H.2, AAP-2.H.3, | 3B-AP-10, 3B-AP-22 | I Have a Dream, Part II | Extends the app to include two buttons, the second of which plays a Malcolm X speech. Introduces the if/else statement to toggle between playing and pausing the speech when a button is clicked. Includes an Explore Curricular Activity | Image, Horizontal Arrangement components. Button.Click event. | Descriptive names, Toggle button concept: if/else algorithm. | Tutorial Video Self Check Reflection | Inclusive Content | 1.1 3.6 | |||
12 | 2.05 | CSP | 45 | DAT-1.A, CSN-1.A | DAT-1.A.3, DAT-1.A.4, CSN-1.A.1, | 3A-AP-15, 3B-AP-10, 3B-AP-11, 3B-AP-13, 3A-CS-01, 3A-CS-02, 3B-CS-01 , 3B-CS-02 | Mobile Devices and Apps: Hardware and Software | Introduces computer terminology, such as hardware, software, operating system, programming languages. | N/A | Lecture Video Self Check Reflection | None | |||||
13 | 2.06 | CSP | 45 | CRD-1.B, CRD-1.C, CSN-1.D, IOC-1.A, IOC-1.B, IOC-2.A, | CRD-1.B.1, CRD-1.C.1, CSN-1.D.1, CSN-1.D.2, CSN-1.D.3, IOC-1.A.1, IOC-1.A.2, IOC-1.A.3, IOC-1.A.4, IOC-1.B.1, IOC-1.B.2, IOC-1.B.3, IOC-1.B.4, IOC-1.B.5, IOC-1.B.6, IOC-2.A.11, | 3A-AP-13, 3A-AP-16, 3B-AP-10, 3B-AP-13, 3B-AP-23 | The Internet and the Cloud | Introduces some basic concepts about the Internet and the concept of cloud computing. Includes an Explore Curricular Activity | N/A | Reading Discussion POGIL Self Check Reflection | POGIL | 1.1 4.1 5.1 | ||||
14 | 2.07 | App | 90 | CRD-1.A, CRD-1.B, | CRD-1.A.1, CRD-1.A.2, CRD-1.A.3, CRD-1.A.4, CRD-1.B.2, | 3A-AP-15, 3A-AP-16, 3A-AP-19, 3A-AP-21, 3A-AP-22, 3B-AP-11, 3B-AP-17, 3B-AP-20, 3B-AP-22, 3B-AP-23 | I Have a Dream, Projects | Projects add Text-to-speech and Accelerometer components. Solution requires the use of an if/else algorithm | Custom App Icon. Accelerometer Sensor, Text To Speech components. Accelerometer Shaking event. | Pseudocode, if/else algorithm. | Projects Self Check Reflection | Inclusive Content Student Choice | 1.1 3.6 | |||
15 | 2.08 | CSP | 45 | DAT-1.A | DAT-1.A.1, DAT-1.A.5, | 3A-CS-01, 3A-CS-02, 3A-DA-09 | What is Abstraction? | This lecture provides a first look at the concept of abstraction with examples drawn from everyday experience. Provides examples of data abstraction and procedural abstraction. | N/A | Abstraction, data abstraction, procedural abstraction | Lecture Video Self Check Reflection | None | ||||
16 | 2.09 | CSP | 90 | CRD-2.I, DAT-1.A, DAT-1.B, DAT-1.C.a, DAT-1.C.b, | CRD-2.I.4. DAT-1.A.6, DAT-1.B.1, DAT-1.B.2, DAT-1.B.3, DAT-1.C.1, DAT-1.C.2, DAT-1.C.3, DAT-1.C.4, DAT-1.C.5, | 3A-CS-01, 3A-CS-02, 3B-CS-01 , 3B-CS-02, 3A-DA-09 | Binary Numbers | A first look at the binary number system, focusing on how to count, how to convert binary to decimal and decimal to binary. It also introduces hexadecimal (base 16) numbers and the general concept of a positional number system. Includes several interactive widgets for practicing with binary and hex. | N/A | Lecture Videos Activities Reflection | 2.1 | |||||
17 | 2.10 | CSP | 45 | AAP-2.F.a, AAP-2.F.b, | AAP-2.F.1, AAP-2.F.2, AAP-2.F.3, AAP-2.F.4, AAP-2.F.5, | 3A-CS-01, 3A-CS-02, 3B-CS-02 | Hardware Abstractions: Logic Gates | A second look at abstraction, this time focusing on low level hardware such as logic gates. A POGIL activity uses the Logicly app to study logic gates. | N/A | Lecture Video POGIL Activity: Logic.ly Self Check Reflection | POGIL | None | ||||
18 | 2.11 | Impacts | 90 | DAT-1.A, | DAT-1.A.2, | 3A-CS-01, 3A-CS-02, 3B-IC-25 | Impacts of CS: The Digital Explosion | Read and discuss Chapter 1 of Blown to Bits, which makes the point that today “everything is digital.” Our music, our images and videos, our books are software are all represented as binary data. | N/A | Reading Discussion Reflection | 2.1 | |||||
19 | 10 | 585 | ||||||||||||||
20 | 3.02 | App | 90 | AAP-1.A, AAP-1.B, AAP-2.B, AAP-2.C, | AAP-1.A.1, AAP-1.A.2, AAP-1.B.1, AAP-1.B.2, AAP-1.B.3, AAP-2.B.2, AAP-2.B.3, AAP-2.B.4, AAP-2.B.5, AAP-2.C.1, AAP-2.C.3, | 3A-AP-13, 3A-AP-17, 3A-AP-18, 3B-AP-10, 3B-AP-11, 3A-CS-01, 3A-IC-26 | Paint Pot Tutorial | MIT App Inventor’s version of the classic finger painting app. Introduces Canvas touched and dragged events. Introduces global variables for storing and incrementing the radius of the dots drawn. | Button, Canvas, Horizontal Arrangement components. Basic Graphics drawing procedures. Button.Click, Canvas.Touched Canvas.Dragged events. | Abstraction: Variables, Incrementing a variable, Concatenating text. | Tutorial Video Self Check Reflection | 3.1 | ||||
21 | 3.03 | CSP | 90 | DAT-1.A, DAT-1.D, | DAT-1.A.2, DAT-1.A.7, DAT-1.A.8, DAT-1.A.9, DAT-1.A.10, DAT-1.D.1, DAT-1.D.2, DAT-1.D.3, DAT-1.D.4, DAT-1.D.5, DAT-1.D.6, DAT-1.D.7, DAT-1.D.8, | 3A-AP-16, 3A-AP-18, 3A-AP-22, 3B-AP-11, 3B-AP-12, 3B-AP-14, 3A-CS-01, 3A-CS-02, 3A-DA-09, 3A-DA-10 | Representing Images | Uses a CS Unplugged lesson to show how bits (0s and 1s) are used to represent images. Students practice applying the image compression technique known as run-length encoding (RLE). Also, provides a brief introduction to ASCII. | N/A | Lecture Video CS Unplugged Self Check Reflection | 2.2 | |||||
22 | 3.04 | App | 90 | CRD-2.J, AAP-2.E.a, AAP-2.E.a, AAP-2.H, AAP-2.I.a, AAP-2.I.b, AAP-2.L, | CRD-2.J.1, CRD-2.J.2, CRD-2.J.3, AAP-2.E.2, AAP-2.H.2, AAP-2.H.3, AAP-2.I.1, AAP-2.I.2, AAP-2.L.3, AAP-2.L.4, | 3A-AP-13, 3A-AP-15, 3A-AP-16, 3A-AP-17, 3A-AP-18, 3A-AP-19, 3A-AP-21, 3A-AP-22, 3B-AP-10, 3B-AP-11, 3B-AP-14, 3B-AP-20, 3B-AP-21, 3B-AP-22, 3B-AP-23, 3A-IC-27, 3B-IC-25 | Paint Pot Projects | Basic refinements plus the use of Camera component to add a real-time image as the Canvas background. Programming refinements to add decrement button plus using and if/else algorithm to prevent the radius from becoming negative. | Button Canvas Horizontal Arrangement Camera components. Camera TakePicture procedure. Button.Click Canvas.Touched Canvas.Dragged events. | Refinements to existing app Decrementing a variable, use an if/else algorithm to prevent a negative radius. -Test cases -Complex if/else blocks | Projects Self Check Reflection | Student Choice | 3.5 | |||
23 | 3.05 | App | 45 | CRD-2.G, CRD-2.H, CRD-2.I, AAP-3.B, AAP-3.C, | CRD-2.G.1, CRD-2.G.2, CRD-2.G.3, CRD-2.G.4, CRD-2.G.5, CRD-2.H.1, CRD-2.H.2, CRD-2.I.5, AAP-3.B.1, AAP-3.B.2, AAP-3.B.3, AAP-3.B.4, AAP-3.B.6, AAP-3.B.7, AAP-3.C.1, | 3A-AP-13, 3A-AP-15, 3A-AP-16, 3A-AP-17, 3A-AP-18, 3A-AP-21, 3A-AP-22, 3A-AP-23, 3B-AP-11, 3B-AP-14, 3B-AP-23, 3A-CS-01, 3A-CS-02, 3A-CS-03, 3A-IC-27 | Paint Pot Refactoring & Procedural Abstraction | Introduces the concepts of refactoring and procedural abstraction. A procedure is used to encapsulate an algorithm that is used 3 times in the app, thereby reducing complexity. Also illustrates how to add comments to MIT App Inventor blocks. | Procedure, call procedure | Procedural abstraction to reduce redundant code, Comments to document code. | Video Projects Self Check Reflection | 1.4 | ||||
24 | 3.06 | CSP | 45 | DAT-1.A, DAT-1.B, | DAT-1.A.2, DAT-1.A.3, DAT-1.A.6, DAT-1.B.1, | 3A-CS-01, 3A-CS-02, 3A-CS-03, 3B-CS-01 | Error Detection | Uses a CS Unplugged lesson (the card trick) to introduce the concept of using redundant bits in data to help detect errors. A POGIL activity asks students to work in teams to figure out how the trick works. | N/A | Video demo Discussion POGIL Self Check Reflection | None | |||||
25 | 3.07 | CSP | 45 | DAT-1.A, DAT-1.B, | DAT-1.A.2, DAT-1.A.3, DAT-1.A.6, DAT-1.B.1, | 3A-CS-01, 3A-CS-02, 3A-CS-03, 3B-CS-01 | Parity Error Checking (optional) | A follow-up lesson to 3.8 that introduces the concept of parity error checking, with exercises on even- and odd-parity. | N/A | Reading Self Check Reflection | None | |||||
26 | 3.08 | App | 45 | AAP-1.A, AAP-1.C, AAP-1.D.a, AAP-1.D.b, AAP-2.D, AAP-2.N, AAP-3.D, | AAP-1.A.3, AAP-1.A.4, AAP-1.C.1, AAP-1.C.2, AAP-1.C.3, AAP-1.C.4, AAP-1.D.1, AAP-1.D.2, AAP-1.D.3, AAP-1.D.4, AAP-1.D.5, AAP-1.D.6, AAP-1.D.7, AAP-1.D.8, AAP-2.D.1, AAP-2.D.2, AAP-2.N.1, AAP-3.D.4, AAP-3.D.5, | 3A-AP-14, 3A-AP-16, 3A-AP-21, 3B-AP-14, 3B-AP-18, 3B-AP-20, 3A-CS-01, 3A-CS-02, 3B-CS-01, 3A-IC-24, 3A-IC-29 | Map Tour tutorial | Introduces lists in a map tour of destinations. | Map, ListPicker, Web Viewer components. Make List, Select item from List. ListPicker before and after picking events. Web Viewer.goto URL | Lists, Indexing a list, selecting an item from a list, API to wikipedia; strings and string concatenation | Tutorial Video Projects Self Check Reflection | Student Choice | 3.2 3.4 | |||
27 | 3.09 | App | 45 | DAT-2.D, AAP-1.C, AAP-1.D.a, AAP-1.D.b, | DAT-2.D.1, DAT-2.D.2, AAP-1.C.1, AAP-1.C.2, AAP-1.C.3, AAP-1.D.1, AAP-1.D.2, AAP-1.D.3, AAP-1.D.4, AAP-1.D.5, AAP-1.D.6, AAP-1.D.7, AAP-1.D.8, | 3A-AP-14, 3A-AP-16, 3A-AP-21, 3B-AP-12, 3B-AP-14, 3B-AP-18, 3B-AP-20, 3B-AP-22, 3A-CS-01, 3A-CS-02, 3B-CS-01, 3A-DA-09, 3A-DA-10, 3A-DA-12, 3B-DA-06, 3A-IC-24, 3A-IC-29, 3A-NI-07 | Map Tour With TinyDB | Introduces adding and removing items to and from lists and persistent storage with TinyDB. | TinyDB, Notifier, List remove, Map.Create marker | databases | Lecture Tutorial Projects Self Check Reflection | 3.2 3.10 | ||||
28 | 3.10 | Impacts | 90 | DAT-1.D, DAT-2.B, | DAT-1.D.1, DAT-1.D.4, DAT-1.D.5, DAT-1.D.7, DAT-1.D.8, DAT-2.B.1, DAT-2.B.3, DAT-2.B.4, DAT-2.B.5, | 3A-CS-01, 3A-CS-02, 3A-DA-09, 3A-IC-24, 3A-IC-28, 3A-IC-29, 3A-IC-30, 3B-IC-25, 3B-IC-27, 3A-NI-06, 3A-NI-07, 3A-NI-08 | Impacts of CS: Electronic Documents | Read and discuss part of Chapter 3 of Blown to Bits, which focuses on modeling as it applies to image representation. Also introduces the concept of steganography -- i.e., hiding information in documents. An image editor widget is used to let the student hide their initials in a Bitmap, giving practice with binary sequences and ASCII codes. | N/A | ASCII, binary representation of documents, steganography. | Reading Discussion Reflection | 2.3 | ||||
29 | 9 | 585 | ||||||||||||||
30 | 4.02 | App | 45 | AAP-3.A.a, AAP-3.B, AAP-3.C, | AAP-3.A.1, AAP-3.A.2, AAP-3.B.1, AAP-3.B.4, AAP-3.B.6, AAP-3.B.7, AAP-3.C.1, | 3A-AP-15, 3A-AP-17, 3A-AP-18, 3B-AP-10, 3B-AP-11, 3B-AP-12, 3B-AP-14, 3A-CS-01, 3A-CS-02 | LightsOff Tutorial | A variation of the classic whack-a-mole game. Introduces animation and first use of a procedure definition. A Clock.Timer event is used to move the sprite to random locations on the Canvas. | Canvas, Image Sprite, Button, Label, Clock, Sound components. Clock.Timer to move the sprite, Screen initialize, Sprite touched events. | Procedure definition, Animation | Tutorial Video Self Check Reflection | 3.12 3.13 | ||||
31 | 4.03 | App | 45 | CRD-2.E, CRD-2.F, | CRD-2.E.1, CRD-2.E.2, CRD-2.E.3, CRD-2.E.4, CRD-2.F.1, CRD-2.F.2, CRD-2.F.3, CRD-2.F.4, CRD-2.F.5, CRD-2.F.6, CRD-2.F.7, | 3A-AP-13, 3A-AP-15, 3A-AP-16, 3A-AP-17, 3A-AP-18, 3A-AP-19, 3A-AP-21, 3A-AP-22, 3B-AP-10, 3B-AP-11, 3B-AP-14, 3B-AP-20, 3B-AP-21, 3B-AP-22, 3B-AP-23, 3A-CS-01, 3A-CS-02 | LightsOff Projects | Projects include adding a score keeping feature and increasing the sprite’s speed as the score increases. | Text-to-speech component. Same events as in tutorial. | Using if/else for score keeping and controlling the sprite’s speed. Design Thinking and iterative software development | Projects Self Check Reflection | Pair Programming | Student Choice Think-Pair-Share | None | ||
32 | 4.04 | App | 90 | AAP-2.K.a, AAP-2.K.b, AAP-3.D, | AAP-2.K.2, AAP-2.K.3, AAP-2.K.4, AAP-2.K.5, AAP-3.D.1, AAP-3.D.2, AAP-3.D.3, | 3A-AP-13, 3A-AP-15, 3A-AP-17, 3A-AP-18, 3B-AP-10, 3B-AP-11, 3B-AP-13, 3B-AP-14, 3B-AP-22, 3B-AP-23, 3B-AP-24, 3A-CS-01, 3A-CS-02 | Logo Part 1 | The template provides a Logo-like drawing platform restricted to very primitive forward() and right turn() commands -- i.e., commands without parameters (Parameters are introduced in Logo 2 in Unit 5) . Introduces a counting loop and simple procedures to simplify expression of drawing algorithms. Problems include various sized squares and a face. The commands are too weak to draw a triangle, a shortcoming remedied in Logo 2 in Unit 5. | If/Else For Each Loop Procedures for drawing shapes | Algorithms, pseudocode, procedures without parameters, loops. | Lecture Tutorial Projects Self Check Reflection | Student Choice | 3.8 3.14 | |||
33 | 4.05 | App | 45 | AAP-2.M, AAP-3.E.a, AAP-3.E.b, | AAP-2.M.2, AAP-3.E.1, AAP-3.E.2, | 3A-AP-13, 3A-AP-15, 3A-AP-18, 3B-AP-10, 3B-AP-11, 3B-AP-14, 3B-AP-15, 3B-AP-21, 3B-AP-23, 3A-CS-01, 3A-DA-09, 3A-DA-11, 3A-DA-12, 3B-DA-06, 3B-DA-07 | Coin Flip Simulation Tutorial | A modeling app to simulate a coin flip. Uses a global variable to represent the coin, App Inventor’s random integer function to generate a 1 or 2, and an if/else algorithm to display heads or tails. | If/Else For Each Loop. | Random variables and pseudorandomness, If/Else, and Loop algorithms. | Experiment Tutorial Projects Self Check Reflection | Student Choice | 3.9 3.15 | |||
34 | 4.06 | CSP | 45 | AAP-3.F.a, | AAP-3.F.3, AAP-3.F.4, AAP-3.F.5, AAP-3.F.6, AAP-3.F.7, | 3B-AP-10, 3B-AP-11, 3B-AP-21, 3B-AP-22, 3B-AP-23, 3A-CS-01, 3A-DA-09, 3A-DA-11, 3A-DA-12, 3B-DA-05, 3B-DA-06, 3B-DA-07, 3A-IC-24, 3A-IC-25, 3A-IC-26, 3B-IC-25 | Coin Flip Experiment (optional) | This is a lesson about modeling. In the last lesson we wrote the Coin Flip app, which simulates flipping a coin. In this lesson we do an experiment to test the hypothesis that App Inventor’s random number generator is a good model of random behavior. POGIL activity is used to conduct the experiment, where an app is used to simulate 100s of coin flips. Students tabulate results and reflect on whether they support the hypothesis. | POGIL Experiment. Reflection. | POGIL | Think-Pair-Share | 3.16 | ||||
35 | 4.07 | CSP | 45 | AAP-2.C, AAP-2.M, | AAP-2.C.2, AAP-2.C.3, AAP-2.C.4, AAP-2.M.2, | 3A-AP-15, 3B-AP-10, 3B-AP-11, 3B-AP-12, 3B-AP-23, 3A-CS-01, 3A-DA-09, 3A-DA-12, 3B-DA-07, 3A-IC-24, 3A-IC-25, 3A-IC-26, 3B-IC-25 | Pseudo Random Numbers | Explains how computers use an algorithm to generate number sequences that seem random. Introduces the concept of modular arithmetic or clock arithmetic. Involves some math (long division, modular arithmetic, evaluating an equation. | Lecture Video Self Check Reflection | 3.3 3.9 | ||||||
36 | 4.08 | CSP | 45 | AAP-3.F.a, AAP-3.F.b, | AAP-3.F.1, AAP-3.F.2, AAP-3.F.3, AAP-3.F.4, AAP-3.F.5, AAP-3.F.6, AAP-3.F.7, | 3B-AP-15, 3A-CS-01, 3A-CS-02, 3A-DA-09, 3A-DA-11, 3A-DA-12, 3B-DA-05, 3B-DA-06, 3B-DA-07 | Real World Models | Examples of modeling and simulation using real world examples such as climate models, models of the solar system, casino slot machines. Incorporates a POGIL activity to explore an interactive predator/prey model. | N/A | Lecture Video POGIL Self Check Reflection | POGIL | 3.16 | ||||
37 | 4.09 | CSP | 45 | CRD-2.I.a, | CRD-2.I.4, | 3B-AP-12, 3B-AP-19, 3B-AP-24, 3A-CS-01, 3A-CS-02, 3B-CS-01, 3B-CS-02, 3A-DA-09 | Abstraction: Inside the CPU (optional) | Uses a web app to simulate a 4-bit computer, with 16 bytes of RAM, a CPU with ACCumulator and other registers. Illustrates progress through higher levels of abstraction as different generations of the simulation focus on the fetch-execute cycle, machine language programming, assembly language programming. | N/A | Lecture Video Activity Self Check Reflection | None | |||||
38 | 4.10 | Impacts | 135 | IOC-1.B, IOC-1.F, IOC-2.A, IOC-2.B, | IOC-1.B.1, IOC-1.F.11, IOC-2.A.1, IOC-2.A.3, IOC-2.A.4, IOC-2.A.5, IOC-2.A.7, IOC-2.A.8, IOC-2.A.9, IOC-2.A.10, IOC-2.A.12, IOC-2.A.13, IOC-2.A.14, IOC-2.A.15, IOC-2.B.11, | 3B-AP-18, 3A-IC-27, 3A-IC-28, 3A-IC-29, 3A-IC-30, 3B-IC-25, 3B-IC-26, 3B-IC-27, 3B-IC-28, 3A-NI-05, 3A-NI-06, 3A-NI-07, 3A-NI-08, 3B-NI-04 | Impacts of CS: Privacy | Learn how data is used in computing innovations. In addition, read and discuss Chapter 2 of Blown to Bits, which focuses on the issue of how our privacy is affected by the digital explosion. Includes an Explore Curricular Activity | N/A | Reading Discussion Reflection | 5.6 | |||||
39 | 9 | 540 | ||||||||||||||
40 | Create 1 | CSP App | 360 | 3A-AP-13, 3A-AP-14, 3A-AP-15, 3A-AP-16, 3A-AP-17, 3A-AP-18, 3A-AP-19, 3A-AP-22, 3A-AP-23, 3B-AP-10, 3B-AP-11, 3B-AP-12, 3B-AP-14, 3B-AP-17, 3B-AP-20, 3B-AP-21, 3B-AP-23, 3A-IC-27 | CREATE PT 1 | A practice programming performance task to prepare for the final one submitted to the College Board. The CREATE task is one of two required performance tasks by the College Board - a programming one (CREATE) and a written one (EXPLORE).In this programming performance task, students work in pairs to collaboratively develop a mobile app. This includes going through the entire development process of designing, implementing, and debugging a mobile app using Design Thinking iterative software development. Students then document their work by creating a portfolio write-up and share their work through an oral presentation to the class or a recorded video presentation. | Hands on project | |||||||||
41 | Review | CSP App | 90 | Mobile CSP Exam Review | While there is no formal Mobile CSP review, teachers should encourage students to review their portfolios and retry the self-check and Quizly exercises after each lesson. | Self-Check | ||||||||||
42 | Exam 1 | CSP App | 45 | Mobile CSP Exam 1 (midterm) | Mobile CSP Exam 1 is the midterm exam for the course. This exam covers Units 1-4. | Assessment | ||||||||||
43 | 5.02 | App | 45 | AAP-2.L, AAP-2.M, AAP-3.A.a, AAP-3.A.b, AAP-3.B, AAP-3.C, | AAP-2.L.2, AAP-2.M.2, AAP-3.A.1, AAP-3.A.2, AAP-3.A.3, AAP-3.A.4, AAP-3.A.5, AAP-3.A.6, AAP-3.A.7, AAP-3.A.8, AAP-3.A.9, AAP-3.B.5, AAP-3.C.1, AAP-3.C.2, | 3A-AP-13, 3A-AP-15, 3A-AP-17, 3A-AP-18, 3A-AP-21, 3B-AP-10, 3B-AP-11, 3B-AP-14, 3B-AP-21, 3B-AP-22, 3B-AP-23, 3B-AP-24, 3A-CS-01 | Logo 2 | This version of Logo provides procedures with parameters. Problems include drawing polygons using procedures with one or more parameters. The lesson focuses on how procedures with parameters provide a more powerful abstraction for the forward(N) and turn(A) commands. | No components or events are programmed. | Algorithms, procedures, parameters, loops. | Lecture Tutorial Projects Self Check Reflection | Student Choice | 3.9 3.12 3.13 | |||
44 | 5.03 | CSP | 45 | AAP-2.L, AAP-2.O, AAP-2.P.a, AAP-2.P.b, | AAP-2.L.1, AAP-2.L.5, AAP-2.O.5, AAP-2.P.1, AAP-2.P.2, AAP-2.P.3, | 3A-AP-13, 3A-AP-14, 3A-AP-15, 3A-AP-17, 3B-AP-10, 3B-AP-11, 3B-AP-13, 3B-AP-14, 3B-AP-15, 3B-AP-19, 3B-AP-21, 3B-AP-23, 3B-AP-24 | Search Algorithms | An introduction to search algorithms, including sequential (linear) search and binary search. Algorithms are explained through various interactive guessing games. A POGIL activity shows students the binary guessing game and asks them to figure out the algorithm and express it in pseudocode. | N/A | Reading POGIL Interactive guessing games Self Check Reflection | POGIL | Think-Pair-Share | 3.11 | |||
45 | 5.04 | CSP | 45 | AAP-2.A, AAP-2.G, AAP-2.J, | AAP-2.A.2, AAP-2.A.4, AAP-2.G.1, AAP-2.J.1, | 3A-AP-13, 3A-AP-14, 3A-AP-15, 3A-AP-17, 3B-AP-10, 3B-AP-11, 3B-AP-13, 3B-AP-14, 3B-AP-15, 3B-AP-19, 3B-AP-21, 3B-AP-23, 3B-AP-24 | Sorting Algorithms | An introduction to the problem of sorting with examples of bubble sort, merge sort, and bucket (radix) sort. The algorithms are demonstrated using card shuffling. | N/A | Video demonstrations Self Check Reflection | ||||||
46 | 5.05 | App | 45 | DAT-2.E, AAP-2.D, AAP-2.N.a, | DAT-2.E.1, AAP-2.D.1, AAP-2.N.1, | 3A-AP-13, 3A-AP-14, 3A-AP-15, 3A-AP-16, 3A-AP-17, 3A-AP-18, 3A-AP-20, 3B-AP-10, 3B-AP-11, 3B-AP-12, 3B-AP-14, 3B-AP-16, 3B-AP-21, 3B-AP-23, 3A-CS-01, 3A-CS-02, 3A-CS-03, 3B-CS-02, 3A-DA-10, 3A-IC-26 | Quiz App | A basic quiz app that uses parallel lists and indexing to keep track of questions and answers. | Button, Image, Textbox, Label, Horizontal Arrangement components. Screen.Initialize, Button.Click events. | Lists, indexing, global index variable. | Tutorial Projects Self Check Reflection | Inclusive Content Student Choice | ||||
47 | 5.06 | App | 90 | AAP-2.N.a, AAP-2.N.b, AAP-2.O.a, AAP-2.O.b, | AAP-2.N.1, AAP-2.N.2, AAP-2.O.1, AAP-2.O.2, AAP-2.O.3, AAP-2.O.4, | 3A-AP-13, 3A-AP-14, 3A-AP-15, 3A-AP-16, 3A-AP-17, 3A-AP-18, 3A-AP-19, 3A-AP-20, 3A-AP-21, 3B-AP-10, 3B-AP-11, 3B-AP-12, 3B-AP-13, 3B-AP-14, 3B-AP-16, 3B-AP-17, 3B-AP-20, 3B-AP-21, 3B-AP-22, 3B-AP-23, 3A-CS-01, 3A-CS-02, 3A-CS-03, 3B-CS-02, 3A-DA-10, 3A-IC-26 | Quiz App Projects: Loops with Lists | Extensions, including keeping score and a linear search using a loop to search through items in the lists. | Loops through lists | List, indexing, loops with lists, Using variables to to store and update score. | Lecture/Video Tutorial Projects Self Check Reflection | Inclusive Content Student Choice | 3.10 | |||
48 | 5.07 | CSP | 90 | AAP-2.B, AAP-4.A, AAP-4.B, | AAP-2.B.7, AAP-4.A.1, AAP-4.A.2, AAP-4.A.3, AAP-4.A.4, AAP-4.A.5, AAP-4.A.6, AAP-4.A.7, AAP-4.A.8, AAP-4.A.9, AAP-4.B.1, AAP-4.B.2, AAP-4.B.3, | 3B-AP-11, 3B-AP-21 | Analyzing Algorithms | Apps are used to experimentally analyze sorting and searching algorithms. By timing the algorithms on different sized lists and graphing the results, students can identify which algorithm is which just by the shape of its growth curve as logarithmic (log_2 N), linear, or quadratic (N^2). | N/A | Experiment: Use apps to time sorting and searching algorithms Record, graph, and analyze results Reflection | 3.17 | |||||
49 | 5.08 | CSP | 45 | AAP-4.A.a, AAP-4.A.b, AAP-4.B, | AAP-4.A.2, AAP-4.A.7, AAP-4.A.8, AAP-4.A.9, AAP-4.B.1, AAP-4.B.2, AAP-4.B.3, | 3B-AP-11, 3A-NI-06, 3A-NI-07, 3A-NI-08 | Limits of Algorithms | A video lecture introduces the concepts of intractability and undecidability and heuristics -- i.e., there are problems for which the best algorithms are incapable of solving the problem in a reasonable amount of time and there are problems which cannot be solved by means of an algorithm. POGIL activities focus on password protection (using intractable problem to protect a password) and Traveling Salesman Problem (using the nearest neighbor heuristic.) | N/A | Lecture Video POGIL Self Check Reflection | POGIL | 3.17 3.18 | ||||
50 | 5.09 | CSP | 45 | CSN-2.A.a, CSN-2.A.b, CSN-2.B, | CSN-2.A.1, CSN-2.A.2, CSN-2.A.3, CSN-2.A.4, CSN-2.A.5, CSN-2.A.6, CSN-2.A.7, CSN-2.B.1, CSN-2.B.2, CSN-2.B.3, CSN-2.B.4, CSN-2.B.5, | 3B-AP-11, 3A-DA-10, 3B-DA-06, 3A-IC-24, 3A-IC-27, 3A-IC-29, 3A-IC-30, 3B-IC-26, 3B-IC-27, 3A-NI-04, 3A-NI-05, 3A-NI-06, 3A-NI-07, 3A-NI-08 | Parallel Computing | This lesson focuses on parallel and distributed computing. | N/A | Lecture POGIL Video Self Check Reflection | POGIL | 4.3 | ||||
51 | 5.10 | Impacts | 135 | DAT-2.D, IOC-2.A, | DAT-2.D.3, IOC-2.A.2, IOC-2.A.6, | Impacts of CS: Web Searches | Read and discuss Chapter 4 of Blown to Bits, which focuses on web searching and how searching is done. | N/A | Reading Discussion Reflection | |||||||
52 | 9 | 585 | ||||||||||||||
53 | 6.02 | CSP | 45 | CSN-1.A, CSN-1.B, IOC-1.C, IOC-1.F, | CSN-1.A.2, CSN-1.A.3, CSN-1.A.4, CSN-1.A.7, CSN-1.A.8, CSN-1.B.1, CSN-1.B.2, CSN-1.B.3, CSN-1.B.4, IOC-1.C.1, IOC-1.C.2, IOC-1.C.3, IOC-1.C.4, IOC-1.C.5, IOC-1.F.10, | 3A-CS-02, 3A-IC-24, 3A-IC-26, 3B-IC-26, 3A-NI-04, 3B-NI-03 | Computer Networking | A 3-part lecture that describes what the Internet is, how it differs from the World Wide Web, and how its performance is measured. Uses various online tools to measure latency and bandwidth. Introduces the digital divide. | N/A | Lecture Videos Activities Self Check Reflection | 5.2 | |||||
54 | 6.03 | CSP | 90 | CSN-1.A, CSN-1.B, CSN-1.C, CSN-1.E.a, CSN-1.E.a, | CSN-1.A.5, CSN-1.A.6, CSN-1.B.5, CSN-1.B.6, CSN-1.B.7, CSN-1.C.1, CSN-1.C.2, CSN-1.C.3, CSN-1.C.4, CSN-1.E.1, CSN-1.E.2, CSN-1.E.3, CSN-1.E.4, CSN-1.E.5, CSN-1.E.6, CSN-1.E.7, | 3A-CS-02, 3A-IC-24, 3A-IC-26, 3A-IC-29, 3B-IC-26, 3A-NI-04, 3A-NI-07, 3B-NI-03 | Network Architecture | This lesson goes more deeply into the infrastructure and mechanics of the Internet. It explains packet switching, TCP/IP and the protocol hierarchy. POGIL activities | N/A | Lecture Videos POGIL Activities Self Check Reflection | POGIL | 4.1 4.2 | ||||
55 | 6.04 | CSP | 45 | CSN-1.C, | CSN-1.C.1, CSN-1.C.2, CSN-1.C.3, CSN-1.C-4, | 3B-AP-19, 3A-CS-01, 3A-CS-02, 3B-CS-01 , 3A-IC-26, 3A-NI-04 | IP Addresses and Domain Names | In this lesson students use a DNS simulator app to send messages to other clients on a router. They learn about DNS, IP addresses, and packets. POGIL activities | N/A | Lecture Videos POGIL Activities Self Check Reflection | POGIL | |||||
56 | 6.05 | App | 90 | IOC-2.B, | IOC-2.B.5, | 3A-AP-13, 3A-AP-15, 3A-AP-16, 3A-AP-17, 3A-AP-18, 3B-AP-10, 3B-AP-11, 3B-AP-13, 3B-AP-14, 3B-AP-21, 3A-CS-01, 3A-CS-02 | Caesar Cipher App | This lesson provides an opportunity to use more complex algorithms and introduces functions and local variables. Students learn about and practice encryption and decryption with the Caesar Cipher. | Functions, Local Variables | Functions, Variables | Lecture Videos Activities Self Check Reflection | |||||
57 | 6.06 | CSP | 90 | CSN-1.B, IOC-2.B, | CSN-1.B.1, IOC-2.B.5, | 3A-NI-06, 3A-NI-07, 3A-NI-08 | Cryptography Basics | Introduction to cryptography (secret writing). This lesson focuses on classical cryptography, including Caesar cipher, substitution cipher, transposition cipher, Vigenere cipher, and frequency analysis. It ends with the key exchange problem. Activities include using interactive tools to encrypt, decrypt, and analyze secret messages. | N/A | Lecture Videos Activities Self Check Reflection | ||||||
58 | 6.07 | CSP | 45 | IOC-2.B, | IOC-2.B.6, | 3A-NI-06, 3A-NI-07, 3A-NI-08 | Cryptography: Securing the Internet | Introduction to the Diffie-Hellman key exchange algorithm and public key cryptography (PKC). Demonstrates how PKC is used to implement secure transactions over the Internet. Activities include interactive public key encryption activities. | N/A | Lecture Videos Activities Self Check Reflection | ||||||
59 | 6.08 | App | 45 | CRD-2.I.a, CRD-2.I.b, | CRD-2.I.1, CRD-2.I.2, CRD-2.I.3, | 3A-AP-21, 3A-AP-23, 3B-AP-11, 3B-AP-21, 3B-AP-23, 3A-CS-03 | Debugging Caesar Cipher | Find and fix several errors contained in the Caesar Cipher app. | Functions, Local Variables | Debugging, syntax, semantics, testing. | Lecture/Video Activity Self Check Reflection | |||||
60 | 6.09 | CSP | 45 | IOC-2.B, IOC-2.C, | IOC-2.B.1, IOC-2.B.2, IOC-2.B.3, IOC-2.B.4, IOC-2.B.7, IOC-2.B.8, IOC-2.B.9, IOC-2.B.10, IOC-2.C.1, IOC-2.C.2, IOC-2.C.3, IOC-2.C.4, IOC-2.C.5, IOC-2.C.6, IOC-2.C.7, | 3B-AP-18, 3A-IC-24, 3A-IC-29, 3A-IC-30, 3B-IC-26, 3B-IC-27, 3B-IC-28, 3A-NI-05, 3A-NI-06, 3A-NI-07, 3A-NI-08, 3B-NI-04 | Cyber Security | This lesson introduces concepts and terminology involved with computer security - how computer systems and data are kept safe. Multi-factor authentication is introduced and explained. | N/A | Videos Activities Self Check Reflection | 5.6 | |||||
61 | 6.10 | Impacts | 135 | IOC-1.E, IOC-1.F, IOC-2.A, IOC-2.B, IOC-2.C, | IOC-1.E.1, IOC-1.E.2, IOC-1.E.3, IOC-1.E.4, IOC-1.E.5, IOC-1.E.6, IOC-1.F.11, IOC-2.A.5, IOC-2.B.5, IOC-2.B.7, IOC-2.B.8, IOC-2.B.9, IOC-2.C.1, | Impacts of CS: Cryptography and the Government | Watch a video on croudsourcing to collaborate on a project. Explore a citizen science computing innovation in preparation for exploring an innovation. Reflection questions are provided for working with a partner to share. | N/A | Reading Discussion Reflection | |||||||
62 | 9 | 630 | ||||||||||||||
63 | Explore Project | Impacts | 270 | 3A-DA-10, 3A-IC-24, 3A-IC-28, 3A-IC-29, 3A-IC-30, 3B-IC-25, 3A-NI-05, 3A-NI-06, 3A-NI-07, 3A-NI-08, 3B-NI-04 | Explore Project: Impact of Computing Innovations | A research project on a computing innovation related to mobile apps that has had significant impact (both positive and negative) on our society. | Project | Project-Based Learning | Student Choice | |||||||
64 | 7.02 | CSP | 45 | DAT-2.A, DAT-2.C, DAT-2.D, IOC-1.A, | DAT-2.A.1, DAT-2.A.2, DAT-2.C.5, DAT-2.C.6, DAT-2.C.7, DAT-2.C.8, DAT-2.D.1, DAT-2.D.2, DAT-2.D.5, IOC-1.A.5, | 3B-AP-12, 3A-DA-10, 3A-DA-12, 3B-DA-05, 3B-DA-06, 3A-NI-05 | Big Data | An introduction to Data Science, Impacts of Data, and Data Bias. | N/A | Big data, data bias | Videos Self Check Activity: Choose a big data set and use it to explore a hypothesis Reflection | |||||
65 | 7.03 | CSP | 45 | DAT-2.A, DAT-2.B, DAT-2.D, DAT-2.E, | DAT-2.A.3, DAT-2.B.2, DAT-2.D.4, DAT-2.D.6, DAT-2.E.1, DAT-2.E.2, | 3B-AP-12, 3B-AP-15, 3A-DA-10, 3A-DA-11, 3A-DA-12, 3B-DA-05, 3B-DA-06, 3A-IC-27, 3A-NI-04 | Visualizing Data | A sequence of activities that use Google sheets and Google Maps to process and visualize a data set. | N/A | Activity: Learn how to use Google sheets as well as Google maps and use them to explore a data set. Reflection | 2.04 | |||||
66 | 7.04 | CSP | 90 | CRD-1.C, DAT-2.A, DAT-2.C, DAT-2.D, DAT-2.E, | CRD-1.C.1, DAT-2.A.1, DAT-2.A.2, DAT-2.A.3, DAT-2.C.2, DAT-2.C.4, DAT-2.D.2, DAT-2.D.5, DAT-2.D.6, DAT-2.E.1, DAT-2.E.2, DAT-2.E.3, DAT-2.E.4, DAT-2.E.5, | 3B-AP-12, 3B-AP-15, 3A-DA-11, 3A-DA-12, 3B-DA-05, 3B-DA-06, 3B-DA-07, 3A-IC-27 | Data Visualization Project | Students work in pairs to identify a large data set that interests them, then formulate hypotheses and analyze the data to shed light on the hypotheses. | N/A | Activity: Use spreadsheet tools to analyze and visualize a data set. | Student Choice | 2.03 2.04 | ||||
67 | 7.05 | App | 45 | DAT-2.A, DAT-2.C, DAT-2.E, | DAT-2.A.4, DAT-2.C.1, DAT-2.C.2, DAT-2.C.3, DAT-2.C.4, DAT-2.E.3, DAT-2.E.4, DAT-2.E.5, | 3A-AP-14, 3A-AP-16, 3A-AP-18, 3A-AP-20, 3B-AP-12, 3B-AP-14, 3B-AP-16, 3A-CS-01, 3A-CS-02, 3A-DA-10, 3A-DA-11, 3A-DA-12, 3B-DA-05, 3B-DA-06, 3B-DA-07, 3A-IC-29, 3A-NI-04, 3A-NI-07, 3B-NI-03 | Data Map App | Students create an app using data visualization and map. This app uses csv and GeoJSON files to read in data to visualize on a map and uses a Weather API. | File.Read, List.From CSV table, Any Component blocks, Look up in pairs | Data visualization, File I/O, abstraction with Any Blocks, APIs | Tutorial Projects Self Check Reflection | Student Choice | 2.03 2.04 | |||
68 | 7.06 | App | 90 | DAT-2.D, AAP-1.D.a, | DAT-2.D.1, AAP-1.D.1, AAP-1.D.2, | 3A-AP-13, 3A-AP-18, 3B-AP-12, 3B-AP-16, 3B-AP-20, 3A-CS-01, 3A-CS-02, 3A-DA-10, 3B-DA-06, 3B-DA-07, 3A-IC-29, 3A-NI-04, 3A-NI-07, 3B-NI-03 | Clicker App with CloudDB (optional) | This tutorial uses the CloudDB component to store data to the Cloud. The concept of an asynchronous process is introduced to explain how a Web service works. A nested if/else algorithm is used to process requests. The last part of the lesson shows how to store images on the Web, with their URLs stored in FirebaseDb. | CloudDb, Notifier components. CloudDB.GetValue procedure and GotValue event. | Asynchronous processing. If/else algorithm. | Lecture/Video Tutorial Projects Self Check Reflection | |||||
69 | 7.07 | CSP | 45 | IOC-1.B, IOC-1.D, IOC-1.F, | IOC-1.B.1, IOC-1.D.1, IOC-1.D.2, IOC-1.D.3, IOC-1.F.11, | 3B-AP-08, 3B-AP-15, 3A-IC-24, 3A-IC-29, 3B-IC-27 | Artificial Intelligence and Machine Learning | Artificial Intelligence and Machine Learning are introduced. The Google Teaching Machine activity is explored. The positive and negative social impacts of Artificial Intelligence are discussed. | N/A | Activity: Google Teaching Machine | 5.3 | |||||
70 | 7.08 | Impacts | 90 | IOC-1.F, | IOC-1.F.1, IOC-1.F.2, IOC-1.F.3, IOC-1.F.4, IOC-1.F.5, IOC-1.F.6, IOC-1.F.7, IOC-1.F.8, IOC-1.F.9, IOC-1.F.11, | 3A-AP-20, 3A-IC-24, 3A-IC-28, 3A-IC-29, 3A-IC-30, 3B-IC-26, 3B-IC-27, 3B-IC-28 | Impacts of CS: Who Owns the Bits | Read and discuss Chapter 6 of Blown to Bits, which focuses on the issue of copyright. | N/A | Reading Discussion Reflection | 5.5 | |||||
71 | 7 | 450 | ||||||||||||||
72 | Create Samples | CSP | Create PT Samples | This page contains a few selected College Board Create Task samples that used App Inventor as the programming language. Students can use this page to review the scoring criteria and sample responses for the task as well as see how they were scored and why | Activity Self-Check | |||||||||||
73 | Create 2 | CSP App | 720 | CRD-2.B, AAP-1.D.a, AAP-1.D.b, AAP-3.C, AAP-2.H.a, AAP-2.K.a, CRD-2 | 3A-AP-13, 3A-AP-14, 3A-AP-15, 3A-AP-16, 3A-AP-17, 3A-AP-18, 3A-AP-19, 3A-AP-22, 3A-AP-23, 3B-AP-10, 3B-AP-11, 3B-AP-12, 3B-AP-14, 3B-AP-17, 3B-AP-20, 3B-AP-21, 3B-AP-23, 3A-IC-27 | CREATE PT 2 | This is the official CREATE programming performance task to be submitted to the College Board. In this programming performance task, students develop a mobile app. This includes going through the entire development process of designing, implementing, and debugging a mobile app using Design Thinking iterative software development.. Students then document their work by creating a portfolio write-up and share their work through an oral presentation to the class or a recorded video presentation. | Hands on project | ||||||||
74 | 8.02 | CSP | 10 | TBD | TBD | About the AP CS Principles Exam | Discussing the format of the AP CSP exam and reviewing the AP CSP Exam Reference Sheet and AP CSP Pseudocode with Tracing Pseudocode Exercises and a Vocabulary Review. | Self-Check | ||||||||
75 | 8.03 | CSP | 30 | TBD | TBD | AP CSP Vocabulary Review | Discussing the format of the AP CSP exam and reviewing the AP CSP Exam Reference Sheet and AP CSP Pseudocode with Tracing Pseudocode Exercises and a Vocabulary Review. | Self-Check | ||||||||
76 | 8.04 | CSP | 20 | TBD | TBD | AP CSP Pseudocode | Discussing the format of the AP CSP exam and reviewing the AP CSP Exam Reference Sheet and AP CSP Pseudocode with Tracing Pseudocode Exercises and a Vocabulary Review. | Self-Check | ||||||||
77 | 8.05 | CSP | 30 | TBD | TBD | Tracing Pseudocode Exercises | Discussing the format of the AP CSP exam and reviewing the AP CSP Exam Reference Sheet and AP CSP Pseudocode with Tracing Pseudocode Exercises and a Vocabulary Review. | Self-Check | ||||||||
78 | 8.06 | CSP | 25 | TBD | TBD | Sample Exam Questions | Sample AP CSP Exam Questions for reviewing and practicing. | Self-Check | ||||||||
79 | 8.07 | CSP | 20 | TBD | TBD | The Mobile CS Principles Quiz App | Mobile CS Principles Quiz app for reviewing and practicing. | Self-Check | ||||||||
80 | 8.08 | CSP | N/A | N/A | Additional Resources | This page contains additional study materials/resources for students who are preparing to take the AP CSP Exam. | ||||||||||
81 | 8.10 | CSP | Explore Project Samples | This page contains a few selected Explore Impact of Computing Innovation project samples. Students can use this page to review the scoring criteria and sample responses for the project. | N/A | Activity Self-Check | ||||||||||
82 | 8 | 135 | ||||||||||||||
83 | Exam 2 - Final | CSP | 45 | TBD | TBD | Mobile CSP Final Exam | Mobile CSP Final Exam is the last exam for the course which follows the same format at the AP CSP exam. This exam is cumulative and covers Unit 1-7 . It can be used as a practice in review for the AP CSP Exam in May. | Assessment | ||||||||
84 | 9.02 | Beyond the Exam CSP | Careers in IT and CS | Take time to learn about and research degrees in CS as well as careers in IT/CS. | N/A | POGIL | POGIL | |||||||||
85 | 9.03 | Beyond the Exam CSP | Films in Computer Science | Suggested on this page are films featuring Computer Scientists. You may want to pick one or two to watch as a class and let students watch the others on their own time as they wish. | N/A | |||||||||||
86 | 9.04 | Beyond the Exam CSP | Transitioning to Text-Based Languages and CS A | Considering more CS courses? The next course might be CSA (Java programming) or even Python. This page provides some suggested ways to continue on your CS journey. | ||||||||||||
87 | 9.05 | Beyond the Exam App | 90 | Magic 8 Ball | App Inventor simulation of the classic Magic-8 Ball game. Introduces the use of a list variable and random selection from the list. A ListPicker is used to implement a simple settings menu that allows the user to select from Speak, Sound, or Silent options for the feedback provided by the app. An if/else algorithm and a global variable are used to implement the setting. | Accelerometer, Text to Speech, ListPicker, Image, Labels, Sound, Speech recognizer components. Accelerometer shaking, ListPicker after picking event. Speech Recognizer. GetText events. | Lists, random select from list, modeling a real-world game, an if/else algorithm to handle a settings menu. | Tutorial Projects Self Check Reflection | ||||||||
88 | 9.06 | Beyond the Exam App | 90 | Persisting Photos Tutorial | This tutorial plus projects lesson shows how to save photos to TinyDb, a simple on-device database. An if/else algorithm is needed to properly initialize the app when initially reading from the Db. A second project uses a simple list to store multiple photos in the Db. | TinyDb, Camera components. Screen.Initialize, Camera.TakePhoto events. | Database, tag/value pairs, persistent data, if/else algorithm on initialization. | Lecture/Video Tutorial Projects Self Check Reflection | ||||||||
89 | 9.07 | Beyond the Exam App | 45 | Where is North | Simple compass app that also reports the device’s location. Challenging abstraction exercise: Draw direction markers, N, S, E, W, centered along the edges of the Canvas. | Canvas, Image Sprite, Orientation sensor, Location sensor (GPS) components. Orientation changed, Location changed events. | Coordinate system, Abstraction: Canvas.width and Canvas.height properties | Lecture Tutorial Self Check Reflection | ||||||||
90 | 9.08 | Beyond the Exam App | 45 | My Directions | Uses the devices GPS to provide directions from current location to pre-set list of destinations. | List Picker, Web, Location Sensor, Button, Label, TinyDb, Textbox components. Screen initialize, ListPicker after picking, Location Sensor Location changed. | Uses Google Maps API, String concatenation is used to construct the appropriate URL for Google Maps. | Tutorial Projects Self Check Reflection | ||||||||
91 | 9.09 | Beyond the Exam App | 45 | The Pong Game | This lesson reinforces the use of procedural abstraction in programming to generalize solutions. Students have two options: 1) Build Pong from Scratch or 2) Enhance a Basic Pong App. Pong was one of the first computer games and consists of a paddle controlled by the user and a ball, which bounces off the edges. Students add enhancements that should use procedures to provide generalized solutions and require if/else statements. | Canvas, ImageSprite, Ball, Buttons, Label, Global Variables | If/Else conditionals, Variables, Procedural Abstraction | Tutorial Projects Self Check Reflection | ||||||||
92 | 9.10 | Beyond the Exam App | 45 | Debugging Pong | This lesson revisits the Pong game. Now that students understand how it should work correctly, they find bugs in a game that doesn't work correctly. Before, the listen to a presentation that describes what debugging is as well as the different types of bugs in programs. The lesson reinforces their understanding of what it means for a program to work correctly. | Canvas, ImageSprite, Ball, Buttons, Label, Global Variables | Debugging, syntax, semantics, testing. | Lecture/Video Activity Self Check Reflection | ||||||||
93 | 9.11 | Beyond the Exam App | 45 | Multiple Choice Quiz App: List of Lists | This lesson introduces the concept of a list of lists, where each item in the outer list (instead of being a number, boolean, or text value) is another list, or sublist. Students will also use a ListPicker component to display the answer choices (the sublist) to the user in a user-friendly way. | Lists, ListPicker | Lists | Tutorial Self Check Reflection | ||||||||
94 | 9.12 | Beyond the Exam App | 90 | No Texting While Busy | The Texting component is used to respond automatically to incoming Text messages. Permits Texting over Wifi (VoIP) by using Google Voice. | Texting, Label components. Texting Message Received event. | Texting VoIP using Google Voice app and Web service. | Tutorial Projects Self Check Reflection | ||||||||
95 | 9.13 | Beyond the Exam App | 90 | Socially Aware App: Broadcast Hub Tutorial | Users text the word ‘join’ to the hub device and are included in the members list. When members text the list, their messages are broadcast to all members. A for-each-element-in-list loop is used to send email messages to hub members. | Texting, Notifier components. Texting Message Received event. | List processing, if/else logic, for-each loop to manage hub. | Tutorial Projects Self Check Reflection | ||||||||
96 | 9.14 | Beyond the Exam App | 45 | Map Tour Tutorial with Activity Starter and Google Maps | The Map Tour allows a user to select a location from a list and it then launches the device’s Google Maps app to show the selected location on the map. | Activity starter, Google Maps API, lists, location sensor | Lists | Lecture Tutorial Projects Self Check Reflection | ||||||||
97 | 13 | 630 | ||||||||||||||
98 | Total Minutes | 5940 | ||||||||||||||
99 | Total number of 45 minute class periods | 132 | ||||||||||||||
100 |