CS Principles 2019-2020

Resources

Unit 1 - The Internet

Lesson 1: Personal Innovations
Resources Prep

For the Teacher

For the Students

  • Procure post-its or paper and tape
  • Procure poster paper for sharing innovations
  • Queue up CS is Changing Everything video
  • Setup section in Code Studio for this course
  • Have student sign-up link ready to share
Lesson 2: Sending Binary Messages
Resources Prep

For the Teacher

For the Students

  • Optional Print activity guide (see teaching tip)
  • One box of “maker supplies” for each student group. Example supplies include:
    • Small flashlights
    • Simple noisemakers such as bells, triangles, or whistles
    • Cups and string
    • Slinky
    • Legos
    • Colored paper
Lesson 3: Sending Binary Messages with the Internet Simulator
Resources Prep

For the Teacher

For the Students

  • Code Studio section setup (required for using Internet Simulator)
Lesson 4: Number Systems
Resources Prep

For the Teacher

For the Students

Lesson 5: Binary Numbers
Resources Prep

For the Teacher

For the Students

Lesson 6: Sending Numbers
Resources Prep

For the Students

Lesson 7: Sending Text
Resources Prep

For the Teacher

For the Students

  • Access to journals, paper, or other places that students can write down systems for the main activity.
  • Section prepped to use Internet Simulator in Code Studio.
  • Optionally print copies of ASCII Reference Sheet or prepare to project it
Lesson 8: The Internet Is for Everyone
Resources Prep

For the Students

  • Copies of the activity guide to distribute (or distribute online)
Lesson 9: The Need for Addressing
Resources Prep

For the Teacher

For the Students

Lesson 10: Routers and Redundancy
Resources Prep

For the Students

  • Review functionality of Internet Simulator with address fields as well as router / network tables
Lesson 11: Packets and Making a Reliable Internet
Resources Prep

For the Teacher

For the Students

  • Review functionality of Internet Simulator with transmission failure
  • Copies of the Activity Guide
Lesson 12: The Need for DNS
Resources Prep

For the Teacher

For the Students

  • MUST print out and have prepared IP Address Labels for students walking into class
  • Copies of Worksheet and Activity Guide
  • Familiarize yourself with the Getting Started activity and what you need to do
Lesson 13: HTTP and Abstraction on the Internet
Resources Prep

For the Students

  • Practice accessing the Developer Tools for the browser used in your classroom (see Worksheet for links to directions)
Lesson 14: Practice PT - The Internet and Society
Resources Prep

For the Students

  • Review the Practice PT and decide how students should present (see Lesson Plan)

Unit 2 - Digital Information

Lesson 1: Bytes and File Sizes
Resources Prep

For the Students

  • You should verify that you know how to look at the sizes of files on computers that your students are using (see activity).
  • For the getting started activity might want a Word processing program (such as MS Word) and plain text editor (such as Notepad or TextEdit) open and ready.
  • The teaching remarks and content corners in this lesson contain lots of little bits of history that you might choose to share at various points in the lesson.
  • KEY Bytes and File Sizes
Lesson 2: Text Compression
Resources Prep

For the Teacher

For the Students

  • Test out the Text Compression Widget
  • Review the teaching tips to decide which options you want to use
Lesson 3: Encoding B&W Images
Resources Prep

For the Teacher

For the Students

Lesson 4: Encoding Color Images
Resources Prep

For the Teacher

For the Students

Lesson 5: Lossy vs. Lossless Compression
Resources Prep

For the Students

Lesson 6: Rapid Research - Format Showdown
Resources Prep

For the Students

Unit 3 - Intro to Programming

Lesson 1: The Need for Programming Languages
Resources Prep

For the Students

  • Blocks for the class (~5 per team/student)
  • Paper for recording instructions
Lesson 2: The Need for Algorithms
Resources Prep

For the Students

Lesson 3: Creativity in Algorithms
Resources Prep

For the Students

Lesson 4: Using Simple Commands
Resources Prep

For the Students

  • Practice the levels yourself so you're familiar with the challenges.
  • Familiarize yourself with opening remarks and comments for background knowledge.
Lesson 5: Creating Functions
Resources Prep

For the Students

  • Review student-facing instructions in Code Studio
Lesson 6: Functions and Top-Down Design
Resources Prep

For the Students

Lesson 8: Creating Functions with Parameters
Resources Prep

For the Students

  • Review functions in the "Debug Commands" toolbox located in App Lab to assist in debugging code. These functions are to the left of the Debug Console.
Lesson 9: Looping and Random Numbers
Resources Prep

For the Teacher

For the Students

  • Set up the room for computer use
  • Plan how you want students to watch the video on loops
Lesson 10: Practice PT - Design a Digital Scene
Resources Prep

For the Students

Unit 4 - Big Data and Privacy

Lesson 1: What is Big Data?
Resources Prep

For the Students

Lesson 2: Finding Trends with Visualizations
Resources Prep

For the Students

Lesson 3: Check Your Assumptions
Resources Prep

For the Students

Lesson 4: Rapid Research - Data Innovations
Resources Prep

For the Students

Lesson 5: Identifying People With Data
Resources Prep

For the Students

  • Familiarize yourself with the external web sites and tools involved in this lesson.
  • KEY Research Yourself
Lesson 6: The Cost of Free
Resources Prep

For the Students

Lesson 7: Simple Encryption
Resources Prep

For the Teacher

Lesson 8: Encryption with Keys and Passwords
Resources Prep

For the Teacher

For the Students

Lesson 9: Public Key Cryptography
Resources Prep

For the Teacher

For the Students

This lesson will likely take two days to complete. Preparing for these activities the first time will take some time. Once you've been through it once, the activities actually go quicker than you might expect.

  • Suggested Prep for Day 1 (Steps 1-3)

    • Prepare the Cups and Beans demonstration (you need cups and beans)
    • Understand the modulo thought experiment with pictures of clocks
    • (Optional) Paper copies of "multiplication + modulo" activity guide
  • Suggested Prep for Day 2 (Step 4 + wrap up)

    • Practice using the "modulo clock"
    • Practice and Prepare for the using and demonstrating the public key crypto widget
  • KEY Multiplication + Modulo

Lesson 10: Rapid Research - Cybercrime
Resources Prep

For the Students

Unit 5 - Building Apps

Lesson 1: Introduction to Event-Driven Programming
Resources Prep

For the Students

Lesson 3: Building an App: Multi-Screen App
Resources Prep

For the Students

  • Print project planning guides (see student documents).
  • Review the lesson plan to decide how many days of class time you want to use for this mini-project.
  • Decide how peer review will work (anonymous or not).
Lesson 4: Controlling Memory with Variables
Resources Prep

For the Students

Lesson 5: Building an App: Clicker Game
Resources Prep

For the Students

  • Decide whether you want to introduce the activity guide at the beginning of the lesson or the end.
  • Familiarize yourself with the Clicker Game and rubric, decide how to organize peer review.
Lesson 6: User Input and Strings
Resources Prep

For the Students

Lesson 7: If-statements Unplugged
Resources Prep

For the Students

  • Decide whether or not to print the "Will it Crash?" Activity Guide for students (it's ~6 pages, but nice to have on paper. There are digital alternatives, though)
  • Decide how students will review the first two code studio pages - see teaching tips.
  • Budget time: the main activity is working through the problems in the "will it crash?" activity - keep in mind that the last problem ask students to write code which may take time as well.
  • KEY Will it Crash?
Lesson 8: Boolean Expressions and "if" Statements
Resources Prep

For the Students

Lesson 9: "if-else-if" and Conditional Logic
Resources Prep

For the Students

  • Decide whether to use Compound Conditionals worksheet. (Best to use after students have learned about if-else-if and Boolean Operators AND, OR and NOT).

    • Note: The first page of the worksheet should be distributed separately.
  • Review code studio levels and associated teacher's notes.

  • KEY Compound Conditionals (optional)
Lesson 10: Building an App: Color Sleuth
Resources Prep

For the Students

Lesson 11: While Loops
Resources Prep

For the Teacher

For the Students

Lesson 12: Loops and Simulations
Resources Prep

For the Students

Lesson 15: Processing Arrays
Resources Prep

For the Students

Lesson 16: Functions with Return Values
Resources Prep

For the Students

AP Explore PT Prep

Lesson 1: Explore PT - Review the Task
Resources Prep

For the Teacher

For the Students

Lesson 2: Explore PT - Make a Plan
Resources Prep

For the Teacher

For the Students

Lesson 3: Explore PT - Complete the Task (8 hours)
Resources Prep

For the Teacher

For the Students

AP Create PT Prep

Lesson 1: Create PT - Review the Task
Resources Prep

For the Teacher

For the Students

Lesson 2: Create PT - Make a Plan
Resources Prep

For the Teacher

For the Students

Lesson 3: Create PT - Complete the Task (12 hrs)
Resources Prep

For the Teacher

For the Students

Post AP

Lesson 1: Introduction to Data
Resources Prep

For the Teacher

For the Students

  • Teacher Setup for Google Forms (see Teacher Setup in Teaching Guide)
Lesson 2: Good and Bad Data Visualizations
Resources Prep

For the Students

Lesson 3: Making Data Visualizations
Resources Prep

For the Students

Lesson 4: Discover a Data Story
Resources Prep

For the Students

Lesson 7: Tell a Data Story
Resources Prep

For the Students