Long-Range Plan · Full-Year · with Lesson Catalog

Computer Science Discoveries

Code.org CS Discoveries (course csd-2026) mapped to the Montgomery County Public Schools 2026–2027 traditional calendar. Day-by-day pacing generated from live lesson durations, plus every lesson's overview, objectives, standards, agenda, and resources pulled from Code Studio.

181 instructional days 111 lessons taught · ~146 days 35 flex / catch-up days 55 CSTA standards Aug 25Jun 11

Pacing Summary — live durations from Code Studio; ordered by teaching sequence

UnitLessonsMinutesDaysCSTACulminating project
Unit 1 Problem Solving & Computing8585m~13d11Project - Propose an App
Unit 2 Web Development211125m~25d21Project - Website for a Purpose
Unit 3b Interactive Animations & Games281530m~34d10Project - Design a Game
Unit 4 The Design Process211125m~25d15Project - App Presentation
Unit 5 Data & Society16900m~20d11Project - Make a Recommendation
Unit 6b Creating Apps with Devices — micro:bit Option B · taught171305m~29d14Project - Prototype an Innovation
Unit 7 AI & Machine Learning optional221170m~26d31Project - Design an AI App
Taught path (micro:bit)1116570m~146d367 culminating projects

Calendar Map — one 45-min period per day; the code after each date is the MCPS day type; click a day to open its full lesson plan

Semester 1

Q1 + Q2 · Aug 25 – Jan 22 · 94 days · 22 flex

Quarter 1

Aug 25 – Oct 30, 2026 · 46 teaching days
Mon Aug 17PSPreservice — teacher workday
Tue Aug 18PSPreservice — teacher workday
Wed Aug 19PSPreservice — teacher workday
Thu Aug 20PSPreservice — teacher workday
Fri Aug 21PSPreservice — teacher workday
Mon Aug 24STStudent transition / orientation
Tue Aug 25SDU1Lesson 1: Intro to Problem Solving

Overview

This lesson is a fun introduction to the open-ended, collaborative, and creative problem-solving students will be using over the rest of this unit and course. Students work in groups to design aluminum foil boats that will support as many pennies as possible. Groups have two rounds to work on their boats, with the goal of trying to hold more pennies than they did in round 1. The structure of the activity foreshadows different steps of the problem-solving process that students will be introduced to in more detail in the following lesson. At the end of the lesson, students reflect on their experiences with the activity and make connections to the types of problem-solving they will be doing for the rest of the course

Question of the Day: What can help us to work together and solve problems as a team?

Alternate versions of this lesson are also available.

  • [Newspaper Table](/s/csd1-2023/lessons/9/)
  • [Spaghetti Bridge](/s/csd1-2023/lessons/10/)
  • [Paper Tower](/s/csd1-2023/lessons/11/)

Objectives

  • Communicate and collaborate with classmates in order to solve a problem
  • Identify different strategies used to solve a problem
  • Iteratively improve a solution to a problem

CSTA standards

1B-AP-081B-AP-111B-AP-16

Agenda

Tech Setup
Warm Up 5 min
Set the Stage
Activity 35 min
Building an Aluminum Boat · Goal and Rules · Develop a Plan · Test Your Boat · Evaluate and Improve
Wrap Up 5 min
Discuss the Challenge · Reflection

Preparation

For each group

  • 2 sheets of aluminum foil, 5x5 inches in length each
  • 1 container that can hold 3-5 inches of water
  • Several paper towels or rags that can be placed under the container
  • 15 pennies
  • One copy of the activity guide

For the teacher

  • 1 container that can hold 3-5 inches of water
  • 50 pennies
  • Extra paper towels or rags
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Wed Aug 26SDU1Lesson 2: The Problem Solving Process

Overview

This lesson introduces the formal problem-solving process that students will use over the course of the year, Define - Prepare - Try - Reflect. The lesson begins by anchoring the formal problem-solving process in some real-life experiences they already have solving problems by asking students to brainstorm all the different types of problems that they encounter in everyday life. Students are then shown the four steps of the problem-solving process and work together to relate these abstract steps to their actual experiences solving problems. First students relate these steps to the problem activities from the previous lesson, then a problem they are good at solving, then a problem they want to improve at solving. At the end of the lesson, the class collects a list of generally useful strategies for each step of the process to put on posters that will be used throughout the unit and year.

Question of the Day: What are some common steps we can use to solve many different types of problems?

Objectives

  • Given a problem, identify individual actions that would fall within each step of the problem solving process
  • Identify useful strategies within each step of the problem solving process

CSTA standards

1B-AP-081B-AP-11

Agenda

Warm Up 5 min
Problems Brainstorm
Activity 35 min
The Problem Solving Process · What it Looks Like · A Problem You Are Good at Solving · A Problem You and a Classmate Want to Get Better at Solving · Create Posters of the Steps
Wrap Up 5 min
Extended Learning
Article Discussion

Preparation

For each student

  • Print a copy of Activity Guide

For the class

  • Poster paper
  • Markers/colored pencils

For the Teacher

Thu Aug 27SDFlexFlex — catch-up
Fri Aug 28SDU1Lesson 3: Exploring Problem Solvingday 1/2

Overview

In this lesson, students apply the problem-solving process to three different problems in order to better understand the value of each step. They will solve a word search, arrange seating for a birthday party, and redesign a classroom. The problems grow increasingly complex and poorly defined to highlight how the problem-solving process is particularly helpful when tackling these types of problems. The lesson concludes with students reflecting on their experience with the problem-solving process. They will justify the inclusion of each step and will brainstorm questions or strategies that can help them better define open-ended problems, as this is often the most critical step.

This lesson will likely take two class periods or more to complete. The first two problems may fit into a single class period but the third will need to be moved to a second day.

Question of the Day: How can we apply the problem-solving process to many different kinds of problems?

Alternate versions of this lesson are also available.

  • [Animal Theme](/s/csd1-2022/lessons/12/)
  • [Games Theme](/s/csd1-2022/lessons/13/)

Objectives

  • Apply the problem solving process to approach a variety of problems
  • Assess how well-defined a problem is and use strategies to define the problem more precisely

CSTA standards

1B-AP-081B-AP-111B-AP-16

Agenda

Warm Up 5 min
Activity 80 min
Understanding the Problem Solving Process
Wrap Up 5 min

Preparation

  • Print the activity guide for each student
  • Scratch paper for the Birthday Party problem
  • Poster to record strategies for defining problems in wrap up discussion
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Mon Aug 31SDU1Lesson 3: Exploring Problem Solvingday 2/2

Continuation — day 2 of 2.

Overview

In this lesson, students apply the problem-solving process to three different problems in order to better understand the value of each step. They will solve a word search, arrange seating for a birthday party, and redesign a classroom. The problems grow increasingly complex and poorly defined to highlight how the problem-solving process is particularly helpful when tackling these types of problems. The lesson concludes with students reflecting on their experience with the problem-solving process. They will justify the inclusion of each step and will brainstorm questions or strategies that can help them better define open-ended problems, as this is often the most critical step.

This lesson will likely take two class periods or more to complete. The first two problems may fit into a single class period but the third will need to be moved to a second day.

Question of the Day: How can we apply the problem-solving process to many different kinds of problems?

Alternate versions of this lesson are also available.

  • [Animal Theme](/s/csd1-2022/lessons/12/)
  • [Games Theme](/s/csd1-2022/lessons/13/)

Objectives

  • Apply the problem solving process to approach a variety of problems
  • Assess how well-defined a problem is and use strategies to define the problem more precisely

CSTA standards

1B-AP-081B-AP-111B-AP-16

Agenda

Warm Up 5 min
Activity 80 min
Understanding the Problem Solving Process
Wrap Up 5 min

Preparation

  • Print the activity guide for each student
  • Scratch paper for the Birthday Party problem
  • Poster to record strategies for defining problems in wrap up discussion
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Tue Sep 1SDU1Lesson 4: What is a Computer?

Overview

This lesson builds on the problem-solving theme of the earlier lessons and focuses on the specifics of how computing is used in problem-solving, starting with developing a preliminary definition of a computer. To begin the lesson, the class will brainstorm possible definitions for a computer and place the results of this brainstorm on the board. Next, students will work in groups to sort pictures into “is a computer” or “is not a computer” on poster paper. Groups will place their posters around the room and briefly explain their motivations for choosing some of their most difficult categorizations. The teacher will then introduce a definition of the computer and allow students to revise their posters according to the new definition.

Question of the Day: What is a computer?

Objectives

  • Choose problems that can be solved with computing and justify those choices.
  • Identify a computer as a machine that works with information
  • Reason about whether particular objects are or are not computers.

Vocabulary

Computer
A machine that works with information.

CSTA standards

1B-CS-01

Agenda

Warm Up 5 min
Computers then and now
Activity 35 min
Computer or Not? · Present Your Categorizations
Wrap Up 5 min
Journal

Preparation

For each group

  • Print out copies of the activity guide. Note there are two sets of pictures, but each group only needs a single set.
  • Scissors (if you will not have time to cut the pictures prior to class)
  • Poster paper
  • Markers or colored pencils
  • Glue or tape to attach pictures

For the teacher

Wed Sep 2SDU1Lesson 5: Input and Output

Overview

This lesson introduces focuses on two of the features identified in the previous lesson, input and output, that can help classify devices as a computer and has students identify different methods of input or output in common apps. In this lesson, students consider how computers get and give information to the user through inputs and outputs. Students first consider what information they would need to solve a "thinking problem", then use that information to produce a recommendation. They then identify the inputs and outputs of that process. Afterward, students consider an app that engages in the same process and determine how that app inputs and outputs information. Last, they consider other types of inputs and outputs that computers can use to help solve problems.

Question of the Day: How do computers use input and output to get and give the information that they need to solve problems?

Objectives

  • Explain the role that input and output take when computers are used to solve information problems.
  • Select the inputs and outputs used to perform common computing tasks

Vocabulary

Input
the information computers get from users, devices, or other computers
Output
the information computers give to users, devices, or other computers

CSTA standards

1B-CS-011B-CS-02

Agenda

Warm Up 5 min
Recommending a Pet
Activity 35 min
Inputs and Outputs · Pet Chooser · Story Creator · Improved Pet App
Wrap Up 5 min
What Inputs and Outputs Do I Use?

Preparation

  • Prepare copies of the activity guide
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Sep 3SDU1Lesson 6: Processing

Overview

This lesson introduces the concept of processing within computational problem-solving. While this lesson focuses on four common types of processing - if/then (conditionals), finding a match (searching), counting, and comparing - students should understand that processing is whatever a computer does to turn inputs into outputs. Students are first introduced to the types of processing through several sample apps. They then investigate more apps to determine what sorts of processing each uses. They then think of their own app and decide what types of processing it would need to work. Finally, they brainstorm other types of processing that may be useful but were not included in the main lesson.

Question of the Day: What are the different ways computers can process information?

Objectives

  • Define processing as the work done (possibly by a computer) to turn an input into an output
  • Determine which types of processing are appropriate for a particular computing problem.
  • Identify several common types of processing used in computing.

Vocabulary

Processing
The thinking work computers do to turn input into output.

CSTA standards

1B-CS-011B-CS-022-AP-102-AP-17

Agenda

Warm Up 5 min
Analyzing an App (Birthday App)
Activity 35 min
Types of Processing · Apps and Processing · More Processing · Student Apps
Wrap Up 5 min
What Inputs and Outputs Do I Use?

Preparation

Fri Sep 4SDU1Lesson 7: Storage

Overview

This lesson introduces the final component of the unit's model of computing: storage. After trying out an "outfit picker" app, students discuss what information should be stored in the app versus input every time the app is run. They then look at a series of apps and use their decisions about what should be stored to create guidelines for deciding what information to store. They then review the four components of this chapter's model of computing: input, output, storage, and processing. Afterward, they have one last opportunity to revise their decisions about which items should be classified as a "computer" from earlier in the chapter. The lesson ends with a reflection on their own app ideas and how storage could be used.

Question of the Day: Why is storage an important part of the computing process?

Objectives

  • Determine which information in a computing problem should be stored for later use.
  • Identify guidelines regarding what information should and should not be stored as part of the computing process.
  • Use the input-output-storage-processing model to describe a computing process.

Vocabulary

storage
saving information to use in the future

CSTA standards

2-AP-102-IC-20

Agenda

Warm Up 5 min
Analyzing an App (Outfit Picker)
Activity 35 min
Apps with Storage · Outfit Picker · Friend Finder · Choose a Kid's Movie · Guidelines
Introducing the IOSP Model
Wrap Up 5 min
Journal

Preparation

  • Print a copy of the activity guide for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Mon Sep 7HHoliday — schools closed
Tue Sep 8SDU1Lesson 8: Project - Propose an Appday 1/5

Overview

To conclude this unit, this project combines the two major themes of Unit 1, the problem-solving process and the input/output/store/process model of a computer, to have students identify real-world problems and find ways to use technology to help solve them. This project will be completed across multiple days and will result in students creating a poster of a proposed app they design to solve a real-world problem, highlighting the features of their app that they will present to their classmates. A project guide provides step-by-step instructions for students and helps them organize their thoughts. The project is designed to be completed in pairs though it can be completed individually.

Question of the Day: How can the IOSP model help us to design an app that solves a problem?

Objectives

  • Design an app that inputs, outputs, stores, and processes information in order to solve a problem
  • Identify and define a problem that could be solved using computing
  • Provide and incorporate targeted peer feedback to improve a computing artifact

CSTA standards

2-AP-102-AP-152-AP-182-CS-02

Agenda

Warm Up 5 min
Introduce the Project
Activity 215 min
Project Guide · Presenting Apps
Wrap Up 5 min
Reflection · Teacher End-Of-Unit Survey
Extended Learning
Shark Tank
Post-Project Test

Preparation

Wed Sep 9SDU1Lesson 8: Project - Propose an Appday 2/5

Continuation — day 2 of 5.

Overview

To conclude this unit, this project combines the two major themes of Unit 1, the problem-solving process and the input/output/store/process model of a computer, to have students identify real-world problems and find ways to use technology to help solve them. This project will be completed across multiple days and will result in students creating a poster of a proposed app they design to solve a real-world problem, highlighting the features of their app that they will present to their classmates. A project guide provides step-by-step instructions for students and helps them organize their thoughts. The project is designed to be completed in pairs though it can be completed individually.

Question of the Day: How can the IOSP model help us to design an app that solves a problem?

Objectives

  • Design an app that inputs, outputs, stores, and processes information in order to solve a problem
  • Identify and define a problem that could be solved using computing
  • Provide and incorporate targeted peer feedback to improve a computing artifact

CSTA standards

2-AP-102-AP-152-AP-182-CS-02

Agenda

Warm Up 5 min
Introduce the Project
Activity 215 min
Project Guide · Presenting Apps
Wrap Up 5 min
Reflection · Teacher End-Of-Unit Survey
Extended Learning
Shark Tank
Post-Project Test

Preparation

Thu Sep 10SDU1Lesson 8: Project - Propose an Appday 3/5

Continuation — day 3 of 5.

Overview

To conclude this unit, this project combines the two major themes of Unit 1, the problem-solving process and the input/output/store/process model of a computer, to have students identify real-world problems and find ways to use technology to help solve them. This project will be completed across multiple days and will result in students creating a poster of a proposed app they design to solve a real-world problem, highlighting the features of their app that they will present to their classmates. A project guide provides step-by-step instructions for students and helps them organize their thoughts. The project is designed to be completed in pairs though it can be completed individually.

Question of the Day: How can the IOSP model help us to design an app that solves a problem?

Objectives

  • Design an app that inputs, outputs, stores, and processes information in order to solve a problem
  • Identify and define a problem that could be solved using computing
  • Provide and incorporate targeted peer feedback to improve a computing artifact

CSTA standards

2-AP-102-AP-152-AP-182-CS-02

Agenda

Warm Up 5 min
Introduce the Project
Activity 215 min
Project Guide · Presenting Apps
Wrap Up 5 min
Reflection · Teacher End-Of-Unit Survey
Extended Learning
Shark Tank
Post-Project Test

Preparation

Fri Sep 11SDU1Lesson 8: Project - Propose an Appday 4/5

Continuation — day 4 of 5.

Overview

To conclude this unit, this project combines the two major themes of Unit 1, the problem-solving process and the input/output/store/process model of a computer, to have students identify real-world problems and find ways to use technology to help solve them. This project will be completed across multiple days and will result in students creating a poster of a proposed app they design to solve a real-world problem, highlighting the features of their app that they will present to their classmates. A project guide provides step-by-step instructions for students and helps them organize their thoughts. The project is designed to be completed in pairs though it can be completed individually.

Question of the Day: How can the IOSP model help us to design an app that solves a problem?

Objectives

  • Design an app that inputs, outputs, stores, and processes information in order to solve a problem
  • Identify and define a problem that could be solved using computing
  • Provide and incorporate targeted peer feedback to improve a computing artifact

CSTA standards

2-AP-102-AP-152-AP-182-CS-02

Agenda

Warm Up 5 min
Introduce the Project
Activity 215 min
Project Guide · Presenting Apps
Wrap Up 5 min
Reflection · Teacher End-Of-Unit Survey
Extended Learning
Shark Tank
Post-Project Test

Preparation

Mon Sep 14SDU1Lesson 8: Project - Propose an Appday 5/5

Continuation — day 5 of 5.

Overview

To conclude this unit, this project combines the two major themes of Unit 1, the problem-solving process and the input/output/store/process model of a computer, to have students identify real-world problems and find ways to use technology to help solve them. This project will be completed across multiple days and will result in students creating a poster of a proposed app they design to solve a real-world problem, highlighting the features of their app that they will present to their classmates. A project guide provides step-by-step instructions for students and helps them organize their thoughts. The project is designed to be completed in pairs though it can be completed individually.

Question of the Day: How can the IOSP model help us to design an app that solves a problem?

Objectives

  • Design an app that inputs, outputs, stores, and processes information in order to solve a problem
  • Identify and define a problem that could be solved using computing
  • Provide and incorporate targeted peer feedback to improve a computing artifact

CSTA standards

2-AP-102-AP-152-AP-182-CS-02

Agenda

Warm Up 5 min
Introduce the Project
Activity 215 min
Project Guide · Presenting Apps
Wrap Up 5 min
Reflection · Teacher End-Of-Unit Survey
Extended Learning
Shark Tank
Post-Project Test

Preparation

Tue Sep 15SDFlexUnit break — catch-up & reset
Wed Sep 16SDU2Lesson 1: Exploring Web Pages

Overview

Question of the Day: How can we choose websites based on the needs of a user?

To kick off a unit devoted to group problem solving and developing websites for other users, students begin by investigating the design of different websites. Students look at a variety of websites and attempt to match each design with a potential user. Then students choose a user and attempt to prototype a website design for them on paper or in a digital template. To conclude the activity, students consider what it means to be a web designer and create resources for other users.

Objectives

  • Create a prototype of a web design to meet the needs of a user using the problem-solving process
  • Identify features of a web design that match the needs of users
  • Understand the steps of the problem-solving process

CSTA standards

2-IC-20

Agenda

Before the Lesson
Preparing for the Unit
Warm Up - Option 1
Problem Solving Word Search · The Problem Solving Process
Warm Up - Option 2 5 min
Revisit The Problem Solving Process
Activity 35 min
Recommending Websites · Designing a Website
Wrap Up 5 min
Reflection

Preparation

  • Print a copy of the activity guide for each student.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Sep 17SDU2Lesson 2: Intro to HTML

Overview

This lesson introduces many new concepts and tools to students: they are introduced to HTML, the Web Lab tool, and how to navigate lesson resources on Code.org in general. In this lesson, students are introduced to HTML as a solution to the problem of how to communicate both the content and structure of a website to a computer. The lesson begins with a brief unplugged activity demonstrating the challenges of effectively communicating the structure of a web page. Students then look at an exemplar HTML page in Web Lab and discuss with their classmates how HTML tags help solve this problem. Students then write their first HTML. A wrap-up discussion helps to solidify the understanding of content vs. structure that was developed throughout the lesson.

Question of the Day: How can we tell the computer both *what* to put on the web page, and *how* to organize it?

Objectives

  • Explain that HTML allows a programmer to communicate the way content should be structured on a web page
  • Understand how to use lesson resources provided in Web Lab
  • Write a simple HTML document that uses opening and closing tags to structure content

Vocabulary

HTML
Hypertext Markup Language, a language used to create web pages
HTML Element
A piece of a website, marked by a start tag and often closed with an end tag
HTML Tag
The special set of characters that indicates the start and end of an HTML element and that element's type
Website Content
the text and images on a website
Website Structure
how the content of a website is organized

CSTA standards

1B-AP-11

Agenda

Warm Up 5 min
The Need for HTML
Activity 35 min
Pair Programming · Exploring HTML
Wrap Up 5 min
Reflection

Preparation

  • Review the Code Studio levels
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Fri Sep 18ERFlexFriday catch-up & reteach
Mon Sep 21NINon-instructional — no students or teachers
Tue Sep 22SDU2Lesson 3: Headings and Lists

Overview

This lesson introduces the core practices of pair programming and debugging. In this lesson, students continue to use HTML to structure text on web pages, this time in pairs, with a focus on working together and debugging problems with their sites. Students learn how to use the different heading and list elements and practice using them to give their web pages more structure.

Question of the Day: How can we work together to fix problems with our websites?

Objectives

  • Structure content into headings, subheadings, lists and paragraphs.
  • Use a structured practice to collaboratively create a digital artifact.
  • Use heading and list tags to change the appearance of text on a web page.

Vocabulary

Heading
A title or summary for a document or section of a document.
List
allows web developers to group a set of related items

CSTA standards

1B-AP-111B-AP-15

Agenda

Warm Up 5 min
Tags Poster
Activity 35 min
Web Lab: Headings · Web Lab: Lists
Wrap Up 5 min
Journal

Preparation

  • Have student journals ready to give back.
  • If you want to use an anchor chart, prepare poster paper to do so as a whole class.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Wed Sep 23SDU2Lesson 4: Digital Footprint

Overview

Question of the Day: How can you make sure that your private information stays private?

In this lesson, students pause their own on developing web pages so they can develop an understanding of how personal information is surfaced on the internet, sometimes intentionally and sometimes unintentionally. Students look at several fictitious social media pages to see what they can learn about different people purely from publicly available information. They then reflect on what guidelines are appropriate for posting their own information online, especially as they prepare to create more personalized websites.

Objectives

  • Understand and explain reasons that it is difficult to control who sees information published online.
  • Understand and justify guidelines for safely publishing information online.

Vocabulary

Digital Footprint
The collected information about an individual across multiple websites on the Internet.

CSTA standards

1B-NI-052-IC-202-IC-23

Agenda

Warm Up 5 min
Your Digital Footprint
Activity 35 min
Investigating Social Profiles
Wrap Up 5 min

Preparation

  • Print out copies of "Social Sleuth" for each student (or one for each group if grouping)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Sep 24SDU2Lesson 5: Mini-Project - HTML Web Page

Overview

In this mini-project, students use what they have learned to create a web page for a user. Students begin their project by using the Problem Solving Process to help them design a web page for a user. As they determine what content to include on the web page for their user, they will identify which tags they will use to implement their design. Students then build their user’s web page in Web Lab. Optionally, after engaging in a formal feedback process, they may change their web pages based on feedback before reflecting on their process. The lesson also includes an optional review of the HTML students have learned ‌before building the web page.

Question of the Day: How can I use HTML to design and build a web page for a user?

Objectives

  • Build a webpage using HTML
  • Design a webpage based on user needs
  • Write readable code

CSTA standards

1B-AP-111B-AP-121B-AP-15

Agenda

Project Setup
Warm Up 5 min
Activity 35 min
Designing and Building Web Pages for Users · Step 1: Define - Pick a User and Define Their Needs · Step 2: Prepare - Design the Page Layout · Step 3: Try - Develop your Page · Peer Feeedback · Step 4: Reflect
Wrap Up 5 min
Journal

Preparation

  • Determine which project guide option your students will complete
  • Print out a copy of the project guide for each student.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Fri Sep 25SDFlexCatch-up after Mini-Project - HTML Web Page
Mon Sep 28SDU2Lesson 6: Styling Text with CSS

Overview

This lesson introduces CSS as a way to style elements on the page. Students learn the basic syntax for CSS rule-sets and then explore properties that impact HTML text elements. They work on an HTML page about Guinness World Record holders, adding their own style to the provided page. While only a few CSS properties are introduced in the core lesson, students are encouraged to use the optional activities at the end of the lesson to explore more ways that they can express themselves using CSS.

Question of the Day: How can we change the style of text on a web page?

Objectives

  • Explain the differences between HTML and CSS in both use and syntax.
  • Link to an external style sheet.
  • Use CSS selectors to style HTML text elements.

Vocabulary

CSS
Cascading Style Sheets; a language used to describe how HTML elements should be styled
CSS Selector
the part of a CSS rule-set that defines which HTML elements the style should be applied to

CSTA standards

2-AP-162-AP-19

Agenda

Warm Up 5 min
Journal: HTML Appearance
Activity 30 min
Web Lab: Introduction to CSS
Wrap Up 10 min
Recording CSS Properties

Preparation

  • Create a new poster titled CSS Properties if your students will not be tracking new CSS properties in their journals
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Tue Sep 29SDFlexFlex — catch-up
Wed Sep 30SDU2Lesson 7: Intellectual Property

Overview

Until this point, the only content that students have used on their web pages is their own, but in the next lesson, they will be adding images to their sites. Before they do so, they need to understand the rules governing how to legally use content they find on the web. Starting with a discussion of their personal opinions on how others should be allowed to use their work, the class explores the purpose and role of copyright for both creators and users of creative content. They then move on to an activity exploring the various Creative Commons licenses as a solution to the difficulty in dealing with copyright.

Question of the Day: What kind of rules protect everyone's rights when we use each other's content?

Objectives

  • Explain the purpose of copyright.
  • Identify the rights and restrictions granted by various Creative Commons licenses.

Vocabulary

Copyright
the exclusive legal right to print, publish, perform, film, or record literary, artistic, or musical material, and to authorize others to do the same

CSTA standards

1B-IC-212-IC-233A-AP-20

Agenda

Warm Up 5 min
Use of Your Work
Activity 35 min
The Creative Commons Solution
Wrap Up 5 min
Your Own CC License

Preparation

  • Preview Creative Commons Overview - Video. You may need to download it before school if YouTube is blocked.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Oct 1SDU2Lesson 8: Using Images

Overview

This lesson introduces images, which are different from earlier tags in that they are 'self-closing' and include attributes. Students should understand that these tags do not surround content in the same way as other tags. Students start the class by considering the ethical implications of using images on their websites, specifically in terms of intellectual property. They then learn how to add images to their web pages using the <img> tag and how to cite the image sources appropriately.

Question of the Day: How can we add images on our websites, while making sure we respect everyone's rights?

Objectives

  • Add an image to a web page.
  • Follow copyright law, accurately attributing others when using their work.

CSTA standards

1B-IC-212-AP-162-IC-233A-AP-20

Agenda

Warm Up 5 min
Using Images
Activity 35 min
Adding Images
Wrap Up 5 min
Using Images

Preparation

Fri Oct 2SDU2Lesson 9: Styling Elements with CSS

Overview

This lesson continues the introduction to CSS style properties, this time focusing more on non-text elements. Students begin this lesson by looking at a website about Desserts of the World. They investigate and modify the new CSS styles on this website, adding their own styles to the page. After working on the Desserts page, students apply their knowledge of new CSS properties to their personal websites.

Question of the Day: How can we style the images and layouts of our pages?

Objectives

  • Create a CSS rule-set for the body element that impacts all elements on the page.
  • Use CSS properties to change the size, position, and borders of elements.

CSTA standards

2-AP-162-AP-19

Agenda

Warm Up 5 min
Discuss: What Styles Do You Want?
Activity 35 min
Web Lab: Styling Elements with CSS
Wrap Up 5 min

Preparation

Mon Oct 5SDU2Lesson 10: Mini-Project - Adding Style to a Web Page

Overview

In this mini-project, students use what they have learned to style a web page for a user. Students begin their project using the Problem Solving Process to help them determine how they will style a web page for a user. Students then style their users' web pages in Web Lab. Optionally, after engaging in a formal feedback process, they may change their web pages based on feedback before reflecting on their process. The lesson also includes an optional review of the HTML and CSS students learned ‌before styling the web page.

Question of the Day: How can I use CSS to style a web page for a user?

Objectives

  • Style a webpage based on user needs
  • Style a webpage using CSS
  • Write readable code

CSTA standards

2-AP-162-AP-19

Agenda

Warm Up 5 min
Activity 35 min
Styling Web Pages for Users · Step 1: Define - Define Your User’s Needs · Step 2: Prepare - Design the Style · Step 3: Try - Develop your Page · Peer Feedback · Step 4: Reflect
Wrap Up 5 min
Journal

Preparation

  • Print a copy of the project guide for each student.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Tue Oct 6SDFlexCatch-up after Mini-Project - Adding Style to a Web Page
Wed Oct 7SDU2Lesson 11: CSS Classes

Overview

Up until this point, the only styling students have been able to do is styling by the element, which means that every element of a particular kind has the same style. This lesson expands on the CSS that students have already learned by introducing classes, which allow web developers to treat groups of elements they want to be styled differently than other elements of the same type. Students first investigate and modify classes on various pages, then create their own classes and use them to better control the appearance of their pages. They then reflect on how they could use this skill to improve their team websites.

Question of the Day: How can we create different styles for the same type of element?

*Note: Single elements can also be selected by id, but this type of selection is possible with a class applied only to that single element. Because id selection does not add any extra functionality, it is not taught in this course.*

Objectives

  • Group elements using classes in order to create more specific styles on their website.

Vocabulary

CSS Class
An identifier that allows multiple elements in an HTML document to be styled in the same way

CSTA standards

2-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Discuss: What Styles Do You Want?
Activity 35 min
Classes
Wrap Up 5 min
Journal

Preparation

Thu Oct 8SDU2Lesson 12: Organizing Content with Flexbox

Overview

This lesson introduces students to two new web development tools: div tags and Flexbox styling. This lesson introduces students to div tags to organize their HTML code into sections. They then learn about Flexbox and how it can be used with their div containers to style and position items. Students practice using Flexbox properties to control the layout of web pages.

Question of the Day: What are div tags and Flexbox and why are they important in web design?

Objectives

  • Analyze and solve common web design layout challenges using div tags and Flexbox
  • Apply Flexbox properties in CSS
  • Identify and explain the purpose and use of div tags in HTML

Vocabulary

Flexbox
a layout model in CSS for displaying items
div
the HTML division tag, called “div” for short, is an element that lets you group sets of content together in a container

CSTA standards

1B-AP-152-AP-132-AP-17

Agenda

Warm Up 5 min
Quick Sketch
Activity 35 min
Introduction to Div and Flex · Div and Flex Practice
Wrap Up 5 min
Solving Layout and Design Issues

Preparation

  • Print copies of the handout
  • If you would like more information on what Flexbox is and how to use it with CSS, check out this video!
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Fri Oct 9SDU2Lesson 13: Flexbox Children for More Control

Overview

This lesson introduces students to advanced Flexbox child properties including `order`, `align-self`, `flex-grow`, and `flex-shrink` through an interactive warm-up and the various level exercises. They’ll deepen their understanding of how these properties affect web page layouts and conclude with a creative group drawing game to reinforce their learning.

Question of the Day: How do Flexbox child properties affect the layout and organization of elements within a webpage?

Objectives

  • Analyze and solve common web design layout challenges using Flexbox
  • Apply Flexbox children properties in CSS

CSTA standards

2-AP-132-AP-193A-AP-19

Agenda

Warm Up 5 min
Predict the Layout
Activity 30 min
Introduction to Flex Children · Div and Flex Practice
Wrap Up 10 min
Flex Property Pictionary

Preparation

  • Print out one copy of the activity guide and handout for each student.
  • Print and cut out the Pictionary Terms slips.
  • If you would like more information on how to use Flexbox Children check out this video!
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Mon Oct 12SDU2Lesson 14: Chapter 1 Projectday 1/2

Overview

In this chapter project, students use what they have learned to style and organize a web page for a user. Students begin their project by using the Problem Solving Process to help them determine how they will organize the content of a user’s web page. Students then use CSS classes and flexbox to organize their user’s web page in Web Lab. Optionally, after engaging in a formal feedback process, they may change their web pages based on feedback before reflecting on their process.

Question of the Day: How can I use CSS classes and Flexbox to organize webpage content for a user?

Objectives

  • Organize webpage content using flexbox
  • Style a webpage using CSS
  • Write readable code

CSTA standards

1B-IC-212-AP-152-AP-162-AP-172-AP-19

Agenda

Project Setup
Warm Up 5 min
Debugging 3-2-1
Activity 75 min
Final Product for Users · Step 1: Define - Define Your User’s Needs · Step 2: Prepare - Design the Page · Step 3: Try - Develop your Page · Chapter 1 Project · [Optional] Peer Feedback · Step 4: Reflect · [OPTIONAL] Publishing Your Website
Wrap Up 10 min
Journal

Preparation

  • Determine which project option your students will complete.
  • Print copies of the project guide and any accompanying handouts for your students
  • Print copies of the reflection and peer feedback documents.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications

Resources

Tue Oct 13SDU2Lesson 14: Chapter 1 Projectday 2/2

Continuation — day 2 of 2.

Overview

In this chapter project, students use what they have learned to style and organize a web page for a user. Students begin their project by using the Problem Solving Process to help them determine how they will organize the content of a user’s web page. Students then use CSS classes and flexbox to organize their user’s web page in Web Lab. Optionally, after engaging in a formal feedback process, they may change their web pages based on feedback before reflecting on their process.

Question of the Day: How can I use CSS classes and Flexbox to organize webpage content for a user?

Objectives

  • Organize webpage content using flexbox
  • Style a webpage using CSS
  • Write readable code

CSTA standards

1B-IC-212-AP-152-AP-162-AP-172-AP-19

Agenda

Project Setup
Warm Up 5 min
Debugging 3-2-1
Activity 75 min
Final Product for Users · Step 1: Define - Define Your User’s Needs · Step 2: Prepare - Design the Page · Step 3: Try - Develop your Page · Chapter 1 Project · [Optional] Peer Feedback · Step 4: Reflect · [OPTIONAL] Publishing Your Website
Wrap Up 10 min
Journal

Preparation

  • Determine which project option your students will complete.
  • Print copies of the project guide and any accompanying handouts for your students
  • Print copies of the reflection and peer feedback documents.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications

Resources

Wed Oct 14SDFlexCatch-up after Chapter 1 Project
Thu Oct 15SDU2Lesson 15: Team Problem Solving

Overview

This lesson explicitly addresses the challenges students may find working in a group and supports them in crafting a plan to overcome these challenges. Students work together to set group norms and brainstorm what features they would like their websites to have. The class starts by thinking of some popular teams in different contexts, then reflects on what makes teams successful. They then get into their own teams and make a plan for how they will interact and reach success in their own projects. Afterward, the teams begin to brainstorm ideas for their website project.

Question of the Day: How can we work together to make a great team?

Objectives

  • Communicate and collaborate with classmates in order to solve a problem

CSTA standards

2-AP-152-AP-182-AP-192-IC-202-IC-22

Agenda

Warm Up 5 min
Activity 35 min
Team Goal · Skills and Goals · Bringing Different Ideas Together · Looking forward
Wrap Up 5 min
Shout-outs!

Preparation

Fri Oct 16PDProfessional development — teacher workday
Mon Oct 19SDFlexFlex — catch-up
Tue Oct 20SDU2Lesson 16: Sources and Research

Overview

This lesson encourages students to think more about their responsibilities as consumers of information and how to find relevant and trustworthy information online. After viewing and discussing a video about how search engines work, students will search for information relevant to their site. They'll need to analyze the sites they find for credibility to decide which are appropriate to use on their own website. By the end of this lesson, students should have developed strategies for determining which websites are more trustworthy and tie these strategies back to their own role as content producers by looking for ways to make their own sites appear more trustworthy.

Question of the Day: How do we find relevant and trustworthy information on the Internet?

Objectives

  • Identify elements that contribute to a website's trustworthiness or untrustworthiness
  • Use basic web searching techniques to find relevant information online

Vocabulary

Relevant
closely connected to a topic
Search Engine
A program that searches for items on the World Wide Web.
Trustworthy
reliable, honest, and truthful

CSTA standards

2-IC-202-IC-212-IC-23

Agenda

Warm Up 10 min
Internet Scavenger Hunt
Activity 30 min
Research and Trustworthiness · The Trustworthiness Checklist · How Search Works
Wrap Up 5 min
Journal

Preparation

  • Print a copy of the Internet Scavenger Hunt activity guide for each pair of students, or prepare to project the questions to the class.
  • Create a blank poster titled Trustworthiness Checklist and place it on the wall.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Wed Oct 21SDU2Lesson 17: Linking Pages

Overview

This lesson will give students practice in using links and introduce them to good navigation practices for their sites. Students begin by looking online for the first web page and discussing how its use of links was what started the web. They then transition to Web Lab where they learn how to make their own links, as well as good conventions that make it easier for users to navigate on a page. Finally, they reflect on their group project and what their personal goals are for the final stretch.

Question of the Day: How can we combine several different web pages into one website?

Objectives

  • Use HTML to link between web pages.

CSTA standards

1B-AP-121B-IC-212-AP-152-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
First Web Page Hunt
Activity 35 min
Web Lab
Wrap Up 5 min
Journal

Preparation

  • Make sure students have access to their website plans from the previous lesson.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Oct 22SDU2Lesson 18: CSS Pseudo-classes

Overview

This lesson introduces students to the dynamic world of CSS pseudo-classes. Students will learn about their role in enhancing web page interactivity and style. They will explore, practice, and apply various pseudo-classes like `link`, `visited`, `hover`, and `active`, understanding how these selectors can transform the user experience on websites.

Question of the Day: What is a CSS pseudo-class, and how does it change the way an element looks or behaves on a web page?

Objectives

  • Apply pseudo-classes to selectors in CSS to enhance website interactivity and design
  • Explain the function and importance of CSS Pseudo-classes

CSTA standards

1B-AP-152-AP-173A-AP-163A-AP-19

Agenda

Warm Up 5 min
Explore Pseudo-classes
Activity 35 min
Pseudo-class Practice
Wrap Up 5 min

Preparation

Fri Oct 23SDFlexFriday catch-up & reteach
Mon Oct 26SDU2Lesson 19: Planning a Multi-Page Siteday 1/2

Overview

Students work in teams to plan out their websites and create a sketch of each page. They then download the media that they will need for their sites. At the end of the activity, they decide how the work will be distributed among team members and report whether the entire group agreed to the plan.

Question of the Day: How do we plan a web page as a group?

Objectives

  • Distribute tasks amongst team members.
  • Seek and incorporate feedback from team members.

CSTA standards

1B-AP-111B-AP-141B-AP-161B-IC-201B-IC-212-AP-132-AP-152-AP-182-AP-19

Agenda

Warm Up 5 min
Activity 80 min
Overview · Design Your Site · Describe Your Tag and Class Styles · Work Plan · Find Your Images · Uploading images
Wrap Up 5 min
Journal

Preparation

Tue Oct 27SDU2Lesson 19: Planning a Multi-Page Siteday 2/2

Continuation — day 2 of 2.

Overview

Students work in teams to plan out their websites and create a sketch of each page. They then download the media that they will need for their sites. At the end of the activity, they decide how the work will be distributed among team members and report whether the entire group agreed to the plan.

Question of the Day: How do we plan a web page as a group?

Objectives

  • Distribute tasks amongst team members.
  • Seek and incorporate feedback from team members.

CSTA standards

1B-AP-111B-AP-141B-AP-161B-IC-201B-IC-212-AP-132-AP-152-AP-182-AP-19

Agenda

Warm Up 5 min
Activity 80 min
Overview · Design Your Site · Describe Your Tag and Class Styles · Work Plan · Find Your Images · Uploading images
Wrap Up 5 min
Journal

Preparation

Wed Oct 28SDU2Lesson 20: Project - Website for a Purposeday 1/2

Overview

Teams have spent a lot of time throughout the chapter planning their websites. In this lesson, they are finally able to code their pages. Using the project guide, the team works together and individually to code all of the pages, then puts all of the work together into a single site.

Question of the Day: What skills and practices will help us work together to make a great website?

Objectives

  • Create a digital artifact
  • Distribute tasks among team members and maintain a project timeline

CSTA standards

2-AP-152-AP-162-AP-172-AP-182-AP-19

Agenda

Warm Up 5 min
Team Cheer
Activity 80 min
Web Lab
Wrap Up 5 min
Shout-out!

Preparation

Thu Oct 29SDU2Lesson 20: Project - Website for a Purposeday 2/2

Continuation — day 2 of 2.

Overview

Teams have spent a lot of time throughout the chapter planning their websites. In this lesson, they are finally able to code their pages. Using the project guide, the team works together and individually to code all of the pages, then puts all of the work together into a single site.

Question of the Day: What skills and practices will help us work together to make a great website?

Objectives

  • Create a digital artifact
  • Distribute tasks among team members and maintain a project timeline

CSTA standards

2-AP-152-AP-162-AP-172-AP-182-AP-19

Agenda

Warm Up 5 min
Team Cheer
Activity 80 min
Web Lab
Wrap Up 5 min
Shout-out!

Preparation

Fri Oct 30SDU2Lesson 21: Peer Review and Final Touchesday 1/2

Overview

This lesson focuses on the value of peer feedback. Students first reflect on what they are proud of, and what they would like feedback on. Teams then work with peers to get that feedback through a structured process that includes the project rubric criteria. Afterward, students decide how they would like to respond to the feedback and put the finishing touches on their sites. After a final review of the rubric, they reflect on their process. To cap off the unit, they will share their projects and also an overview of the process they took to get to that final design.

Question of the Day: How can we use feedback to make our websites better?*

Objectives

  • Give and receive feedback
  • Prioritize and implement incremental improvements

CSTA standards

2-AP-152-AP-162-AP-172-AP-182-AP-19

Agenda

Warm Up 5 min
Journal 3-2-1
Feedback and Iteration 40 min
Reflect: Peer Review · Prepare and Try: Final Touches · Reflect: Final Reflection · Teacher End-Of-Unit Survey
Showcase 45 min
Showcase Set Up · Student Website Showcase
After the Lesson
Post-Project Test · End Of Course Survey

Preparation

  • Print a copy of the peer review guide for each student.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications

Quarter 2

Nov 4 – Jan 22, 2027 · 48 teaching days
Mon Nov 2GPGrading & planning — teacher workday
Tue Nov 3HHoliday — schools closed
Wed Nov 4SDU2Lesson 21: Peer Review and Final Touchesday 2/2

Continuation — day 2 of 2.

Overview

This lesson focuses on the value of peer feedback. Students first reflect on what they are proud of, and what they would like feedback on. Teams then work with peers to get that feedback through a structured process that includes the project rubric criteria. Afterward, students decide how they would like to respond to the feedback and put the finishing touches on their sites. After a final review of the rubric, they reflect on their process. To cap off the unit, they will share their projects and also an overview of the process they took to get to that final design.

Question of the Day: How can we use feedback to make our websites better?*

Objectives

  • Give and receive feedback
  • Prioritize and implement incremental improvements

CSTA standards

2-AP-152-AP-162-AP-172-AP-182-AP-19

Agenda

Warm Up 5 min
Journal 3-2-1
Feedback and Iteration 40 min
Reflect: Peer Review · Prepare and Try: Final Touches · Reflect: Final Reflection · Teacher End-Of-Unit Survey
Showcase 45 min
Showcase Set Up · Student Website Showcase
After the Lesson
Post-Project Test · End Of Course Survey

Preparation

  • Print a copy of the peer review guide for each student.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Nov 5SDFlexUnit break — catch-up & reset
Fri Nov 6SDFlexFlex — catch-up
Mon Nov 9SD3bLesson 1: Programming for a Purpose

Overview

To kick off a unit devoted to problem-solving and developing animations and games, students begin by investigating the design of different animations and games. Students look at a variety of animations and games and attempt to match each design with a potential user. Then students choose a user and attempt to prototype an animation or game design for them on paper or in a digital template. To conclude the activity, students consider what it means to be an animation and game designer and create resources for other users.

Question of the Day: How can we design animations and games based on the needs of a user?

Objectives

  • Create a prototype of an animation or game design to meet the needs of a user using the problem-solving process
  • Identify features of an animation or game design that match the needs of users
  • Understand the steps of the problem-solving process

CSTA standards

2-AP-13

Agenda

Before the Lesson
Preparing for the Unit
Warm Up - Option 1
Problem Solving Word Search · The Problem Solving Process
Warm Up - Option 2 5 min
Revisit The Problem Solving Process
Activity 35 min
Recommending Animations and Games · Designing an Animation or Game
Wrap Up 5 min
Reflection

Preparation

Tue Nov 10SD3bLesson 2: Plotting Shapes

Overview

The primary purpose of this lesson is to introduce students to the coordinate system they will use in Game Lab. Students begin by exploring the challenges of communicating how to draw with shapes and then transition to using a tool that introduces how this problem is approached in Game Lab. The warm-up activity quickly demonstrates the challenges of communicating position without some shared reference point. In the main activity, students explore a Game Lab tool that allows students to interactively place shapes on Game Lab's 400 by 400 grid. They then take turns instructing a partner how to draw a hidden image using this tool, accounting for many challenges students will encounter when programming in Game Lab. Students optionally create their own images to communicate before a final debrief discussion.

Question of the Day: How can we clearly communicate how to draw something on a screen?

Objectives

  • Communicate how to draw an image in Game Lab, accounting for shape position, color, and order
  • Reason about locations on the Game Lab coordinate grid

CSTA standards

2-AP-102-AP-132-AP-17

Agenda

Warm Up 5 min
Communicating Drawing Information
Activity 35 min
Drawing with a Computer
Wrap Up 5 min
Journaling

Preparation

Wed Nov 11SD3bLesson 3: Drawing in Game Lab

Overview

This lesson is designed to give students a chance to get used to the programming environment, as well as the basic sequencing and debugging that they will use throughout the unit. Students begin with an introduction to the GameLab interactive development environment (IDE), then learn the three commands ([`rect`(#4dd0e1)](/docs/gamelab/rect/), [`ellipse`(#4dd0e1)](/docs/gamelab/ellipse/), and [`fill`(#4dd0e1)](/docs/gamelab/fill/)) that they will need to code the same types of images that they created on paper in the previous lesson. Challenge levels provide a chance for students who have more programming experience to further explore Game Lab.

Question of the Day: How can we communicate to a computer how to draw shapes on the screen?

Objectives

  • Sequence code correctly to overlay shapes.
  • Use a coordinate system to place elements on the screen.

Vocabulary

Bug
Part of a program that does not work correctly.
Debugging
Finding and fixing problems in an algorithm or program.
Program
An algorithm that has been coded into something that can be run by a machine.

CSTA standards

2-AP-132-AP-19

Agenda

Warm Up 5 min
Programming Images
Activity 35 min
Simple Drawing in Game Lab · Share Drawings
Wrap Up 5 min

Preparation

  • Prepare projector or other means of showing videos if you wish to watch as a class
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Nov 12SD3bLesson 4: Shapes and Parameters

Overview

In this lesson, students continue to build skills and develop their familiarity with Game Lab by manipulating the width and height of the shapes they use to draw. The lesson kicks off with a discussion that connects expanded block functionality (e.g. different sized shapes) with the need for more block inputs, or "parameters". Students learn to draw with versions of [`ellipse()`(#4dd0e1)](/docs/gamelab/ellipse/) and [`rect()`(#4dd0e1)](/docs/gamelab/rect/) that include width and height parameters. They also learn to use the [`background()`(#4dd0e1)](/docs/gamelab/background/) block. Throughout the lesson, students will need to reason about the x-y coordinate plane, consider the order of their code, and slightly increase their programs' complexity.

Question of the Day: How can we use parameters to give the computer more specific instructions?

Objectives

  • Use and reason about drawing commands with multiple parameters

Vocabulary

Parameter
Additional information provided as input to a block to customize its functionality

CSTA standards

2-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Shapes of Different Sizes
Activity 35 min
Programming with Parameters
Wrap Up 5 min
Journal

Preparation

  • Review the level sequence in Code Studio
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Fri Nov 13SDFlexFriday catch-up & reteach
Mon Nov 16SD3bLesson 5: Variables

Overview

In this lesson, students learn how to use variables to label a value. Students begin the lesson with a very basic description of the purpose of a variable within the context of the storage component of the input-output-storage-processing model. Students then complete a level progression that reinforces the model of a variable as a way to label or name a number. Students should leave this lesson knowing that variables are a way to label a value in their programs so that they can be reused or referenced later. In the following lesson, students will be introduced to random numbers, in which they will see a more powerful use for variables, and in later lessons, students will continue to expand their understanding of variables and experience more advanced ways they can be used.

Question of the Day: How can we use variables to store information in our programs?

Objectives

  • Identify a variable as a way to label and reference a value in a program
  • Use variables in a program to store a piece of information that is used multiple times

Vocabulary

Variable
A label for a piece of information used in a program.

CSTA standards

2-AP-112-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Input-Output-Storage-Processing
Activity 35 min
Programming with Variables
Wrap Up 5 min
Reflection

Preparation

  • Review the level progression in Code Studio
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Tue Nov 17SD3bLesson 6: Random Numbers

Overview

This lesson introduces randomness, which is important both as a way to make programs more interesting and also to motivate the use of variables. Students are introduced to the [`randomNumber()`(#FFB74D)](/docs/gamelab/randomNumber/) block and how it can be used to create new behaviors in their programs. They then learn how to update variables during a program. Combining all of these skills, students draw randomized images.

Question of the Day: How can we make our programs behave differently each time they are run?

Objectives

  • Generate and use random numbers in a program
  • Update a value stored in a variable

CSTA standards

2-AP-112-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 35 min
Programming Images
Wrap Up 5 min

Preparation

  • Review the level progression in Code Studio
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Wed Nov 18SD3bLesson 7: Mini-Project - Robot Faces

Overview

After a quick review of the code they have learned so far, students are introduced to their first creative project of the unit. Using the problem-solving process as a model, students define the robot face that they want to create, prepare by thinking of the different code they will need, try their plan in Game Lab, then reflect on what they have created. They also have a chance to share their creations with their peers. The open-ended nature of this lesson also provides flexibility for the teacher to decide how long students should spend on their work, depending on the scheduling demands of the particular course implementation.

Question of the Day: How can we use shapes, variables, and randomness to express our creativity?

Objectives

  • Apply variables, shapes, and randomNumber concepts to create a program.
  • Use a structured process to plan and develop a program.

CSTA standards

2-AP-112-AP-132-AP-17

Agenda

Warm Up 5 min
Review
Activity 35 min
Step 1: Define - Describe your Image · Step 2: Prepare - Design your Image · Step 3: Try - Develop your Image · Gallery Walk
Wrap Up 5 min
Journal

Preparation

Thu Nov 19SDFlexCatch-up after Mini-Project - Robot Faces
Fri Nov 20SD3bLesson 8: Sprites

Overview

In order to create more interesting and detailed images, students are introduced to the sprite object which allows for one variable name to control both the shape and all its aspects. The lesson starts with a discussion of the various information that programs must keep track of, then presents sprites as a way to keep track of that information. Students then learn how to assign each sprite an image, which will greatly increase the complexity of what they can draw on the screen.

Question of the Day: How can we use sprites to help us keep track of lots of information in our programs?

Objectives

  • Create and use a sprite

Vocabulary

Sprite
A character on the screen with properties that describe its location, movement, and look.

CSTA standards

2-AP-112-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
How Much Information?
Activity 35 min
Introduction to Sprites · Skill Building · Check for Understanding · Practice · Assessment · Challenges
Wrap Up 5 min
Journal

Preparation

Mon Nov 23ERFlexShort-schedule day — flex
Tue Nov 24ER3bLesson 9: Sprite Properties

Overview

In the last lesson, when students were introduced to sprites, they focused mainly on creating a sprite and assigning it an animation. This lesson starts to dig into what makes sprites such a powerful programming construct - that they have properties that can be modified as a program is _running_. This lays the foundation for much of what students will be doing in the rest of the unit in terms of accessing and manipulating sprite properties to create interesting behaviors in their programs. The lesson starts with a review of what a sprite is, then students move on to Game Lab to practice more with sprites, using their properties to change their appearance. They then reflect on the connections between properties and variables.

Question of the Day: How can we use sprite properties to change their appearance on the screen?

Objectives

  • Use dot notation to update a sprite's properties

Vocabulary

Dot notation
the way that sprites' properties are used in Game Lab, by connecting the sprite and property with a dot.
Property
A label for a characteristic of a sprite, such as its location and appearance

CSTA standards

2-AP-112-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min

Preparation

Wed Nov 25ER3bLesson 10: Text

Overview

This lesson introduces Game Lab's text commands, giving students more practice using the coordinate plane and parameters. This is the last type of element that students will be placing on the screen - after this, students will focus on how they can control the movement and interactions of these elements. The lesson begins with asking students to caption a cartoon created in Game Lab. They then move on to Code Studio where they practice placing text on the screen and controlling other text properties, such as size. Students who complete the assessment early can go on to learn more challenging blocks related to text properties.

Question of the Day: How can we use text to improve our scenes and animations?

Objectives

  • Place text on the screen using a coordinate plane.
  • Use arguments to control how text is displayed on a screen.

CSTA standards

2-AP-122-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap up 5 min
Journal

Preparation

Thu Nov 26HHoliday — schools closed
Fri Nov 27HHoliday — schools closed
Mon Nov 30SD3bLesson 11: Mini-Project - Captioned Scenes

Overview

After a quick review of the code they have learned so far, students start working on their next creative project of the unit. Using the problem-solving process as a model again, students define the scene that they want to create, prepare by thinking of the different code they will need, try their plan in Game Lab, then reflect on what they have created. They also have a chance to share their creations with their peers. The open-ended nature of this lesson also provides flexibility for the teacher to decide how long students should spend on their work, depending on the scheduling demands of the particular course implementation.

Question of the Day: How can we use Game Lab to express our creativity?

Objectives

  • Use a structured process to plan and develop a program.

CSTA standards

2-AP-112-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Review
Activity 35 min
Step 1: Define - Describe Your Scene · Step 2: Prepare - Design Your Image · Step 3: Try - Develop Your Scene · Gallery Walk
Wrap up 5 min
Journal

Preparation

Tue Dec 1SDFlexCatch-up after Mini-Project - Captioned Scenes
Wed Dec 2SD3bLesson 12: The Draw Loop

Overview

In this lesson, students are introduced to the draw loop, one of the core programming paradigms in Game Lab. To begin the lesson students look at some physical flipbooks to see that having many frames with different images creates the impression of motion. Students then watch a video explaining how the draw loop in Game Lab helps to create this same impression in their programs. Students combine the draw loop with random numbers to manipulate some simple animations with dots and then with sprites. Students should leave the lesson understanding that the commands in the draw loop are called after all other code but are then called repeatedly to create animation. Students will have a chance to continue to develop an understanding of this behavior in the next two lessons, but laying a strong conceptual foundation in this lesson will serve them well for the rest of the unit.

Question of the Day: How can we animate our images in Game Lab?

Objectives

  • Explain how the draw loop allows for the creation of animations in Game Lab
  • Use the draw loop in combination with the randomNumber() command, shapes, and sprites to make simple animations

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min

Preparation

  • Print and assemble the manipulatives
  • Prepare the video
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Dec 3SD3bLesson 13: Sprite Movement

Overview

This lesson builds on the draw loop that students learned previously to create programs with _purposeful_ motion. Students learn how to control sprite movement using a construct called the counter pattern, which incrementally changes a sprite's properties. Students first brainstorm different ways that they could animate sprites by controlling their properties, then explore the counter pattern in Code Studio. After examining working code, students try using the counter pattern to create various types of sprite movements. The skills that students build in this lesson lay the foundation for all of the animations and games that they will make throughout the rest of the unit.

Question of the Day: How can we control sprite movement in Game Lab?

Objectives

  • Identify which sprite properties need to be changed, and in what way, to achieve a specific movement
  • Use the counter pattern to increment or decrement sprite properties

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Reviewing Sprite Properties
Activity 35 min
Wrap Up 5 min
Journal

Preparation

Fri Dec 4SD3bLesson 14: Mini-Project - Animation

Overview

This lesson is a chance for students to get more creative with what they have learned as students are asked to combine different methods that they have learned to create an animated scene. Students first review the types of movement and animation that they have learned and brainstorm what types of scenes might need that movement. They then begin to plan out their own animated scenes, which they create in Game Lab.

Question of the Day: How can we combine different programming patterns to make a complete animation?

CSTA standards

2-AP-112-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Review
Activity 35 min
Step 1: Define - Describe Your Scene · Step 2: Prepare - Design Your Scene · Step 3: Try - Develop Your Scene · Gallery Walk
Wrap up 5 min
Journal

Preparation

Mon Dec 7SDFlexCatch-up after Mini-Project - Animation
Tue Dec 8SD3bLesson 15: Conditionals

Overview

This lesson introduces booleans and conditionals, which allow a program to run differently depending on whether a condition is true. Students start by playing a short game in which they respond according to whether particular conditions are met. They then move to Code Studio, where they learn how the computer evaluates Boolean expressions, and how they can be used to structure a program.

Question of the Day: How can programs react to changes as they are running?

Objectives

  • Use conditionals to react to changes in variables and sprite properties

Vocabulary

Boolean Expression
in programming, an expression that evaluates to True or False.
Condition
Something a program checks to see whether it is true before deciding to take an action.
Conditionals
Statements that only run when certain conditions are true.

CSTA standards

2-AP-122-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Introducing Conditionals
Activity 35 min
Conditionals
Wrap Up 5 min
Considering Conditions

Preparation

Wed Dec 9SD3bLesson 16: Keyboard Input

Overview

One common way conditionals are used is to check for different types of user input, especially key presses. Following the introduction to booleans and _if_ statements in the previous lesson, students are introduced to a new block called [`keyDown()`(#fff176)](/docs/gamelab/keyDown/) which returns a boolean and can be used in conditionals statements to move sprites around the screen. By the end of this lesson, students will have written programs that take keyboard input from the user to control sprites on the screen.

Question of the Day: How can our programs react to user input?

Objectives

  • Move sprites in response to keyboard input
  • Use conditionals to react to keyboard input

CSTA standards

2-AP-112-AP-122-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Taking Input
Activity 35 min
Keyboard Input
Wrap Up 5 min
Adding Conditionals

Preparation

Thu Dec 10SD3bLesson 17: Mouse Input

Overview

In this lesson, students continue to explore ways to use conditional statements to take user input - this time with the mouse. They will also expand their understanding of conditionals to include _else_, which allows for the computer to run a certain section of code when a condition is true, and a different section of code when it is not. This concept is introduced alongside several new mouse input commands, allowing students to gradually build up programs that use input in different ways.

Question of the Day: What are more ways that the computer can react to user input?

Objectives

  • Respond to a variety of types of user input.
  • Use an if-else statement to control the flow of a program.

Vocabulary

Conditionals
Statements that only run when certain conditions are true.

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
3-2-1 Review
Activity 35 min
If/Else and More Input
Wrap Up 5 min
Wrap Up

Preparation

Fri Dec 11SD3bLesson 18: Project - Interactive Cardday 1/2

Overview

This end-of-chapter assessment is a good place for students to bring together all the pieces they have learned (drawing, variables, sprites, images, conditionals, user input) in one place. In this project, students plan for and develop an interactive greeting card using all of the programming techniques they've learned to this point. Giving students the opportunity to really be creative after learning all these new concepts will help to engage them further as they head into Chapter 2.

Question of the Day: What skills and practices are important when creating an interactive program?

Objectives

  • Apply an iterator pattern to variables or properties in a loop
  • Sequence commands to draw in the proper order
  • Use conditionals to react to keyboard input or changes in variables / properties

CSTA standards

2-AP-112-AP-122-AP-132-AP-152-AP-162-AP-172-AP-182-AP-19

Agenda

Warm Up 5 min
Journal
Activity 80 min
Demo Project Exemplars (Level 1) · Step 1: Define - Plan Your Card · Step 2: Prepare - Design Your Card · Step 3: Try - Develop Your Card · Peer Review · Iterate - Update Code · Step 4: Reflect
Wrap Up 5 min
Reflection

Preparation

  • Print out a copy of the project guide for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Mon Dec 14SD3bLesson 18: Project - Interactive Cardday 2/2

Continuation — day 2 of 2.

Overview

This end-of-chapter assessment is a good place for students to bring together all the pieces they have learned (drawing, variables, sprites, images, conditionals, user input) in one place. In this project, students plan for and develop an interactive greeting card using all of the programming techniques they've learned to this point. Giving students the opportunity to really be creative after learning all these new concepts will help to engage them further as they head into Chapter 2.

Question of the Day: What skills and practices are important when creating an interactive program?

Objectives

  • Apply an iterator pattern to variables or properties in a loop
  • Sequence commands to draw in the proper order
  • Use conditionals to react to keyboard input or changes in variables / properties

CSTA standards

2-AP-112-AP-122-AP-132-AP-152-AP-162-AP-172-AP-182-AP-19

Agenda

Warm Up 5 min
Journal
Activity 80 min
Demo Project Exemplars (Level 1) · Step 1: Define - Plan Your Card · Step 2: Prepare - Design Your Card · Step 3: Try - Develop Your Card · Peer Review · Iterate - Update Code · Step 4: Reflect
Wrap Up 5 min
Reflection

Preparation

  • Print out a copy of the project guide for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Tue Dec 15SDFlexCatch-up after Project - Interactive Card
Wed Dec 16SD3bLesson 19: Velocity

Overview

This lesson launches a major theme of the chapter: that complex behavior can be represented in simpler ways to make it easier to write and reason about code. After a brief review of how they used the counter pattern to move sprites in previous lessons, students are introduced to the idea of hiding those patterns in a single [`velocity`(#f78183)](/docs/ide/gamelab/expressions/velocityX) block. Students then head to Code Studio to try out new blocks that set a sprite's velocity directly, and look at various ways that they are able to code more complex behaviors in their sprites. Over the next several lessons, students will see how this method of managing complexity allows them to produce more interesting sprite behaviors.

Question of the Day: How can programming languages hide complicated patterns so that it is easier to program?

Objectives

  • Describe the advantages of simplifying code by using higher level blocks
  • Use the velocity and rotationSpeed blocks to create and change sprite movements

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min
Journal

Preparation

Thu Dec 17SD3bLesson 20: Collision Detection

Overview

This lesson formally introduces the use of abstractions, simple ways of representing underlying complexity. In the last lesson, students were exposed to the idea of using one block to represent complex code. Working in pairs, students further explore this idea in the context of the intentionally complex mathematical challenge of determining whether two sprites are touching. Students then use a single block, the [`isTouching()`(#f78183)](/docs/gamelab/isTouching/) block, to represent this complexity and to create different effects when sprites collide. By the end of the lesson, students should understand that by using a single block to represent this complexity, it becomes much easier to write and reason about code and appreciate the value of using abstractions.

Question of the Day: How can programming help make complicated problems more simple?

Objectives

  • Describe how abstractions help to manage the complexity of code
  • Detect when sprites are touching or overlapping, and change the program in response.

Vocabulary

Abstraction
a simplified representation of something more complex. Abstractions allow you to hide details to help you manage complexity, focus on relevant concepts, and reason about problems at a higher level.

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-17

Agenda

Warm Up 5 min
Activity 35 min
Collisions Unplugged · isTouching()
Wrap Up 5 min

Preparation

  • Print copies of the activity guide such that each pair of students has a part A and a part B
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Fri Dec 18SD3bLesson 21: Mini-Project - Side Scroller

Overview

This lesson is another chance for students to get more creative with what they have learned. Students use what they have learned about collision detection and setting velocity to create a simple side-scroller game. After looking at a sample side-scroller game, students brainstorm what sort of side-scroller they would like to make, then use a structured process to program the game in Code Studio. This lesson can be shortened or lengthened depending on time constraints.

Question of the Day: How can the new types of sprite movement and collision detection be used to create a game?

CSTA standards

2-AP-112-AP-122-AP-132-AP-17

Agenda

Warm Up 5 min
Activity 35 min
Step 1: Define - Plan Your Game · Step 2: Prepare - Design Your Game · Step 3: Try - Program Your Game · Step 4: Reflect
Wrap up 5 min

Preparation

Mon Dec 21SDFlexCatch-up after Mini-Project - Side Scroller
Tue Dec 22SD3bLesson 22: Complex Sprite Movement

Overview

This lesson does not introduce any new blocks and in fact, only uses patterns students have seen in Chapter 1 and demonstrates how combining these patterns, in particular the abstractions students learned in the previous two lessons, allows them to build new behaviors for their sprites. Specifically, this lesson has students learn how to combine the velocity properties of sprites with the counter pattern to create more complex sprite movement. After reviewing the two concepts, they explore various scenarios in which velocity is used in the counter pattern and observe the different types of movement that result, such as simulating gravity. They then reflect on how they were able to get new behaviors by combining blocks and patterns that they already knew.

Question of the Day: How can previous blocks be combined in new patterns to make interesting movements?

Objectives

  • Explain how individual programming constructs can be combined to create more complex behavior
  • Use sprite velocity with the counter pattern to create different types of sprite movement

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min

Preparation

Wed Dec 23ERFlexShort-schedule day — flex
Thu Dec 24HHoliday — schools closed
Fri Dec 25HHoliday — schools closed
Mon Dec 28NINon-instructional — no students or teachers
Tue Dec 29NINon-instructional — no students or teachers
Wed Dec 30SCSystemwide closure — schools & offices closed
Thu Dec 31SCSystemwide closure — schools & offices closed
Fri Jan 1HHoliday — schools closed
Mon Jan 4SD3bLesson 23: Collisions

Overview

This lesson introduces collisions, another useful abstraction that will allow students to manipulate their sprites in entirely new ways. After a brief review of how they used the [`isTouching`(#f78183)](/docs/gamelab/isTouching/) block, students brainstorm other ways that two sprites could interact. They then use [`isTouching`(#f78183)](/docs/gamelab/isTouching/) to make one sprite push another across the screen before practicing with the four collision blocks ([`collide`(#f78183)](/docs/gamelab/collide/), [`displace`(#f78183)](/docs/gamelab/displace/), [`bounce`(#f78183)](/docs/gamelab/bounce/), and [`bounceOff`(#f78183)](/docs/gamelab/bounceOff/)). This is the last time they will learn a new sprite behavior, and following this lesson students will transition to focusing on how they organize their increasingly complex code.

Question of the Day: How can programmers build on abstractions to create further abstractions?

Objectives

  • Describe how abstractions can be built upon to develop even further abstractions
  • Model different types of interactions between sprites.

Vocabulary

Abstraction
a simplified representation of something more complex. Abstractions allow you to hide details to help you manage complexity, focus on relevant concepts, and reason about problems at a higher level.

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min

Preparation

Tue Jan 5SD3bLesson 24: Mini-Project - Flyer Game

Overview

This lesson is another chance for students to get more creative with what they have learned. Students use what they have learned about simulating gravity and the different types of collisions to create simple flyer games. After looking at a sample flyer game, students brainstorm what sort of flyer games they would like, then use a structured process to program the game in Code Studio.

Question of the Day: How can the new types of collisions and modeling movement be used to create a game?

CSTA standards

2-AP-112-AP-122-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 35 min
Step 1: Define - Plan the Game · Step 2: Prepare - Design Your Game · Step 3: Try - Program Your Game · Step 4: Reflect
Wrap up 5 min
Share Out and Journal 3-2-1

Preparation

Wed Jan 6SDFlexCatch-up after Mini-Project - Flyer Game
Thu Jan 7SD3bLesson 25: Functions

Overview

In previous lessons, students have learned to use a number of abstractions in their programs which have allowed them to build much more complex programs while ignoring the details of how that behavior is created. In this lesson, students learn to build abstractions of their own by creating functions that will serve to organize their code, make it more readable, and remove repeated blocks of code. Students first think about what sorts of new blocks they would like in Game Lab, and what code those blocks would contain inside. Afterward, students learn to create functions in Game Lab. They will use functions to remove long blocks of code from their draw loop and to replace repeated pieces of code with a single function.

Question of the Day: How can programmers use functions to create their own abstractions?

Objectives

  • Create and use functions for blocks of code that perform a single high-level task within a program
  • Explain how functions allow programmers to reason about a program at a higher level
  • Explain the advantages of using functions in a program

Vocabulary

Function
A named bit of programming instructions.

CSTA standards

2-AP-112-AP-122-AP-132-AP-142-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Your Personal Blocks
Activity 35 min
Wrap Up 5 min

Preparation

Fri Jan 8SDFlexFriday catch-up & reteach
Mon Jan 11SD3bLesson 26: The Game Design Process

Overview

This lesson introduces students to the process they will use to design games for the remainder of the unit which is centered around a project guide that asks students to define their sprites, variables, and functions _before_ they begin programming their game. Students begin by playing a game on Game Lab where the code is hidden, discussing what they think the sprites, variables, and functions would need to be to make the game. For the purposes of heavily scaffolding the software development process, students are then given a completed project guide that provides starter code and shows one way to implement the game. Students are then walked through this implementation process through a series of levels and have an opportunity to make improvements to the game to make it their own in the final level. In the subsequent lessons, students will need to complete a greater portion of the guide independently, and for the final project, they will follow this process largely independently.

Question of the Day: How does having a plan help to make a large project easier?

Objectives

  • Implement different features of a program by following a structured project guide

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Play Cake Defender · Stop: Review Project Guide
Activity 35 min
Implement Project Guide
Wrap Up 5 min
Using the Project Guide

Preparation

  • Print copies of the the project guide if you will be giving students physical copies. Please note that this project guide is intentionally filled out. (See notes in Lesson Plan.)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Tue Jan 12SD3bLesson 27: Using the Game Design Processday 1/2

Overview

In this multi-day lesson, students use the problem-solving process from Unit 1 to create a platform jumper game. This lesson also builds on the use of the Project Guide in the previous lesson by having students complete more of this project guide independently before using it to build a game. Students begin the lesson by looking at an example of a platform jumper, then define what their games will look like. Next, they use a structured process to plan the backgrounds, variables, sprites, and functions they will need to implement their game. After writing the code for the game, students will reflect on how the game could be improved, and implement those changes.

Question of the Day: How can the problem-solving process help programmers to manage large projects?

Objectives

  • Implement different features of a program by following a structured project guide
  • Identify core programming constructs necessary to build different components of a game

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 80 min
Play Alien Jumper · Discuss Project Guide · Share out
Wrap Up 5 min
Journal

Preparation

  • Print one copy of the project guide for each student or pair of students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Wed Jan 13SD3bLesson 27: Using the Game Design Processday 2/2

Continuation — day 2 of 2.

Overview

In this multi-day lesson, students use the problem-solving process from Unit 1 to create a platform jumper game. This lesson also builds on the use of the Project Guide in the previous lesson by having students complete more of this project guide independently before using it to build a game. Students begin the lesson by looking at an example of a platform jumper, then define what their games will look like. Next, they use a structured process to plan the backgrounds, variables, sprites, and functions they will need to implement their game. After writing the code for the game, students will reflect on how the game could be improved, and implement those changes.

Question of the Day: How can the problem-solving process help programmers to manage large projects?

Objectives

  • Implement different features of a program by following a structured project guide
  • Identify core programming constructs necessary to build different components of a game

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 80 min
Play Alien Jumper · Discuss Project Guide · Share out
Wrap Up 5 min
Journal

Preparation

  • Print one copy of the project guide for each student or pair of students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Jan 14SDFlexFlex — catch-up
Fri Jan 15SD3bLesson 28: Project - Design a Gameday 1/5

Overview

Students will plan and build their own game using the project guide from the previous two lessons. Working individually or in pairs, students will first decide on the type of game they'd like to build, taking as inspiration a set of sample games. They will then complete a blank project guide where they will describe the game's behavior and scope out the variables, sprites, and functions they'll need to build. In Code Studio, a series of levels prompts them on a general sequence they can use to implement this plan. Partway through the process, students will share their projects for peer review and will incorporate feedback as they finish their game. At the end of the lesson, students will share their completed games with their classmates. This project will span multiple classes and can easily take anywhere from 3-5 class periods.

Question of the Day: How can the five CS practices (problem-solving, persistence, communication, collaboration, and creativity) help programmers to complete large projects?

Objectives

  • Create a plan for building a piece of software by describing its major components
  • Implement a plan for creating a piece of software
  • Independently scope the features of a piece of software

CSTA standards

2-AP-102-AP-112-AP-122-AP-132-AP-152-AP-162-AP-172-AP-182-AP-19

Agenda

Warm Up 5 min
Activity 215 min
Review Project Guide · Step 1: Define - Scope Game · Step 2: Prepare - Complete Project Guide · Step 3: Try - Write Code · Step 4: Reflect - Peer Review · Iterate - Update Code · Share
Wrap Up 5 min
Journal · Reflect · Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey

Preparation

  • Print copies of the project guide, one for each student / pair of students
  • Print copies of the rubric, one for each student / pair of students
  • Print copies of the peer review guide, one for each student / pair of students
  • Review sample games in Code Studio
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Mon Jan 18HHoliday — schools closed
Tue Jan 19SD3bLesson 28: Project - Design a Gameday 2/5

Continuation — day 2 of 5.

Overview

Students will plan and build their own game using the project guide from the previous two lessons. Working individually or in pairs, students will first decide on the type of game they'd like to build, taking as inspiration a set of sample games. They will then complete a blank project guide where they will describe the game's behavior and scope out the variables, sprites, and functions they'll need to build. In Code Studio, a series of levels prompts them on a general sequence they can use to implement this plan. Partway through the process, students will share their projects for peer review and will incorporate feedback as they finish their game. At the end of the lesson, students will share their completed games with their classmates. This project will span multiple classes and can easily take anywhere from 3-5 class periods.

Question of the Day: How can the five CS practices (problem-solving, persistence, communication, collaboration, and creativity) help programmers to complete large projects?

Objectives

  • Create a plan for building a piece of software by describing its major components
  • Implement a plan for creating a piece of software
  • Independently scope the features of a piece of software

CSTA standards

2-AP-102-AP-112-AP-122-AP-132-AP-152-AP-162-AP-172-AP-182-AP-19

Agenda

Warm Up 5 min
Activity 215 min
Review Project Guide · Step 1: Define - Scope Game · Step 2: Prepare - Complete Project Guide · Step 3: Try - Write Code · Step 4: Reflect - Peer Review · Iterate - Update Code · Share
Wrap Up 5 min
Journal · Reflect · Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey

Preparation

  • Print copies of the project guide, one for each student / pair of students
  • Print copies of the rubric, one for each student / pair of students
  • Print copies of the peer review guide, one for each student / pair of students
  • Review sample games in Code Studio
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Wed Jan 20SD3bLesson 28: Project - Design a Gameday 3/5

Continuation — day 3 of 5.

Overview

Students will plan and build their own game using the project guide from the previous two lessons. Working individually or in pairs, students will first decide on the type of game they'd like to build, taking as inspiration a set of sample games. They will then complete a blank project guide where they will describe the game's behavior and scope out the variables, sprites, and functions they'll need to build. In Code Studio, a series of levels prompts them on a general sequence they can use to implement this plan. Partway through the process, students will share their projects for peer review and will incorporate feedback as they finish their game. At the end of the lesson, students will share their completed games with their classmates. This project will span multiple classes and can easily take anywhere from 3-5 class periods.

Question of the Day: How can the five CS practices (problem-solving, persistence, communication, collaboration, and creativity) help programmers to complete large projects?

Objectives

  • Create a plan for building a piece of software by describing its major components
  • Implement a plan for creating a piece of software
  • Independently scope the features of a piece of software

CSTA standards

2-AP-102-AP-112-AP-122-AP-132-AP-152-AP-162-AP-172-AP-182-AP-19

Agenda

Warm Up 5 min
Activity 215 min
Review Project Guide · Step 1: Define - Scope Game · Step 2: Prepare - Complete Project Guide · Step 3: Try - Write Code · Step 4: Reflect - Peer Review · Iterate - Update Code · Share
Wrap Up 5 min
Journal · Reflect · Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey

Preparation

  • Print copies of the project guide, one for each student / pair of students
  • Print copies of the rubric, one for each student / pair of students
  • Print copies of the peer review guide, one for each student / pair of students
  • Review sample games in Code Studio
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Jan 21SD3bLesson 28: Project - Design a Gameday 4/5

Continuation — day 4 of 5.

Overview

Students will plan and build their own game using the project guide from the previous two lessons. Working individually or in pairs, students will first decide on the type of game they'd like to build, taking as inspiration a set of sample games. They will then complete a blank project guide where they will describe the game's behavior and scope out the variables, sprites, and functions they'll need to build. In Code Studio, a series of levels prompts them on a general sequence they can use to implement this plan. Partway through the process, students will share their projects for peer review and will incorporate feedback as they finish their game. At the end of the lesson, students will share their completed games with their classmates. This project will span multiple classes and can easily take anywhere from 3-5 class periods.

Question of the Day: How can the five CS practices (problem-solving, persistence, communication, collaboration, and creativity) help programmers to complete large projects?

Objectives

  • Create a plan for building a piece of software by describing its major components
  • Implement a plan for creating a piece of software
  • Independently scope the features of a piece of software

CSTA standards

2-AP-102-AP-112-AP-122-AP-132-AP-152-AP-162-AP-172-AP-182-AP-19

Agenda

Warm Up 5 min
Activity 215 min
Review Project Guide · Step 1: Define - Scope Game · Step 2: Prepare - Complete Project Guide · Step 3: Try - Write Code · Step 4: Reflect - Peer Review · Iterate - Update Code · Share
Wrap Up 5 min
Journal · Reflect · Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey

Preparation

  • Print copies of the project guide, one for each student / pair of students
  • Print copies of the rubric, one for each student / pair of students
  • Print copies of the peer review guide, one for each student / pair of students
  • Review sample games in Code Studio
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Fri Jan 22SD3bLesson 28: Project - Design a Gameday 5/5

Continuation — day 5 of 5.

Overview

Students will plan and build their own game using the project guide from the previous two lessons. Working individually or in pairs, students will first decide on the type of game they'd like to build, taking as inspiration a set of sample games. They will then complete a blank project guide where they will describe the game's behavior and scope out the variables, sprites, and functions they'll need to build. In Code Studio, a series of levels prompts them on a general sequence they can use to implement this plan. Partway through the process, students will share their projects for peer review and will incorporate feedback as they finish their game. At the end of the lesson, students will share their completed games with their classmates. This project will span multiple classes and can easily take anywhere from 3-5 class periods.

Question of the Day: How can the five CS practices (problem-solving, persistence, communication, collaboration, and creativity) help programmers to complete large projects?

Objectives

  • Create a plan for building a piece of software by describing its major components
  • Implement a plan for creating a piece of software
  • Independently scope the features of a piece of software

CSTA standards

2-AP-102-AP-112-AP-122-AP-132-AP-152-AP-162-AP-172-AP-182-AP-19

Agenda

Warm Up 5 min
Activity 215 min
Review Project Guide · Step 1: Define - Scope Game · Step 2: Prepare - Complete Project Guide · Step 3: Try - Write Code · Step 4: Reflect - Peer Review · Iterate - Update Code · Share
Wrap Up 5 min
Journal · Reflect · Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey

Preparation

  • Print copies of the project guide, one for each student / pair of students
  • Print copies of the rubric, one for each student / pair of students
  • Print copies of the peer review guide, one for each student / pair of students
  • Review sample games in Code Studio
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications

Semester 2

Q3 + Q4 · Jan 26 – Jun 11 · 87 days · 13 flex

Quarter 3

Jan 26 – Apr 9, 2027 · 46 teaching days
Mon Jan 25GPGrading & planning — teacher workday
Tue Jan 26SDU4Lesson 1: Designing With Empathy

Overview

To kick off a unit devoted to group problem-solving and developing products for other users, students begin by investigating the design of various shoes. We are purposefully starting out by looking at non-technical objects to encourage students to think more broadly about what it means to consider the end-user of a product before honing in on how it specifically applies to software design. Students begin by looking at a variety of shoes and attempting to match each shoe with a potential user. Students also provide feedback on these designs, using an “I Like…” / “I Wish…” / “I Wonder…” structure that will be repeated throughout the unit. To conclude the activity, students are asked to propose some changes to one set of shoes that would make it more useful or usable.

Question of the Day: How can we choose products based on the needs of a user?

Objectives

  • Critically evaluate an object for how well its design meets a given set of needs
  • Identify empathy for the user as an important component of the design process

Vocabulary

Empathy
In design, paying attention to a user's feelings and needs when designing a product.
User
Someone who uses an object, including software and hardware.

CSTA standards

2-CS-01

Agenda

Before the Lesson
Preparing for the Unit
Warm Up 5 min
Activity 35 min
Design Feedback
Wrap Up 5 min
Journal · Reflection

Preparation

  • Print a copy of the activity guide for each student (or prepare to distribute the document digitally).
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Wed Jan 27SDU4Lesson 2: Understanding Your User

Overview

This lesson builds on the previous by asking students to not only consider that there _is_ a user that products are designed for, but also empathize with those potential users since designers need to understand their users' needs in order to create useful products. This lesson encourages students to think about how to design for another person by role-playing as someone else using a user profile and reacting as that user to a series of products. Each student is assigned a user profile describing a person, which they then use to choose appropriate products, critique product design, and suggest improvements to design.

Question of the Day: How can we make sure a product is meeting the needs of a user?

Objectives

  • Critique a design through the perspective of a user profile.
  • Design improvements to a product based on a user profile.

Vocabulary

Usability
How easy, efficient, and satisfying it is to use a human-made object or device (including software).

CSTA standards

2-CS-01

Agenda

Warm Up 5 min
Journal
Activity 35 min
Think Like a User
Wrap Up 5 min
Journal

Preparation

  • Print out enough user profiles for all students, ensuring as much variety as possible
  • Print an activity guide for each user
  • Prepare prompt questions for warm up exercise
  • Label four corners of the room as A, B, C, and D
  • Arrange room in table groups of 4, and place a number on each table group (1, 2, 3,...)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Jan 28SDU4Lesson 3: User Centered Design - Define and Prepare

Overview

This is the first part of a two-day lesson where students are guided through an abbreviated version of the design process they will be seeing throughout this unit. This lesson focuses on the Define and Prepare steps of the process. Students first brainstorm a list of potential users of smart clothing. As a class, they then group these ideas into broad categories and each group will choose one category of user. Groups repeat this process to brainstorm the needs or concerns of their user, eventually categorizing these needs and choosing one to focus on. In the next lesson, students will complete the Try and Reflect steps of the design process.

The activity in this lesson is an adaptation of the Design Charrette from the University of Washington.

Question of the Day: How can we design for people other than ourselves?

Objectives

  • Generate multiple strategies for meeting user needs.
  • Organize ideas and strategies into meaningful categories.

CSTA standards

2-CS-022-IC-202-IC-21

Agenda

Warm Up 5 min
Journal
Activity 35 min
Introduce Design Thinking · Introduce the Activity · Define · Prepare
Wrap Up 5 min
Journal

Preparation

  • Ensure you have plenty of sticky notes, pens and large poster paper for students to work on
  • Set up groups with preferably 3 students each
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Fri Jan 29SDFlexFriday catch-up & reteach
Mon Feb 1SDU4Lesson 4: User Centered Design - Try and Reflect

Overview

This is the second part of a two-day lesson where students are guided through an abbreviated version of the design process they will be seeing throughout this unit. Yesterday students completed the Define and Prepare steps of the design process. Today, they complete the Try and Reflect portions. Students continue their work from yesterday by designing a piece of smart clothing, using the specific needs and concerns they brainstormed to guide their decision-making. Students have a chance to share their decision-making process and get feedback on how well their product addresses the user needs they selected.

Question of the Day: How can we design a product to meet a user's needs?

Objectives

  • Analyze and select the most appropriate strategies to meet user needs.

CSTA standards

2-CS-022-IC-202-IC-21

Agenda

Warm Up 5 min
Journal
Activity 35 min
Try · Reflect
Wrap Up 5 min
Journal

Preparation

  • Return the activity guide from yesterday to students
  • Make copies of the Try & Reflect activity guide - one for each group
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Tue Feb 2SDU4Lesson 5: User Interfaces

Overview

Following the mini-design project, students look towards the next phase of design - prototyping a product that attempts to address user needs. In teams, students examine a paper prototype for a chat app called "Txt Ur Grndkdz". Through using this paper prototype, students get a chance to see how a simple paper prototype can be used to quickly test ideas and assumptions before we ever get to the computer. This prototype will also serve as the context around which students will start to parse and organize feedback from a wide variety of users. After "using" the provided prototype students begin to identify ways to improve the next iteration.

Question of the Day: How can we test an app to make sure it meets a user's needs?

Objectives

  • Collect and analyze feedback from user testing with a paper prototype.
  • Use a paper prototype to test the design of an app.

Vocabulary

Prototype
A first or early model of a product that allows you to test assumptions before developing a final version.
User Interface
The visual elements of a program through which a user controls or communicates with the application. Often abbreviated UI.

CSTA standards

2-AP-102-AP-172-CS-01

Agenda

Warm Up 5 min
Journal
Activity 35 min
Paper Prototypes · Debriefing
Wrap Up 5 min
Journal

Preparation

  • Print one copy of the User Interface Screens activity guide for each pair of students
  • Print one copy of the User Experience (computer) activity guide for each pair of students
  • Print one copy of the User Experience (user) activity guide for each pair of students
  • Cut out the UI Screens or provide scissors for students to do so themselves
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Wed Feb 3SDU4Lesson 6: Feedback and Testing

Overview

In this lesson, students use feedback from "users" of the paper-prototyped app from the previous lesson in order to develop improvements to the user interface of that paper prototype. The lesson begins with a reflection on the fact that designers need to translate human needs with technology into changes to the user interface or experience. Students are then given a collection of feedback and requests from users of the app from the previous lesson. In groups, students categorize the feedback and identify ways the needs expressed in the feedback could be met by changes to the interface of the app. Then in groups students will implement some of these changes to meet one of the needs they identified.

Question of the Day: How can we use feedback to improve an app?

Objectives

  • Categorize and prioritize user feedback for an app
  • Improve a screen design based on user feedback.
  • Use feedback to create a plan for further development of an app

CSTA standards

2-AP-102-AP-152-AP-172-IC-212-IC-22

Agenda

Warm Up 5 min
Journal
Activity 35 min
Prototype Feedback · Responding to Feedback
Wrap Up 5 min
Journal

Preparation

  • Either print one copy of the User Interface Screens resource for each group, or be prepared to display the screens at the front of the classroom
  • Print one copy of the Prototype Feedback resource for each group. If possible, cut into strips ahead of time
  • Print one copy of Improve a Screen for each group. If possible, print single-sided so students can divy up the activity guide.
  • Colored pencils or markers for the paper prototypes
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Feb 4SDU4Lesson 7: Identifying User Needs

Overview

In previous lessons, needs & interests have been presented more explicitly to students. In this lesson, they have the task of extracting that information from a user interview, which motivates the app they will create. Students begin by first interpreting user interviews to determine the needs & interests of a user. They then speculate on the barriers these users are facing or the opportunities that are available for each user. In a group, they share these barriers & opportunities and brainstorm different apps that could be used to address these issues. By the end of the lesson, students will have decided on an app idea that addresses a barrier or opportunity for a user.

Question of the Day: How can user interviews help us create apps to meet the needs of a user?

Objectives

  • Analyze interview notes to identify specific user needs

CSTA standards

2-AP-102-AP-152-AP-172-IC-212-IC-22

Agenda

Warm Up 5 min
Journal
Activity 35 min
Listening to Users · App Brainstorm
Wrap Up 5 min
Journal

Preparation

  • Print one copy of User Interview activity guide for each student
  • Print a copy of the Example User Interviews for each group
  • Gather poster paper and brainstorming materials (pens, sticky notes, etc)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Fri Feb 5SDU4Lesson 8: Project - Paper Prototypeday 1/2

Overview

The focus of this project is on the design process, especially empathizing with their user and the testing & feedback steps of the app design process. Based on user interviews from the previous lesson, each student comes up with an idea for an app that will address their user's problem. Students then get to create their own paper prototype of their app ideas by drawing "screens" on individual notecards. A project guide directs students through the process including building the paper prototype and testing it with their user to see if their assumptions about the user interfaces they created are accurate.

This is a two-day lesson, with specific timings outlined in the lesson plan below.

Question of the Day: How can I develop an app prototype for a user?

Objectives

  • Design a paper prototype of an app to address the specific needs of a user
  • Design the user interface of an app
  • Identify improvements to an app based on user testing

CSTA standards

2-AP-102-AP-152-AP-17

Agenda

Warm Up 5 min
Journal
Day 1 40 min
Getting Started · Paper Prototyping · Wrap Up
Day 2 40 min
Warm Up · Prototype Testing · Reflect
Wrap Up 5 min
Journal

Preparation

  • Print one copy of the project guide for each student
  • Print one copy of the rubric for each student
  • 6 notecards for each student
  • Drawing supplies (colored pencils, markers, rulers, etc.)
  • Poster paper for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Mon Feb 8SDU4Lesson 8: Project - Paper Prototypeday 2/2

Continuation — day 2 of 2.

Overview

The focus of this project is on the design process, especially empathizing with their user and the testing & feedback steps of the app design process. Based on user interviews from the previous lesson, each student comes up with an idea for an app that will address their user's problem. Students then get to create their own paper prototype of their app ideas by drawing "screens" on individual notecards. A project guide directs students through the process including building the paper prototype and testing it with their user to see if their assumptions about the user interfaces they created are accurate.

This is a two-day lesson, with specific timings outlined in the lesson plan below.

Question of the Day: How can I develop an app prototype for a user?

Objectives

  • Design a paper prototype of an app to address the specific needs of a user
  • Design the user interface of an app
  • Identify improvements to an app based on user testing

CSTA standards

2-AP-102-AP-152-AP-17

Agenda

Warm Up 5 min
Journal
Day 1 40 min
Getting Started · Paper Prototyping · Wrap Up
Day 2 40 min
Warm Up · Prototype Testing · Reflect
Wrap Up 5 min
Journal

Preparation

  • Print one copy of the project guide for each student
  • Print one copy of the rubric for each student
  • 6 notecards for each student
  • Drawing supplies (colored pencils, markers, rulers, etc.)
  • Poster paper for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Tue Feb 9SDFlexCatch-up after Project - Paper Prototype
Wed Feb 10SDU4Lesson 9: Designing Apps for Good

Overview

This lesson lays the foundation for the project that will last the remainder of the unit. Students first explore a number of apps designed for social impact that have been created by other students. Students form project teams and lay out a contract for how the team will function throughout the development of their app. Finally, they brainstorm a team name, a topic for their app, and potential users. *Teachers can choose to make this lesson pack a bigger punch if they find examples (even those from their own previous classes) that demonstrate local examples of students designing apps for social good.*

Question of the Day: What is an App for Good we want to create?

Objectives

  • Describe the target users for a computational artifact
  • Develop a plan for collaborating with others to design a computational artifact

CSTA standards

2-IC-202-IC-21

Agenda

Project Preparation
Looking Ahead
Warm Up 5 min
Journal
Activity 35 min
Team Contract · Brainstorming
Wrap Up 5 min
Journal

Preparation

  • Assign teams of 3-4, ideally based on similar interest in an app topic
  • Print one copy per team of the activity guide
  • Choose 1-3 of the apps from the example apps to share with the class
  • Arrange classroom seating for pre-selected teams of 3-4 students
  • Put out sticky notes for each team
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Feb 11SDU4Lesson 10: Market Research

Overview

In this lesson students research apps similar to the one they intend on creating to better understand the needs of their users. Students work within their teams to search the Internet for other apps, then evaluate the ones they find interesting. By the end of the lesson, each team will have a clearer idea about the type of app they want to create and further refine who their target users are. Each team will maintain a list of citations for all the apps they examined for use in their final presentation.

Question of the Day: How can we use existing apps as inspiration for our own apps?

Objectives

  • Evaluate a design based its ability to meet target user's needs
  • Evaluate the purpose and impact of a computational artifact

CSTA standards

2-IC-202-IC-21

Agenda

Before the Lesson
Preparing for the Lesson
Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Finding Similar Apps · Brainstorming App Ideas
Wrap Up 5 min
Journal

Preparation

  • Arrange classroom seating for teams of 4-5 students
  • Print one copy per team of the activity guide
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Fri Feb 12SDFlexFriday catch-up & reteach
Mon Feb 15HHoliday — schools closed
Tue Feb 16SDU4Lesson 11: Exploring UI Elements

Overview

This lesson helps narrow the scope of the types of design elements students can include in their apps since up until now, students have explored and brainstormed apps with a variety of functionality - they may have discovered apps that use maps, or connect to social media, or access data on your phone. However, students will eventually be prototyping these apps in App Lab, so they will be in better shape if their ideas align with the kinds of apps that can be made using AppLab’s tools. Today focuses on having teams look at several example apps made in AppLab and identifying the components of the user interface. They then make a plan for which features could use which components in their app.

Question of the Day: What user interface elements will be useful for our app?

Objectives

  • Explain the purpose of individual UI elements when developing an app

CSTA standards

2-AP-102-AP-132-AP-19

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Explore AppLab Apps
Wrap Up 5 min
Journal

Preparation

  • Print a copy of the activity guide for each team
  • (Optional) Preview Lesson 14 - Design Mode in AppLab to help answer questions from students about UI elements in AppLab.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Wed Feb 17SDU4Lesson 12: Build a Paper Prototype

Overview

This lesson kicks off the actual design phase of this project. Students work in their teams to create paper prototypes for the apps they’ve been developing. They begin by making a plan for each screen, then assigning different team members to work on each screen so the task can be completed in time. They can use 3x5 index cards to develop their paper prototypes or the Paper Prototype template.

Question of the Day: How can we build a paper prototype for our app?

Objectives

  • Create a paper prototype that incorporates the user flow for a computational artifact.
  • Explain the role of paper prototypes in app development.

Vocabulary

Prototype
A first or early model of a product that allows you to test assumptions before developing a final version.

CSTA standards

2-AP-102-AP-132-AP-19

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Review Paper Prototypes · Paper Prototyping
Wrap Up 5 min
Collect Prototypes

Preparation

  • Prepare 3x5 index cards (or copies of the prototype template), sticky notes, colored pens and pencils, scissors for each team
  • Print a copy of the activity guide for each team
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Feb 18SDU4Lesson 13: Prototype Testing

Overview

The primary purpose of developing paper prototypes is that they allow for quick testing and iteration before any code is written. This lesson is focused on giving teams a chance to test their prototypes and gut-check assumptions about how the app should be laid out and navigated before moving to App Lab. Teams develop a plan to test with users before running prototype tests with multiple other students in the class (and potentially outside the class). In order to test the prototype with the users, the students will have to assign roles in the testing (the “narrator”, the “computer” and the “observers”) as well as have some questions prepared for the user to answer after the test is complete.

Question of the Day: How does our prototype work when tested by real users?

Objectives

  • Analyze user tests to identify features that should be removed, added, or improved
  • Design and run test that use paper prototypes to gather feedback on a design

CSTA standards

2-AP-102-AP-152-AP-172-CS-012-DA-082-DA-092-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Preparing for Testing
Wrap Up 5 min
Journal

Preparation

  • Either have other people lined up to test each team’s paper prototypes, or schedule enough time for teams to test each other's prototypes
  • Print a copy of the Paper Prototype User Testing activity guide for each team
  • Print a copy of the User Test Cases activity guide for each team
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Fri Feb 19SDFlexFriday catch-up & reteach
Mon Feb 22SDU4Lesson 14: Design Mode in App Lab

Overview

Students are introduced to the App Lab programming environment that they will use to build their apps. Students work through a progression of skill-building levels to learn how to use the drag-and-drop design mode of App Lab. Students will build up an exemplar app screen and end the lesson by making a plan to adapt one of their Paper Prototype screens into App Lab, focusing on having unique IDs for each element. In tomorrow’s lesson, they will build a screen from their paper prototype, incorporating the feedback from yesterday’s lesson.

Question of the Day: How can we use App Lab and Design Mode to create apps?

Objectives

  • Assign roles and responsibilities to each team member when collaborating to create a digital artifact
  • Select the appropriate input element for a given type of information

CSTA standards

2-AP-132-AP-152-AP-162-AP-182-AP-192-CS-012-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Design Mode in App Lab
Wrap Up 5 min

Preparation

  • Print one copy of the Screen Ownership activity guide for each group
  • Print one copy of the Screen Design activity guide for each student
  • (Optional) Print one copy of the Model Screen Design activity guide for each group
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Tue Feb 23SDU4Lesson 15: Build a Digital Prototype

Overview

Having collaboratively developed a paper prototype for their apps, groups now divide and conquer to begin work on an interactive digital version based on the paper prototype. Using the drag-and-drop design mode of App Lab, students individually work through a progression of skill-building levels to learn how to build digital versions of a paper prototype. From there, each group member builds out at least one page of their app in App Lab, to be later combined into a single app.

Question of the Day: How can I design a digital prototype from a paper prototype?

Objectives

  • Create a digital prototype of an application screen

CSTA standards

2-AP-132-AP-152-AP-162-AP-182-AP-192-CS-012-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Team Check-In
Activity 35 min
Screen Design Planning · Building Screens in App Lab · Sharing Designs
Wrap Up 5 min
Journal

Preparation

  • Have extra copies of the Screen Design Activity Guide available for students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Wed Feb 24SDU4Lesson 16: Events in App Lab

Overview

In this lesson, students learn how to add screens to their apps, how to import screens created by other students, and how to program events to navigate between screens. Students learn basic event-driven programming by building up the model app that they started in the previous lesson. At the end of the lesson, students make a plan for how they will stay organized when importing each other’s screens in tomorrow’s lesson.

Question of the Day: How can I use events to create an app?

Objectives

  • Create an event that detects and responds to user input

CSTA standards

2-AP-132-AP-142-AP-152-AP-162-AP-182-AP-192-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Events in App Lab · Preparing for Screen Import
Wrap Up 5 min
Journal

Preparation

Thu Feb 25SDU4Lesson 17: Linking Prototype Screens

Overview

In this lesson, teams combine their digital prototype screens into a single app, which they can then link together using code. They share their project’s import URLs with each other, then import each teammate’s screen into their own app. Each student works independently to add events to their code to link the screens together, completing their digital prototype.

Question of the Day: How can I combine screens to create a complete digital prototype?

Objectives

  • Create a digital prototype that incorporates the user flow for a computational artifact
  • Integrate all components from collaborative work into a final computational artifact.

CSTA standards

2-AP-132-AP-142-AP-152-AP-162-AP-182-AP-192-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Combining Project Screens
Wrap Up 5 min
Team Debrief

Preparation

Fri Feb 26ERU4Lesson 18: Testing the App

Overview

By now students should be fairly practiced at testing with users but this time around, the role of the computer is actually done by the computer! This means that the team running the test needs to focus their energy on carefully watching what the user does, and encourage the user to say aloud what they are experiencing. The primary purpose of this lesson is to have the team actually test the app with other people, preferably from the target audience the app is intended for, or from different teams in the class while observers from the team will record the results. As with testing the paper prototypes, teams will start by planning for the specific scenarios before running and observing tests.

Question of the Day: How does our digital prototype work when tested by real users?

Objectives

  • Design and run tests that use digital prototypes to gather feedback on a design

CSTA standards

2-AP-152-AP-172-AP-182-CS-012-DA-082-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Preparing for Testing
Wrap Up 5 min
Journal

Preparation

  • Print one copy of the activity guide for each student
  • If possible, have outside users available to test the teams’ apps prior to this testing day
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Mon Mar 1SDU4Lesson 19: Bugs and Features

Overview

Teams have at this point developed an app prototype that has gone through multiple iterations and rounds of user testing. With the information and guidance gained from the last round of user testing, each student has the opportunity to plan for and implement improvements (which could be adding programmatic functionality, a more eye-catching design, more informative text copy, better uniformity of iconography, or any number of other non-programming related features) to the team app. Depending on the time you have available, and student interest, you can run the cycle of testing and iteration as many times as you see fit.

Question of the Day: How can we create a plan to address bugs and features in our prototype?

Objectives

  • Analyze user feedback and test results on a computational artifact
  • Categorize and prioritize the issues according to impact and ease of implementation

Vocabulary

Bug
Part of a program that does not work correctly.
Feature
Part of a program that adds functionality for the user

CSTA standards

2-AP-132-AP-142-AP-152-AP-162-AP-172-AP-182-AP-192-CS-012-DA-092-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Interpreting User Feedback · Brainstorming Session · Bug and Feature Analysis
Wrap Up 5 min
Journal

Preparation

  • Print one copy of the activity guide for each team
  • Set out sticky notes for each team
  • (Optional) Have poster paper or a large whiteboard area prepared for each team
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Tue Mar 2SDU4Lesson 20: Updating Your Prototype

Overview

Teams make a decision about how they will incorporate updates to their app, then they begin updating their app based on their post-its from yesterday’s lesson. They use a “To Do / Doing / Done” chart to organize their work and track their progress. Teams spend the majority of the class working on updating their app, with time at the end to re-combine into a single app if necessary.

Question of the Day: How can I track my work while we make updates to our app?

Objectives

  • Track progress will making changes to their app

CSTA standards

2-AP-132-AP-142-AP-152-AP-162-AP-172-AP-182-AP-192-CS-012-DA-092-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Print one copy of the activity guide for each team
  • (Optional) Prepare poster paper or a large whiteboard space for each team
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Wed Mar 3SDU4Lesson 21: Project - App Presentationday 1/4

Overview

At this point, teams have researched a topic of personal and social importance, developed and tested both a paper prototype and a digital prototype, and iterated on the initial app to incorporate new features and bug fixes. Now is the time for them to review what they have done and pull together a coherent presentation to not only demonstrate their process of creation, but to also acknowledge the research, design, testing, and iteration that teams have gone through. Using the provided presentation template, teams prepare to present their process of app development, including the problem they set out to solve, the ways in which they've incorporated feedback from testing, and their plans for the future.

Question of the Day: How can I present the steps in our design process to people outside of our team?

Objectives

  • Present technical information clearly to non-technical users
  • Reflect on the development of an ongoing project

CSTA standards

2-AP-192-CS-012-DA-092-IC-202-IC-212-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Days 1 and 2 150 min
Inspecting the Exemplar · Wrap Up Day 1 and 2
Days 3 and 4 20 min
Warm Up · Presentations
Wrap Up 5 min
Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey
Extension Activities
App Celebration Night · Submit to Competitions

Preparation

  • Determine how much time each group has to present. Typically this is 8-10 minutes per team, but remember to leave time for transitioning between teams
  • Create a copy of the presentation template slide deck for each team
  • Print one copy of the rubric for each team.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Mar 4SDU4Lesson 21: Project - App Presentationday 2/4

Continuation — day 2 of 4.

Overview

At this point, teams have researched a topic of personal and social importance, developed and tested both a paper prototype and a digital prototype, and iterated on the initial app to incorporate new features and bug fixes. Now is the time for them to review what they have done and pull together a coherent presentation to not only demonstrate their process of creation, but to also acknowledge the research, design, testing, and iteration that teams have gone through. Using the provided presentation template, teams prepare to present their process of app development, including the problem they set out to solve, the ways in which they've incorporated feedback from testing, and their plans for the future.

Question of the Day: How can I present the steps in our design process to people outside of our team?

Objectives

  • Present technical information clearly to non-technical users
  • Reflect on the development of an ongoing project

CSTA standards

2-AP-192-CS-012-DA-092-IC-202-IC-212-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Days 1 and 2 150 min
Inspecting the Exemplar · Wrap Up Day 1 and 2
Days 3 and 4 20 min
Warm Up · Presentations
Wrap Up 5 min
Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey
Extension Activities
App Celebration Night · Submit to Competitions

Preparation

  • Determine how much time each group has to present. Typically this is 8-10 minutes per team, but remember to leave time for transitioning between teams
  • Create a copy of the presentation template slide deck for each team
  • Print one copy of the rubric for each team.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Fri Mar 5SDU4Lesson 21: Project - App Presentationday 3/4

Continuation — day 3 of 4.

Overview

At this point, teams have researched a topic of personal and social importance, developed and tested both a paper prototype and a digital prototype, and iterated on the initial app to incorporate new features and bug fixes. Now is the time for them to review what they have done and pull together a coherent presentation to not only demonstrate their process of creation, but to also acknowledge the research, design, testing, and iteration that teams have gone through. Using the provided presentation template, teams prepare to present their process of app development, including the problem they set out to solve, the ways in which they've incorporated feedback from testing, and their plans for the future.

Question of the Day: How can I present the steps in our design process to people outside of our team?

Objectives

  • Present technical information clearly to non-technical users
  • Reflect on the development of an ongoing project

CSTA standards

2-AP-192-CS-012-DA-092-IC-202-IC-212-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Days 1 and 2 150 min
Inspecting the Exemplar · Wrap Up Day 1 and 2
Days 3 and 4 20 min
Warm Up · Presentations
Wrap Up 5 min
Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey
Extension Activities
App Celebration Night · Submit to Competitions

Preparation

  • Determine how much time each group has to present. Typically this is 8-10 minutes per team, but remember to leave time for transitioning between teams
  • Create a copy of the presentation template slide deck for each team
  • Print one copy of the rubric for each team.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Mon Mar 8SDU4Lesson 21: Project - App Presentationday 4/4

Continuation — day 4 of 4.

Overview

At this point, teams have researched a topic of personal and social importance, developed and tested both a paper prototype and a digital prototype, and iterated on the initial app to incorporate new features and bug fixes. Now is the time for them to review what they have done and pull together a coherent presentation to not only demonstrate their process of creation, but to also acknowledge the research, design, testing, and iteration that teams have gone through. Using the provided presentation template, teams prepare to present their process of app development, including the problem they set out to solve, the ways in which they've incorporated feedback from testing, and their plans for the future.

Question of the Day: How can I present the steps in our design process to people outside of our team?

Objectives

  • Present technical information clearly to non-technical users
  • Reflect on the development of an ongoing project

CSTA standards

2-AP-192-CS-012-DA-092-IC-202-IC-212-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Days 1 and 2 150 min
Inspecting the Exemplar · Wrap Up Day 1 and 2
Days 3 and 4 20 min
Warm Up · Presentations
Wrap Up 5 min
Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey
Extension Activities
App Celebration Night · Submit to Competitions

Preparation

  • Determine how much time each group has to present. Typically this is 8-10 minutes per team, but remember to leave time for transitioning between teams
  • Create a copy of the presentation template slide deck for each team
  • Print one copy of the rubric for each team.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Tue Mar 9PDProfessional development — teacher workday
Wed Mar 10SDFlexUnit break — catch-up & reset
Thu Mar 11SDU5Lesson 1: Representation Matters

Overview

In Chapter 1 of this unit, students learn the different representation systems that computers use to represent information. In this first lesson, students get an overview of what data is and how it is used to solve problems. Students start off with a brief discussion to come to a common understanding of data. They then split into groups and use a data set to make a series of meal recommendations for people with various criteria. Each group has the choices of meals represented in a different way (pictures, recipes, menu, nutrition) that gives an advantage for one of the recommendations. Afterward, groups compare their responses and discuss how the different representations of the meal data affected how the students were able to solve the different problems and see that the same objects can be represented in a number of different ways.

Question of the Day: How does data affect decisions we make every day?

Objectives

  • Choose the best way to represent some information based on how it will be used.
  • Provide examples of how representing data in different ways can affect its ability to solve different problems.

CSTA standards

2-DA-07

Agenda

Before the Lesson
Preparing for the Unit
Warm Up 5 min
Journal
Activity 35 min
Person 1 · Person 2 · Person 3 · Person 4 · Reflection
Wrap Up 5 min
Journal · Reflection

Preparation

  • Print copies of the Meals Data resource so that each group can get one of the four pages
  • Print one copy of the activity guide for each group
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Fri Mar 12SDFlexFriday catch-up & reteach
Mon Mar 15SDU5Lesson 2: Patterns and Representation

Overview

In this lesson, students get to explore for themselves the qualities of a good system for representing information by creating their own system for representing information. They begin by brainstorming all the different systems they already use to represent yes-no responses and then move on to create a system that can represent any letter in the alphabet using only a single stack of cards. The cards used have one of 6 different possible drawings (6 animals, 6 colors, etc.) and so to represent the entire alphabet students will need to work with their groups to use patterns of multiple cards to represent each letter. Students create messages with their systems and exchange them with other groups to ensure the system worked as intended. In the wrap-up discussion, the class reviews the pros and cons of the different systems, discussing commonalities between working systems and recognizing that there are many possible solutions to this problem and what's important is that everyone uses the same arbitrary system to communicate.

Question of the Day: How can we create a system for representing information?

Objectives

  • Create and use a system for representing information
  • Describe the necessary features of a system for representing information

Vocabulary

Decode
to change how information is represented so that it can be read by a person
Encode
to change how information is represented so that it can be read by a computer

CSTA standards

2-DA-07

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Print one copy of the activity guide for each group of 2-3
  • Print and cut up one copy of the manipulative resource for each group of 2-3
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Tue Mar 16SDU5Lesson 3: ASCII and Binary Representation

Overview

This lesson is an opportunity to make some real-world connections from the previous lesson and review some of the concepts students saw in that activity. Students are formally introduced to the concept of binary, learn what a bit of information is, and get practice using a binary system and ASCII, a system for encoding information. At the beginning of the lesson, the teacher introduces the fact that computers must represent information using either "on" or "off". Then students are introduced to the ASCII system for representing text using binary symbols. Students practice using this system before encoding their own message using ASCII. At the end of the lesson, a debrief conversation helps synthesize the key learning objectives of the activity.

Question of the Day: What system do computers use to represent letters and words?

Objectives

  • Define a binary system as one that uses just two possible states to represent information
  • Use the ASCII system to encode and decode text information in binary

Vocabulary

ASCII
a popular system for representing text in binary
Binary System
a way of representing information using only two options
Bit
a single piece of binary information

CSTA standards

2-DA-07

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min

Preparation

  • Print copies of the activity guide - 1 per student
  • Print copies of the ASCII text resource - 1 for each pair of students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Wed Mar 17SDU5Lesson 4: Representing Images

Overview

In this lesson, students learn how computers represent images. To begin the lesson they consider the challenge of turning all the complexity of vision into a binary pattern. Through a series of images showing how this transformation is made, students are introduced to the concept of splitting images into squares or "pixels" which can then be turned on or off individually to make the entire image. Students then do a short set of challenges using the Pixelation Widget in order to draw black and white images. Puzzles are designed to call out some of the challenges of representing images in this way. In the wrap-up, students make connections between the system for representing images and the system for representing text they learned in the previous lesson.

Question of the Day: What system do computers use to represent images?

Objectives

  • Create and manipulate binary patterns to represent black and white images
  • Describe common features of systems used to represent information in binary

Vocabulary

Pixel
a tiny square or dot which contains a single point of color of a larger image.

CSTA standards

2-DA-07

Agenda

Warm Up 5 min
Journal
Activity 35 min
Pixelation Widget
Wrap Up 5 min
Journal

Preparation

  • Practice using the Pixelation Widget for ~10 mins to prepare to respond to questions
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Mar 18SDU5Lesson 5: Representing Numbers

Overview

In this lesson, students learn how to use the binary system to represent integers. With a set of cards that represent the place values in a binary (base-2) number system by a collection of dots, students turn bits "on" or "off" by turning cards face up and face down, then observe the numbers that result from these different patterns. Eventually, students extend the pattern to a generic 4-bit system.

Question of the Day: What system do computers use to represent numbers?

Objectives

  • Extend a representation system based on patterns.
  • Use a binary system to represent numbers.

CSTA standards

2-DA-07

Agenda

Warm Up 5 min
Journal
Activity 35 min
Representing Numbers Activity Guide
Wrap Up 5 min

Preparation

Fri Mar 19SDU5Lesson 6: Combining Representations

Overview

In this lesson, students use all three types of binary representation systems (ASCII characters, binary numbers, and images) to decode information in a record. After seeing a series of bits and being asked to decode them, students are introduced to the idea that in order to understand binary information, they must understand both the system that is being used and the meaning of the information encoded. They then decode a record representing a pet based on a given structure.

Question of the Day: How do computers tell the difference between binary codes for letters, numbers, or images?

Objectives

  • Determine the most appropriate encoding system for a given piece of information.
  • Use multiple binary systems to decode information.

CSTA standards

2-DA-07

Agenda

Warm Up 5 min
Journal
Activity 35 min
Levels
Wrap Up 5 min
Journal

Preparation

  • Have the 8-Bit Binary Widget and Binary to ASCII Table ready to model with the class
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Mon Mar 22SDU5Lesson 7: Keeping Data Secret

Overview

As students have been encoding and decoding data, they have not been worried about securing the data that they are using even when that information has been highly personal or sensitive (such as addresses or phone numbers). In this lesson, they continue to explore how data is represented in a punchcard and begin to think about how they can ensure that only the intended recipient can read the data that they send. Once students understand the reasons for protecting data, they learn a binary encryption system that lets them encrypt and decrypt data in their punchcards, and eventually, they are able to send secret messages to one another using this method. The class concludes with a discussion on the importance of protecting our information and how encryption is one way we can accomplish this.

Question of the Day: How can we keep data secret and protect it from misuse?

Objectives

  • Apply a method of encryption to ensure the secure transmission of data.
  • Describe the reasons encryption is needed to protect personal data

Vocabulary

Decrypt
to change information so that its hidden meaning is shown
Encrypt
to change information so that its meaning is hidden

CSTA standards

2-NI-052-NI-06

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

Tue Mar 23SDU5Lesson 8: Project - Create a Representation

Overview

The project serves as a cumulative project for the chapter, bringing together the different representation systems students have learned to design a structure that represents their perfect day. Students will first write a short description of their perfect day and then review with a partner to identify the key pieces of information they think a computer could capture. As a class, students will decide how a punch card of bytes of information will be interpreted to represent those pieces of information. Students will then use the ASCII, binary number, and image formats they have learned to represent their perfect days and then trade punch cards and try to decode what the other student's perfect day is like. This lesson forces students to grapple with some of the challenges of representing information in a computer since computers are good at representing _some_ kinds of information like numbers or characters, but this forces students to represent information in ways that might not always capture the full analog experience of an object or event.

Question of the Day: How can I represent complex information using binary systems?

Objectives

  • Choose and justify the use of different binary representation systems depending on the information being represented
  • Create a generalized representation system for many instances of a complex type of information
  • Encode and decode information represented in binary numbers and ASCII text

CSTA standards

2-AP-102-AP-132-DA-07

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min

Preparation

Wed Mar 24SDFlexCatch-up after Project - Create a Representation
Thu Mar 25SDU5Lesson 9: Problem Solving With Data

Overview

In this lesson, students use the problem solving process from earlier in the course to solve a data problem. After reviewing the process, the class is presented with a decision: whether a city should build a library, pet shelter, or fire department. Students work in teams to collect information on the Internet to help them decide what should be built, then use this information to build an argument that will convince the city council of their choice. They then map what they have done to the problem solving process that they have been using throughout the course, comparing the general problem solving process to its specific application to data problems.

Question of the Day: How can we use data to solve problems in our community?

Objectives

  • Identify and collect relevant data to help solve a problem.
  • Use data to draw conclusions.
  • Use the problem solving process to answer a question using data.

CSTA standards

2-DA-08

Agenda

Warm up 5 min
Activity 35 min
Define · Prepare · Try · Reflect
Wrap Up 5 min

Preparation

Fri Mar 26HHoliday — schools closed
Mon Mar 29HHoliday — schools closed
Tue Mar 30NINon-instructional — no students or teachers
Wed Mar 31NINon-instructional — no students or teachers
Thu Apr 1SCSystemwide closure — schools & offices closed
Fri Apr 2SCSystemwide closure — schools & offices closed
Mon Apr 5SDU5Lesson 10: Structuring Data

Overview

In this lesson, students go further into the collection and interpretation of data, including cleaning and visualizing data. Students first look at how presenting data in different ways can help people to understand it better, and they then create visualizations of their own data. Using the results of a preferred pizza topping survey, students must decide what to do with data that does not easily fit into the visualization scheme that they have chosen. Finally, students discuss which parts of this process can be automated by a computer and which need a human to make decisions.

Question of the Day: how can we make it easier for computers to process data?

Objectives

  • Create a bar chart based on a set of data.
  • Explain why a set of data must be cleaned before a computer can use it.
  • Identify and remove irrelevant data from a data set.

CSTA standards

2-DA-08

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

Tue Apr 6SDU5Lesson 11: Interpreting Data

Overview

Students begin the lesson by looking at a cake preference survey that allows respondents to specify both a cake and an icing flavor. They discuss how knowing the relationship between cake and icing preference helps them better decide which combination to recommend. They are then introduced to cross-tabulation, which allows them to graph relationships to different preferences. They use this technique to find relationships in a preference survey, then brainstorm the different types of problems that this process could help solve.

Question of the Day: How can patterns in data help us make decisions?

Objectives

  • Use cross tabulation to find patterns and relationships in data
  • Visually organize data to highlight relationships and support a claim.

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

Wed Apr 7SDU5Lesson 12: Making Decisions with Data

Overview

In this lesson, students get to practice making decisions with data based on problems designed to be familiar to middle school students. Students work in groups discussing how they would use the data presented to make a decision before the class discusses their final choices. Not all questions have "right answers" and in some cases, students can and should decide that they should collect more data. The lesson concludes with a discussion of how different people could draw different conclusions from the same data, or how collecting different data might have affected the decisions they made.

Question of the Day: how can patterns in data help make a decision?

Objectives

  • Identify additional data that could be collected to improve a decision
  • Use tables and visualizations summarizing data to support a decision

CSTA standards

2-DA-08

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Print copies of the activity guide
  • Print copies of the Problem Solving Process with Data - one per group
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Apr 8SDU5Lesson 13: Automating Data Decisions

Overview

In this lesson, students look at a simple example of how a computer could be used to complete the decision-making step of the data problem-solving process if it's given an algorithm. Students are given the task of creating an algorithm that could suggest a vacation spot. Students then create rules that a computer could use to make this decision automatically. Students share their rules and what choices their rules would make with the class data. They then use their rules on data from their classmates to test whether their rules would make the same decision that a person would. The lesson concludes with a discussion about the benefits and drawbacks of using computers to automate the data problem-solving process.

Question of the Day: How can computers help us make decisions about data?

Objectives

  • Design and implement an algorithm for making decisions using data as inputs
  • Explain the benefits and drawbacks of using computers for automated decision making
  • Interpret collected data to identify patterns

CSTA standards

2-AP-102-DA-082-IC-22

Agenda

Warm Up 5 min
Journal
Activity 35 min
Making The Algorithm · Testing the Algorithm
Wrap Up 5 min

Preparation

Fri Apr 9SDFlexFriday catch-up & reteach

Quarter 4

Apr 13 – Jun 11, 2027 · 41 teaching days
Mon Apr 12GPGrading & planning — teacher workday
Tue Apr 13SDU5Lesson 14: Problem Solving with Big Data

Overview

In this lesson, students look at how data is collected and used by organizations to solve problems in the real world as well as also provide students an opportunity to reflect on the fact that in their own lives, they are intentionally and unintentionally producing data that companies collect and use. Students are presented with three scenarios that could be solved using data and brainstorm the types of data they would need and how they could collect the data. Each problem is designed to reflect a real-world service that exists. After brainstorming, students watch a video about a real-world service and record notes about what data is collected by the real-world service and how it is used. At the end of the lesson, students record whether data was provided actively by a user, was recorded passively, or collected by sensors.

Question of the Day: How is our data collected and why is it useful?

Objectives

  • Determine data that would be helpful in solving a problem, and how that data could be collected.
  • Distinguish between data that users intentionally and unintentionally produce.
  • Give examples of how data is collected from sensors and tracking user behavior.

CSTA standards

2-IC-202-IC-23

Agenda

Warm Up 5 min
Journal
Activity 35 min
Web Pix · Routz · Nyle · Reflection
Wrap Up 5 min
Journal

Preparation

  • Print copies of the activity guide
  • Prepare projector if you will show videos to the whole class
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Wed Apr 14SDU5Lesson 15: Data and Machine Learning

Overview

In previous lessons, students have seen how we can use data to make decisions. We've also seen that data can be collected about us constantly, leading to a larger amount of data to analyze - more than a human can handle! In this lesson, students are introduced to the concepts of Artificial Intelligence and Machine Learning using the AI for Oceans widget. First students classify objects as either "fish" or "not fish" to attempt to remove trash from the ocean. Then, students will need to expand their training data set to include other sea creatures that belong in the water. In the second part of the activity, students will choose their own labels to apply to images of randomly generated fish. This training data is used for a machine-learning model that should then be able to label new images on its own.

Question of the Day: How can machines "learn"?

Objectives

  • Reason about how human bias plays a role in machine learning.
  • Train and test a machine learning model.

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Review and complete the online tutorial yourself. If you are not going to use AI for Oceans, explore the other options listed below.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Apr 15SDU5Lesson 16: Project - Make a Recommendationday 1/5

Overview

To conclude this unit, students design a recommendation engine based on data that they collect and analyze from their classmates. After looking at an example of a recommendation app, students follow a project guide to complete this multi-day activity. In the first several steps, students choose what choice they want to help the user to make, what data they need to give the recommendation, create a survey, and collect information about their classmates' choices. They then interpret the data and use what they have learned to create the recommendation algorithm. Last, they use their algorithms to make recommendations to a few classmates. Students perform a peer review and make any necessary updates to their projects before preparing a presentation to the class.

Question of the Day: How can I use data to make my own recommendations?

Objectives

  • Apply the data problem solving process to a personally relevant topic
  • Determine appropriate sources of data needed to solve a problem

CSTA standards

2-AP-102-AP-152-AP-182-DA-082-IC-23

Agenda

Warm Up 5 min
Journal
Activity 215 min
Day 1 Activity (40 mins) · Day 2 Activity (45 mins) · Day 3 Activity (45 mins) · Days 4 and 5 Activity (85 mins)
Wrap Up 5 min
Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey

Preparation

  • Print copies of the project guide
  • Print copies of the rubric
  • Print copies of the peer review guide
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Fri Apr 16SDU5Lesson 16: Project - Make a Recommendationday 2/5

Continuation — day 2 of 5.

Overview

To conclude this unit, students design a recommendation engine based on data that they collect and analyze from their classmates. After looking at an example of a recommendation app, students follow a project guide to complete this multi-day activity. In the first several steps, students choose what choice they want to help the user to make, what data they need to give the recommendation, create a survey, and collect information about their classmates' choices. They then interpret the data and use what they have learned to create the recommendation algorithm. Last, they use their algorithms to make recommendations to a few classmates. Students perform a peer review and make any necessary updates to their projects before preparing a presentation to the class.

Question of the Day: How can I use data to make my own recommendations?

Objectives

  • Apply the data problem solving process to a personally relevant topic
  • Determine appropriate sources of data needed to solve a problem

CSTA standards

2-AP-102-AP-152-AP-182-DA-082-IC-23

Agenda

Warm Up 5 min
Journal
Activity 215 min
Day 1 Activity (40 mins) · Day 2 Activity (45 mins) · Day 3 Activity (45 mins) · Days 4 and 5 Activity (85 mins)
Wrap Up 5 min
Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey

Preparation

  • Print copies of the project guide
  • Print copies of the rubric
  • Print copies of the peer review guide
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Mon Apr 19SDU5Lesson 16: Project - Make a Recommendationday 3/5

Continuation — day 3 of 5.

Overview

To conclude this unit, students design a recommendation engine based on data that they collect and analyze from their classmates. After looking at an example of a recommendation app, students follow a project guide to complete this multi-day activity. In the first several steps, students choose what choice they want to help the user to make, what data they need to give the recommendation, create a survey, and collect information about their classmates' choices. They then interpret the data and use what they have learned to create the recommendation algorithm. Last, they use their algorithms to make recommendations to a few classmates. Students perform a peer review and make any necessary updates to their projects before preparing a presentation to the class.

Question of the Day: How can I use data to make my own recommendations?

Objectives

  • Apply the data problem solving process to a personally relevant topic
  • Determine appropriate sources of data needed to solve a problem

CSTA standards

2-AP-102-AP-152-AP-182-DA-082-IC-23

Agenda

Warm Up 5 min
Journal
Activity 215 min
Day 1 Activity (40 mins) · Day 2 Activity (45 mins) · Day 3 Activity (45 mins) · Days 4 and 5 Activity (85 mins)
Wrap Up 5 min
Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey

Preparation

  • Print copies of the project guide
  • Print copies of the rubric
  • Print copies of the peer review guide
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Tue Apr 20SDU5Lesson 16: Project - Make a Recommendationday 4/5

Continuation — day 4 of 5.

Overview

To conclude this unit, students design a recommendation engine based on data that they collect and analyze from their classmates. After looking at an example of a recommendation app, students follow a project guide to complete this multi-day activity. In the first several steps, students choose what choice they want to help the user to make, what data they need to give the recommendation, create a survey, and collect information about their classmates' choices. They then interpret the data and use what they have learned to create the recommendation algorithm. Last, they use their algorithms to make recommendations to a few classmates. Students perform a peer review and make any necessary updates to their projects before preparing a presentation to the class.

Question of the Day: How can I use data to make my own recommendations?

Objectives

  • Apply the data problem solving process to a personally relevant topic
  • Determine appropriate sources of data needed to solve a problem

CSTA standards

2-AP-102-AP-152-AP-182-DA-082-IC-23

Agenda

Warm Up 5 min
Journal
Activity 215 min
Day 1 Activity (40 mins) · Day 2 Activity (45 mins) · Day 3 Activity (45 mins) · Days 4 and 5 Activity (85 mins)
Wrap Up 5 min
Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey

Preparation

  • Print copies of the project guide
  • Print copies of the rubric
  • Print copies of the peer review guide
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Wed Apr 21SDU5Lesson 16: Project - Make a Recommendationday 5/5

Continuation — day 5 of 5.

Overview

To conclude this unit, students design a recommendation engine based on data that they collect and analyze from their classmates. After looking at an example of a recommendation app, students follow a project guide to complete this multi-day activity. In the first several steps, students choose what choice they want to help the user to make, what data they need to give the recommendation, create a survey, and collect information about their classmates' choices. They then interpret the data and use what they have learned to create the recommendation algorithm. Last, they use their algorithms to make recommendations to a few classmates. Students perform a peer review and make any necessary updates to their projects before preparing a presentation to the class.

Question of the Day: How can I use data to make my own recommendations?

Objectives

  • Apply the data problem solving process to a personally relevant topic
  • Determine appropriate sources of data needed to solve a problem

CSTA standards

2-AP-102-AP-152-AP-182-DA-082-IC-23

Agenda

Warm Up 5 min
Journal
Activity 215 min
Day 1 Activity (40 mins) · Day 2 Activity (45 mins) · Day 3 Activity (45 mins) · Days 4 and 5 Activity (85 mins)
Wrap Up 5 min
Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey

Preparation

  • Print copies of the project guide
  • Print copies of the rubric
  • Print copies of the peer review guide
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Thu Apr 22NINon-instructional — no students or teachers
Fri Apr 23SDFlexUnit break — catch-up & reset
Mon Apr 26SDU6bLesson 0: Intro to App Lab

Overview

This unit assumes students are already familiar with App Lab, so we recommend starting with the App Lab Hour of Code which is included in this lesson. If your students are already familiar with App Lab, you may decide to skip this lesson, which requires hiding it from students in the unit overview page. Click here to learn more about hiding this lesson, allowing your classes to start right away with Physical Computing

This tutorial is designed to quickly introduce the App Lab programming environment as a powerful tool for building and sharing apps. The tutorial itself teaches students to create and control buttons, text, images, sounds, and screens in JavaScript using either blocks or text. At the end of the tutorial, students are given time to either extend a project they started building into a "Choose Your Own Adventure", "Greeting Card", or "Personality Quiz" app. They can also continue on to build more projects featured on the code.org/applab page.

Objectives

  • Build and share their own apps in App Lab using features like buttons, text, images, sound, and screens.

CSTA standards

2-AP-12

Agenda

Warm Up 5 min
Introduction
Activity 35 min
Intro to App Lab
Wrap Up 5 min
Celebrate and Keep Going!

Preparation

  • Review and complete the online tutorial yourself
  • Print one or more of the Exit Ticket examples at the end of this lesson plan, or create your own.
Tue Apr 27SDU6bLesson 1: Physical Designs

Overview

To kick off a unit devoted to problem-solving and creating apps with devices, students begin by investigating the design of different physical devices and their apps. Students look at a variety of physical designs and attempt to match each design with a potential user. Then students choose a user and attempt to prototype a physical design for them on paper or in a digital template. To conclude the activity, students consider what it means to be a physical designer and create resources for other users.

Question of the Day: How can we design apps with devices based on the needs of a user?

Objectives

  • Create a prototype of a physical design to meet the needs of a user using the problem-solving process
  • Identify features of a physical design that match the needs of users
  • Understand the steps of the problem-solving process

CSTA standards

2-AP-13

Agenda

Before the Lesson
Preparing for the Unit
Warm Up - Option 1
Problem Solving Word Search · The Problem Solving Process
Warm Up - Option 2 5 min
Revisit The Problem Solving Process
Activity 35 min
Recommending Physical Designs · Creating a Physical Design
Wrap Up 5 min
Reflection

Preparation

Wed Apr 28SDU6bLesson 2: Introducing the micro:bit

Overview

This lesson gives students their first opportunity to write App Lab programs that incorporate the micro:bit physical computing device. After first inspecting the micro:bit boards, investigating some of its physical features and hypothesizing about potential uses, students move online to create applications that use App Lab inputs to control the micro:bit’s main output, its LED display, to show simple pictures, words and numbers.

Question of the Day: How can I control the main output on the BBC micro:bit?

Objectives

  • Connect and troubleshoot external micro:bit devices
  • Control the micro:bit’s LED display with code: turn individual LEDs on and off, scroll words and numbers

Vocabulary

LED
Light Emitting Diode, lights that use very little energy and which are found on many electronic devices
Output
the information computers give to users, devices, or other computers

CSTA standards

2-AP-132-CS-022-CS-03

Agenda

Warm Up 5 min
What is a micro:bit?
Activity 35 min
Connecting The Board
Wrap Up 5 min
Only 25 LEDs

Preparation

  • Make sure that student computers have the drivers and software necessary to connect Code.org App Lab to the micro:bit (details here)
  • Prepare a micro:bit and USB cable for each pair of students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Thu Apr 29SDU6bLesson 3: Updating Screen Elements

Overview

Students should already be familiar with programming in App Lab, specifically using Design Mode to create screen elements and using `onEvent` blocks to create button click events. To expand the kinds of apps that students can make, and to encourage them to think in new ways about how users interact with apps, we introduce the `setProperty()` and `setText()` blocks that allow users to change the properties and content of various UI elements. In this lesson students explore how they can use events to update elements on the screen

Question of the Day: How can you update design elements of an app?

Objectives

  • Change text on the screen using code
  • Respond to user input using event handlers
  • Set the properties of UI elements using code

CSTA standards

2-AP-132-AP-19

Agenda

Warm Up 5 min
UI Element Properties Refresher
Activity 35 min
Wrap Up 5 min

Preparation

  • Students do _not_ need devices for this lesson, and we recommend teaching the lesson without devices to avoid distractions
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Fri Apr 30SDU6bLesson 4: Board Events

Overview

This lesson transitions students from considering the micro:bit as strictly an output device and instead introduces the buttons as tools for input. Starting with the hardware buttons, students learn to use [`onBoardEvent()`(#f78183)](/docs/applab/onBoardEvent/), analogously to [`onEvent()`(#fff176)](/docs/applab/onEvent/), in order to take input from their micro:bit.

Question of the Day: How can the user interact with the micro:bit for input?

Objectives

  • Use a board event handler to control buttons on the micro:bit

Vocabulary

Input
the information computers get from users, devices, or other computers

CSTA standards

2-AP-132-AP-172-AP-192-CS-012-CS-022-CS-03

Agenda

Warm Up 5 min
Board Inspection: Inputs
Activity 35 min
Wrap Up 5 min
Journal 3-2-1

Preparation

  • Prepare a board and USB cable for each pair of students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Mon May 3SDU6bLesson 5: Variables and If Statements

Overview

In this lesson, students are introduced to variables, the counter pattern, and if-statements. Students will use these concepts in the context of programming the micro:bit and creating more complex input/output behaviors, such as counting the number of button presses before having the micro:bit light up. The concepts in this lesson are used to make more complex and fulfilling apps in future lessons, and students may need to refer back to the videos and examples in this lesson as they continue to master these concepts.

Question of the Day: How can I create more complex programs that keep track of information and make decisions?

Objectives

  • Use if-statements to make decisions when creating apps
  • Use the counter pattern to update variables when creating apps
  • Use variables to store information when creating apps

CSTA standards

2-AP-112-AP-132-AP-192-CS-022-CS-03

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Prepare a board and USB cable for each pair of students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Tue May 4SDU6bLesson 6: Mini-Project - Field Collector Appday 1/2

Overview

In this mini-project, students will use the micro:bit to collect data, then use App Lab to analyze the data that was collected. This is similar to citizen science fieldwork or survey apps where a person collects data on a device "in the field", then returns to a central location to view and analyze the data (such as cataloguing endangered species in the wild). Students will use variables and events to collect data from the micro:bit, then use if-statements to make decisions or recommendations based on the data they collect.

Question of the Day: How can I use events and variables to create an app that collects and analyzes data?

Objectives

  • Create a project that incorporates inputs from the micro:bit
  • Create a project that incorporates outputs from the app screen
  • Create a project that incorporates variables and if-statements

CSTA standards

2-AP-112-AP-132-AP-192-CS-022-CS-03

Agenda

Warm Up 5 min
Journal
Activity 80 min
Project Ideation · Creating the Project · Code Studio · (Optional) Gallery Walk
Wrap Up 5 min
Reflection

Preparation

  • Review the Project Guide and Rubric to understand the scope of the project.
  • Review the exemplar projects as examples of what students can create.
  • (Optional) You may decide to show one of these projects to students to help spark ideas.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Wed May 5SDU6bLesson 6: Mini-Project - Field Collector Appday 2/2

Continuation — day 2 of 2.

Overview

In this mini-project, students will use the micro:bit to collect data, then use App Lab to analyze the data that was collected. This is similar to citizen science fieldwork or survey apps where a person collects data on a device "in the field", then returns to a central location to view and analyze the data (such as cataloguing endangered species in the wild). Students will use variables and events to collect data from the micro:bit, then use if-statements to make decisions or recommendations based on the data they collect.

Question of the Day: How can I use events and variables to create an app that collects and analyzes data?

Objectives

  • Create a project that incorporates inputs from the micro:bit
  • Create a project that incorporates outputs from the app screen
  • Create a project that incorporates variables and if-statements

CSTA standards

2-AP-112-AP-132-AP-192-CS-022-CS-03

Agenda

Warm Up 5 min
Journal
Activity 80 min
Project Ideation · Creating the Project · Code Studio · (Optional) Gallery Walk
Wrap Up 5 min
Reflection

Preparation

  • Review the Project Guide and Rubric to understand the scope of the project.
  • Review the exemplar projects as examples of what students can create.
  • (Optional) You may decide to show one of these projects to students to help spark ideas.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Thu May 6SDFlexCatch-up after Mini-Project - Field Collector App
Fri May 7SDU6bLesson 7: Getting Screen Inputs

Overview

Students learn to use several new design elements - text inputs, dropdowns, and sliders - so they can get user input from the screen of their apps. This lesson also introduces students to the getProperty and getText blocks, which allow them to access their user input in their code. Students first practice using these tools to determine what the user has input in various user interface elements. Students later use getProperty and setProperty together with the counter pattern to make elements move across the screen. A new event trigger, change, is also introduced to represent when a dropdown or slider changes values.

Question of the Day: How can we use the app screen for user input?

Objectives

  • Design apps using the text input, dropdown, and slider design elements
  • Use getProperty and getText to access user input on the screen
  • Use user input to update elements on the screen using code

CSTA standards

2-AP-112-AP-132-AP-19

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min

Preparation

  • Students do _not_ need micro:bits for this lesson, and we recommend teaching the lesson without devices.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Mon May 10SDU6bLesson 8: Combining Inputs and Outputs

Overview

In this lesson, students combine inputs and outputs across both the micro:bit and the app screen. For example, students may use dropdowns or sliders to make the LEDs on the micro:bit change. Or, students may use the buttons on the micro:bit to update elements on the screen. This lesson also extends how students use variables and if-statements to make more complex decisions based on user input. There are no new coding commands or micro:bit features in this lesson, but students are combining many elements from previous lessons in new ways.

Question of the Day: How can I use inputs and outputs from both the micro:bit and the app screen?

Objectives

  • Use inputs from app design elements to update screen elements or produce output on the micro:bit
  • Use inputs from the micro:bit to update screen elements or produce output on the micro:bit
  • Use variables and if-statements for complex user interaction

CSTA standards

2-AP-112-AP-132-AP-192-CS-022-CS-03

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min

Preparation

  • Prepare a board and USB cable for each pair of students
  • (Optional) consider preparing external reference materials from previous lessons for students, such as a Word Wall or Reference Packet, that students can access.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Tue May 11SDU6bLesson 9: Project - Human Device Interactionday 1/5

Overview

In this project, students create an app that controls the micro:bit so it interacts with the physical environment around it, similar to many smart phone apps that are used to control devices in a house or car or school. Students use physical materials to help design their physical device, then create an app that lets the user interact with the physical device or change settings.

Objectives

  • Create a project that incorporates physical materials into its design
  • Create a project that uses a variety of inputs and outputs from the micro:bit and app screen

Vocabulary

Prototype
A first or early model of a product that allows you to test assumptions before developing a final version.

CSTA standards

2-AP-112-AP-132-AP-152-AP-172-AP-192-CS-012-CS-022-CS-03

Agenda

Day 1 45 min
Warm Up · Introduce the Project · Sketching Your Device · Wrap Up
Day 2 45 min
Warm Up · Build Your Device · Wrap Up
Day 3 45 min
Warm Up · Complete Your Device · Start Coding · Wrap Up
Day 4 45 min
Warm Up · Coding and Testing · Wrap Up
Day 5 45 min
Warm Up · Review Device · Demonstrations · Wrap Up

Preparation

  • Review the Project Guide and Rubric to understand the scope of the project.
  • Review the exemplar projects as examples of what students can create.
  • (Optional) You may decide to show one of these projects to students to help spark ideas.
  • Gather prototyping materials, such as:
  • Structural material (cardboard, construction paper, etc)
  • Connective material (tape, glue, hot glue, etc)
  • Construction tools (scissors, staplers, etc)
  • Other materials (cups, binder clips, paper plates, etc)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Wed May 12SDU6bLesson 9: Project - Human Device Interactionday 2/5

Continuation — day 2 of 5.

Overview

In this project, students create an app that controls the micro:bit so it interacts with the physical environment around it, similar to many smart phone apps that are used to control devices in a house or car or school. Students use physical materials to help design their physical device, then create an app that lets the user interact with the physical device or change settings.

Objectives

  • Create a project that incorporates physical materials into its design
  • Create a project that uses a variety of inputs and outputs from the micro:bit and app screen

Vocabulary

Prototype
A first or early model of a product that allows you to test assumptions before developing a final version.

CSTA standards

2-AP-112-AP-132-AP-152-AP-172-AP-192-CS-012-CS-022-CS-03

Agenda

Day 1 45 min
Warm Up · Introduce the Project · Sketching Your Device · Wrap Up
Day 2 45 min
Warm Up · Build Your Device · Wrap Up
Day 3 45 min
Warm Up · Complete Your Device · Start Coding · Wrap Up
Day 4 45 min
Warm Up · Coding and Testing · Wrap Up
Day 5 45 min
Warm Up · Review Device · Demonstrations · Wrap Up

Preparation

  • Review the Project Guide and Rubric to understand the scope of the project.
  • Review the exemplar projects as examples of what students can create.
  • (Optional) You may decide to show one of these projects to students to help spark ideas.
  • Gather prototyping materials, such as:
  • Structural material (cardboard, construction paper, etc)
  • Connective material (tape, glue, hot glue, etc)
  • Construction tools (scissors, staplers, etc)
  • Other materials (cups, binder clips, paper plates, etc)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Thu May 13SDU6bLesson 9: Project - Human Device Interactionday 3/5

Continuation — day 3 of 5.

Overview

In this project, students create an app that controls the micro:bit so it interacts with the physical environment around it, similar to many smart phone apps that are used to control devices in a house or car or school. Students use physical materials to help design their physical device, then create an app that lets the user interact with the physical device or change settings.

Objectives

  • Create a project that incorporates physical materials into its design
  • Create a project that uses a variety of inputs and outputs from the micro:bit and app screen

Vocabulary

Prototype
A first or early model of a product that allows you to test assumptions before developing a final version.

CSTA standards

2-AP-112-AP-132-AP-152-AP-172-AP-192-CS-012-CS-022-CS-03

Agenda

Day 1 45 min
Warm Up · Introduce the Project · Sketching Your Device · Wrap Up
Day 2 45 min
Warm Up · Build Your Device · Wrap Up
Day 3 45 min
Warm Up · Complete Your Device · Start Coding · Wrap Up
Day 4 45 min
Warm Up · Coding and Testing · Wrap Up
Day 5 45 min
Warm Up · Review Device · Demonstrations · Wrap Up

Preparation

  • Review the Project Guide and Rubric to understand the scope of the project.
  • Review the exemplar projects as examples of what students can create.
  • (Optional) You may decide to show one of these projects to students to help spark ideas.
  • Gather prototyping materials, such as:
  • Structural material (cardboard, construction paper, etc)
  • Connective material (tape, glue, hot glue, etc)
  • Construction tools (scissors, staplers, etc)
  • Other materials (cups, binder clips, paper plates, etc)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Fri May 14SDU6bLesson 9: Project - Human Device Interactionday 4/5

Continuation — day 4 of 5.

Overview

In this project, students create an app that controls the micro:bit so it interacts with the physical environment around it, similar to many smart phone apps that are used to control devices in a house or car or school. Students use physical materials to help design their physical device, then create an app that lets the user interact with the physical device or change settings.

Objectives

  • Create a project that incorporates physical materials into its design
  • Create a project that uses a variety of inputs and outputs from the micro:bit and app screen

Vocabulary

Prototype
A first or early model of a product that allows you to test assumptions before developing a final version.

CSTA standards

2-AP-112-AP-132-AP-152-AP-172-AP-192-CS-012-CS-022-CS-03

Agenda

Day 1 45 min
Warm Up · Introduce the Project · Sketching Your Device · Wrap Up
Day 2 45 min
Warm Up · Build Your Device · Wrap Up
Day 3 45 min
Warm Up · Complete Your Device · Start Coding · Wrap Up
Day 4 45 min
Warm Up · Coding and Testing · Wrap Up
Day 5 45 min
Warm Up · Review Device · Demonstrations · Wrap Up

Preparation

  • Review the Project Guide and Rubric to understand the scope of the project.
  • Review the exemplar projects as examples of what students can create.
  • (Optional) You may decide to show one of these projects to students to help spark ideas.
  • Gather prototyping materials, such as:
  • Structural material (cardboard, construction paper, etc)
  • Connective material (tape, glue, hot glue, etc)
  • Construction tools (scissors, staplers, etc)
  • Other materials (cups, binder clips, paper plates, etc)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Mon May 17NINon-instructional — no students or teachers
Tue May 18SDU6bLesson 9: Project - Human Device Interactionday 5/5

Continuation — day 5 of 5.

Overview

In this project, students create an app that controls the micro:bit so it interacts with the physical environment around it, similar to many smart phone apps that are used to control devices in a house or car or school. Students use physical materials to help design their physical device, then create an app that lets the user interact with the physical device or change settings.

Objectives

  • Create a project that incorporates physical materials into its design
  • Create a project that uses a variety of inputs and outputs from the micro:bit and app screen

Vocabulary

Prototype
A first or early model of a product that allows you to test assumptions before developing a final version.

CSTA standards

2-AP-112-AP-132-AP-152-AP-172-AP-192-CS-012-CS-022-CS-03

Agenda

Day 1 45 min
Warm Up · Introduce the Project · Sketching Your Device · Wrap Up
Day 2 45 min
Warm Up · Build Your Device · Wrap Up
Day 3 45 min
Warm Up · Complete Your Device · Start Coding · Wrap Up
Day 4 45 min
Warm Up · Coding and Testing · Wrap Up
Day 5 45 min
Warm Up · Review Device · Demonstrations · Wrap Up

Preparation

  • Review the Project Guide and Rubric to understand the scope of the project.
  • Review the exemplar projects as examples of what students can create.
  • (Optional) You may decide to show one of these projects to students to help spark ideas.
  • Gather prototyping materials, such as:
  • Structural material (cardboard, construction paper, etc)
  • Connective material (tape, glue, hot glue, etc)
  • Construction tools (scissors, staplers, etc)
  • Other materials (cups, binder clips, paper plates, etc)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Wed May 19SDFlexCatch-up after Project - Human Device Interaction
Thu May 20SDU6bLesson 10: Board Sensors

Overview

In this lesson, students explore how the two sensors (light and temperature) can be used to write programs that respond to changes in the environment. The use of these sensors marks a transition in terms of how users interact with a program. By using sensors as an input, the user of an app doesn't have to directly interact with it at all or may interact without actually realizing they are doing so.

Question of the Day: How can I use sensors to detect changes in the environment?

Objectives

  • Develop programs that respond to sensor input
  • Scale a range of numbers to meet a specific need

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-192-CS-012-CS-022-CS-03

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min
Sensors All Around

Preparation

  • Prepare a board and USB cable for each pair of students
  • Consider having some flashlights or other light sources on hand for testing the light sensor
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Fri May 21SDU6bLesson 11: Accelerometer

Overview

In this lesson, students will explore the accelerometer and its capabilities. They’ll become familiar with its events and properties, as well as create multiple programs utilizing the accelerometer similar to those they’ve likely come across in real world applications.

Question of the Day: How can I use the accelerometer to create apps?

Objectives

  • Use accelerometer orientation (pitch and roll) when creating apps
  • Use the data event to continually update an element's properties.

CSTA standards

2-AP-112-AP-132-AP-172-AP-192-CS-012-CS-022-CS-03

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Prepare a board and USB cable for each pair of students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Mon May 24SDU6bLesson 12: Functions

Overview

This lesson introduces students to functions as way to organize and group repeated blocks of code together. Then, students learn how to use parameters in their functions as a way to generalize behaviors to work for different contexts. Students will use these concepts in future lessons, and it may be necessary to return to this lesson to reference the resources and videos.

Question of the Day: How can I use functions to organize and simplify my code?

Objectives

  • Use functions to organize repeated blocks of code
  • Use parameters to generalize the purpose of a function

CSTA standards

2-AP-112-AP-132-AP-142-CS-022-CS-03

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Prepare a board and USB cable for each pair of students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Tue May 25SDU6bLesson 13: Mini-Project - Interactive Petday 1/2

Overview

In this lesson, students create an interactive "pet" using the sensors on the micro:bit, the LED Display to represent expressions, and physical materials. Students explore how the micro:bit can augment physical materials to create an interactive experience. This project does not use the App Lab screen except to help with debugging - otherwise, users only interact with the interactive pet itself.

Objectives

  • Create a project that combines output from the micro:bit with physical materials
  • Create a project that seamlessly integrates the micro:bit with physical materials

CSTA standards

2-AP-112-AP-132-AP-142-AP-152-CS-012-CS-022-CS-03

Agenda

Warm Up 10 min
Activity 75 min
(Optional) Gallery Walk
Wrap Up 5 min
Reflection

Preparation

  • Review the Project Guide and Rubric to understand the scope of the project.
  • (Optional) You may decide to show one of these projects to students to help spark ideas.
  • Gather prototyping materials, such as:
  • Structural material (cardboard, construction paper, etc)
  • Connective material (tape, glue, hot glue, etc)
  • Construction tools (scissors, staplers, etc)
  • Other materials (cups, binder clips, paper plates, etc)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Wed May 26SDU6bLesson 13: Mini-Project - Interactive Petday 2/2

Continuation — day 2 of 2.

Overview

In this lesson, students create an interactive "pet" using the sensors on the micro:bit, the LED Display to represent expressions, and physical materials. Students explore how the micro:bit can augment physical materials to create an interactive experience. This project does not use the App Lab screen except to help with debugging - otherwise, users only interact with the interactive pet itself.

Objectives

  • Create a project that combines output from the micro:bit with physical materials
  • Create a project that seamlessly integrates the micro:bit with physical materials

CSTA standards

2-AP-112-AP-132-AP-142-AP-152-CS-012-CS-022-CS-03

Agenda

Warm Up 10 min
Activity 75 min
(Optional) Gallery Walk
Wrap Up 5 min
Reflection

Preparation

  • Review the Project Guide and Rubric to understand the scope of the project.
  • (Optional) You may decide to show one of these projects to students to help spark ideas.
  • Gather prototyping materials, such as:
  • Structural material (cardboard, construction paper, etc)
  • Connective material (tape, glue, hot glue, etc)
  • Construction tools (scissors, staplers, etc)
  • Other materials (cups, binder clips, paper plates, etc)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Thu May 27SDFlexCatch-up after Mini-Project - Interactive Pet
Fri May 28SDU6bLesson 14: Physical Outputs and LEDsday 1/2

Overview

In this lesson, students learn how to attach external LEDs to their micro:bit and use code to light up these LEDs. This allows students to create more flexible devices that mimic real-world products. This lesson requires several external materials, as well as safety protocols to ensure students don’t accidentally damage their micro:bit.

Question of the Day: How can I use external LEDs to create physical prototypes?

Objectives

  • Create and debug a circuit with an LED
  • Create prototype devices that control an LED with code

Vocabulary

Circuit
A device that provides a path for an electric current to flow, often modifying that current. In computers, circuits allow for simple logical and mathematical operations using electricity.
Prototype
A first or early model of a product that allows you to test assumptions before developing a final version.

CSTA standards

2-AP-112-AP-192-CS-022-CS-032-IC-21

Agenda

Warm Up 5 min
Activity 80 min
Wrap Up 5 min

Preparation

  • Prepare circuit wiring materials, such as:
  • Alligator clip wires
  • LEDs
  • Other conductive material (wire, paper clips, foil, etc)
  • (optional) Buttons or switches
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Mon May 31HHoliday — schools closed
Tue Jun 1SDU6bLesson 14: Physical Outputs and LEDsday 2/2

Continuation — day 2 of 2.

Overview

In this lesson, students learn how to attach external LEDs to their micro:bit and use code to light up these LEDs. This allows students to create more flexible devices that mimic real-world products. This lesson requires several external materials, as well as safety protocols to ensure students don’t accidentally damage their micro:bit.

Question of the Day: How can I use external LEDs to create physical prototypes?

Objectives

  • Create and debug a circuit with an LED
  • Create prototype devices that control an LED with code

Vocabulary

Circuit
A device that provides a path for an electric current to flow, often modifying that current. In computers, circuits allow for simple logical and mathematical operations using electricity.
Prototype
A first or early model of a product that allows you to test assumptions before developing a final version.

CSTA standards

2-AP-112-AP-192-CS-022-CS-032-IC-21

Agenda

Warm Up 5 min
Activity 80 min
Wrap Up 5 min

Preparation

  • Prepare circuit wiring materials, such as:
  • Alligator clip wires
  • LEDs
  • Other conductive material (wire, paper clips, foil, etc)
  • (optional) Buttons or switches
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Wed Jun 2SDU6bLesson 15: Physical Inputs and Buttonsday 1/2

Overview

In this lesson, students learn how to connect external wires to create input events when the wires touch, simulating a button press. Students learn to use code to recognize these external button events to make changes to their app. This allows students to create more flexible devices that mimic real-world products. This lesson requires several external materials, as well as safety protocols to ensure students don’t accidentally damage their micro:bit.

Question of the Day: How can I use external buttons to create physical prototypes?

Objectives

  • Create and debug a circuit with a button
  • Create prototype devices that use an external button for input

CSTA standards

2-AP-102-AP-112-AP-142-AP-192-CS-022-CS-032-IC-21

Agenda

Warm Up 5 min
Activity 80 min
Wrap Up 5 min

Preparation

  • Prepare circuit wiring materials, such as:
  • Alligator clip wires
  • LEDs
  • Other conductive material (wire, paper clips, foil, etc)
  • (optional) Buttons or switches
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Thu Jun 3SDU6bLesson 15: Physical Inputs and Buttonsday 2/2

Continuation — day 2 of 2.

Overview

In this lesson, students learn how to connect external wires to create input events when the wires touch, simulating a button press. Students learn to use code to recognize these external button events to make changes to their app. This allows students to create more flexible devices that mimic real-world products. This lesson requires several external materials, as well as safety protocols to ensure students don’t accidentally damage their micro:bit.

Question of the Day: How can I use external buttons to create physical prototypes?

Objectives

  • Create and debug a circuit with a button
  • Create prototype devices that use an external button for input

CSTA standards

2-AP-102-AP-112-AP-142-AP-192-CS-022-CS-032-IC-21

Agenda

Warm Up 5 min
Activity 80 min
Wrap Up 5 min

Preparation

  • Prepare circuit wiring materials, such as:
  • Alligator clip wires
  • LEDs
  • Other conductive material (wire, paper clips, foil, etc)
  • (optional) Buttons or switches
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Fri Jun 4SDFlexFriday catch-up & reteach
Mon Jun 7SDU6bLesson 16: Project - Prototype an Innovationday 1/5

Overview

In this final project for the course, students team to develop and test a prototype for an innovative computing device based on the micro:bit. Using the inputs and outputs available on the board, groups will create programs that allow for interesting and unique user interactions.

Objectives

  • Implement a plan for developing a piece of software that integrates hardware inputs and outputs
  • Independently scope the features of a piece of software
  • Prototype a physical computing device

CSTA standards

2-AP-102-AP-112-AP-122-AP-132-AP-152-AP-162-AP-172-AP-182-AP-192-CS-012-CS-022-CS-03

Agenda

Warm Up 5 min
Review Project Guide
Activity 210 min
Define - Scope Innovation · Prepare - Complete Project Guide · Try - Develop Prototypes · Reflect - Peer Review · Iterate - Revise Prototypes
Wrap Up 10 min
Share
Extensions
Pitch Video · Marketing Website · Crowdfunding Campaign

Preparation

  • Collect materials for physical prototyping, eg.
  • Cardboard
  • Scissors
  • Tape
  • Glue
  • Foil
  • Print a copy of the project guide for each pair of students
  • Print a copy of the peer review sheet for each student
  • Print a copy of the rubric for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Tue Jun 8SDU6bLesson 16: Project - Prototype an Innovationday 2/5

Continuation — day 2 of 5.

Overview

In this final project for the course, students team to develop and test a prototype for an innovative computing device based on the micro:bit. Using the inputs and outputs available on the board, groups will create programs that allow for interesting and unique user interactions.

Objectives

  • Implement a plan for developing a piece of software that integrates hardware inputs and outputs
  • Independently scope the features of a piece of software
  • Prototype a physical computing device

CSTA standards

2-AP-102-AP-112-AP-122-AP-132-AP-152-AP-162-AP-172-AP-182-AP-192-CS-012-CS-022-CS-03

Agenda

Warm Up 5 min
Review Project Guide
Activity 210 min
Define - Scope Innovation · Prepare - Complete Project Guide · Try - Develop Prototypes · Reflect - Peer Review · Iterate - Revise Prototypes
Wrap Up 10 min
Share
Extensions
Pitch Video · Marketing Website · Crowdfunding Campaign

Preparation

  • Collect materials for physical prototyping, eg.
  • Cardboard
  • Scissors
  • Tape
  • Glue
  • Foil
  • Print a copy of the project guide for each pair of students
  • Print a copy of the peer review sheet for each student
  • Print a copy of the rubric for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Wed Jun 9SDU6bLesson 16: Project - Prototype an Innovationday 3/5

Continuation — day 3 of 5.

Overview

In this final project for the course, students team to develop and test a prototype for an innovative computing device based on the micro:bit. Using the inputs and outputs available on the board, groups will create programs that allow for interesting and unique user interactions.

Objectives

  • Implement a plan for developing a piece of software that integrates hardware inputs and outputs
  • Independently scope the features of a piece of software
  • Prototype a physical computing device

CSTA standards

2-AP-102-AP-112-AP-122-AP-132-AP-152-AP-162-AP-172-AP-182-AP-192-CS-012-CS-022-CS-03

Agenda

Warm Up 5 min
Review Project Guide
Activity 210 min
Define - Scope Innovation · Prepare - Complete Project Guide · Try - Develop Prototypes · Reflect - Peer Review · Iterate - Revise Prototypes
Wrap Up 10 min
Share
Extensions
Pitch Video · Marketing Website · Crowdfunding Campaign

Preparation

  • Collect materials for physical prototyping, eg.
  • Cardboard
  • Scissors
  • Tape
  • Glue
  • Foil
  • Print a copy of the project guide for each pair of students
  • Print a copy of the peer review sheet for each student
  • Print a copy of the rubric for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Thu Jun 10SDU6bLesson 16: Project - Prototype an Innovationday 4/5

Continuation — day 4 of 5.

Overview

In this final project for the course, students team to develop and test a prototype for an innovative computing device based on the micro:bit. Using the inputs and outputs available on the board, groups will create programs that allow for interesting and unique user interactions.

Objectives

  • Implement a plan for developing a piece of software that integrates hardware inputs and outputs
  • Independently scope the features of a piece of software
  • Prototype a physical computing device

CSTA standards

2-AP-102-AP-112-AP-122-AP-132-AP-152-AP-162-AP-172-AP-182-AP-192-CS-012-CS-022-CS-03

Agenda

Warm Up 5 min
Review Project Guide
Activity 210 min
Define - Scope Innovation · Prepare - Complete Project Guide · Try - Develop Prototypes · Reflect - Peer Review · Iterate - Revise Prototypes
Wrap Up 10 min
Share
Extensions
Pitch Video · Marketing Website · Crowdfunding Campaign

Preparation

  • Collect materials for physical prototyping, eg.
  • Cardboard
  • Scissors
  • Tape
  • Glue
  • Foil
  • Print a copy of the project guide for each pair of students
  • Print a copy of the peer review sheet for each student
  • Print a copy of the rubric for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Fri Jun 11ERU6bLesson 16: Project - Prototype an Innovationday 5/5

Continuation — day 5 of 5.

Overview

In this final project for the course, students team to develop and test a prototype for an innovative computing device based on the micro:bit. Using the inputs and outputs available on the board, groups will create programs that allow for interesting and unique user interactions.

Objectives

  • Implement a plan for developing a piece of software that integrates hardware inputs and outputs
  • Independently scope the features of a piece of software
  • Prototype a physical computing device

CSTA standards

2-AP-102-AP-112-AP-122-AP-132-AP-152-AP-162-AP-172-AP-182-AP-192-CS-012-CS-022-CS-03

Agenda

Warm Up 5 min
Review Project Guide
Activity 210 min
Define - Scope Innovation · Prepare - Complete Project Guide · Try - Develop Prototypes · Reflect - Peer Review · Iterate - Revise Prototypes
Wrap Up 10 min
Share
Extensions
Pitch Video · Marketing Website · Crowdfunding Campaign

Preparation

  • Collect materials for physical prototyping, eg.
  • Cardboard
  • Scissors
  • Tape
  • Glue
  • Foil
  • Print a copy of the project guide for each pair of students
  • Print a copy of the peer review sheet for each student
  • Print a copy of the rubric for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers

Lesson Catalog — all 133 lessons, all 8 units; click any lesson to expand

Unit 1

Problem Solving & Computing

8 lessons585 min~13 days11 CSTA
L1Intro to Problem Solving45 min

Overview

This lesson is a fun introduction to the open-ended, collaborative, and creative problem-solving students will be using over the rest of this unit and course. Students work in groups to design aluminum foil boats that will support as many pennies as possible. Groups have two rounds to work on their boats, with the goal of trying to hold more pennies than they did in round 1. The structure of the activity foreshadows different steps of the problem-solving process that students will be introduced to in more detail in the following lesson. At the end of the lesson, students reflect on their experiences with the activity and make connections to the types of problem-solving they will be doing for the rest of the course

Question of the Day: What can help us to work together and solve problems as a team?

Alternate versions of this lesson are also available.

  • [Newspaper Table](/s/csd1-2023/lessons/9/)
  • [Spaghetti Bridge](/s/csd1-2023/lessons/10/)
  • [Paper Tower](/s/csd1-2023/lessons/11/)

Objectives

  • Communicate and collaborate with classmates in order to solve a problem
  • Identify different strategies used to solve a problem
  • Iteratively improve a solution to a problem

CSTA standards

1B-AP-081B-AP-111B-AP-16

Agenda

Tech Setup
Warm Up 5 min
Set the Stage
Activity 35 min
Building an Aluminum Boat · Goal and Rules · Develop a Plan · Test Your Boat · Evaluate and Improve
Wrap Up 5 min
Discuss the Challenge · Reflection

Preparation

For each group

  • 2 sheets of aluminum foil, 5x5 inches in length each
  • 1 container that can hold 3-5 inches of water
  • Several paper towels or rags that can be placed under the container
  • 15 pennies
  • One copy of the activity guide

For the teacher

  • 1 container that can hold 3-5 inches of water
  • 50 pennies
  • Extra paper towels or rags
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L2The Problem Solving Process45 min

Overview

This lesson introduces the formal problem-solving process that students will use over the course of the year, Define - Prepare - Try - Reflect. The lesson begins by anchoring the formal problem-solving process in some real-life experiences they already have solving problems by asking students to brainstorm all the different types of problems that they encounter in everyday life. Students are then shown the four steps of the problem-solving process and work together to relate these abstract steps to their actual experiences solving problems. First students relate these steps to the problem activities from the previous lesson, then a problem they are good at solving, then a problem they want to improve at solving. At the end of the lesson, the class collects a list of generally useful strategies for each step of the process to put on posters that will be used throughout the unit and year.

Question of the Day: What are some common steps we can use to solve many different types of problems?

Objectives

  • Given a problem, identify individual actions that would fall within each step of the problem solving process
  • Identify useful strategies within each step of the problem solving process

CSTA standards

1B-AP-081B-AP-11

Agenda

Warm Up 5 min
Problems Brainstorm
Activity 35 min
The Problem Solving Process · What it Looks Like · A Problem You Are Good at Solving · A Problem You and a Classmate Want to Get Better at Solving · Create Posters of the Steps
Wrap Up 5 min
Extended Learning
Article Discussion

Preparation

For each student

  • Print a copy of Activity Guide

For the class

  • Poster paper
  • Markers/colored pencils

For the Teacher

L3Exploring Problem Solving90 min

Overview

In this lesson, students apply the problem-solving process to three different problems in order to better understand the value of each step. They will solve a word search, arrange seating for a birthday party, and redesign a classroom. The problems grow increasingly complex and poorly defined to highlight how the problem-solving process is particularly helpful when tackling these types of problems. The lesson concludes with students reflecting on their experience with the problem-solving process. They will justify the inclusion of each step and will brainstorm questions or strategies that can help them better define open-ended problems, as this is often the most critical step.

This lesson will likely take two class periods or more to complete. The first two problems may fit into a single class period but the third will need to be moved to a second day.

Question of the Day: How can we apply the problem-solving process to many different kinds of problems?

Alternate versions of this lesson are also available.

  • [Animal Theme](/s/csd1-2022/lessons/12/)
  • [Games Theme](/s/csd1-2022/lessons/13/)

Objectives

  • Apply the problem solving process to approach a variety of problems
  • Assess how well-defined a problem is and use strategies to define the problem more precisely

CSTA standards

1B-AP-081B-AP-111B-AP-16

Agenda

Warm Up 5 min
Activity 80 min
Understanding the Problem Solving Process
Wrap Up 5 min

Preparation

  • Print the activity guide for each student
  • Scratch paper for the Birthday Party problem
  • Poster to record strategies for defining problems in wrap up discussion
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L4What is a Computer?45 min

Overview

This lesson builds on the problem-solving theme of the earlier lessons and focuses on the specifics of how computing is used in problem-solving, starting with developing a preliminary definition of a computer. To begin the lesson, the class will brainstorm possible definitions for a computer and place the results of this brainstorm on the board. Next, students will work in groups to sort pictures into “is a computer” or “is not a computer” on poster paper. Groups will place their posters around the room and briefly explain their motivations for choosing some of their most difficult categorizations. The teacher will then introduce a definition of the computer and allow students to revise their posters according to the new definition.

Question of the Day: What is a computer?

Objectives

  • Choose problems that can be solved with computing and justify those choices.
  • Identify a computer as a machine that works with information
  • Reason about whether particular objects are or are not computers.

Vocabulary

Computer
A machine that works with information.

CSTA standards

1B-CS-01

Agenda

Warm Up 5 min
Computers then and now
Activity 35 min
Computer or Not? · Present Your Categorizations
Wrap Up 5 min
Journal

Preparation

For each group

  • Print out copies of the activity guide. Note there are two sets of pictures, but each group only needs a single set.
  • Scissors (if you will not have time to cut the pictures prior to class)
  • Poster paper
  • Markers or colored pencils
  • Glue or tape to attach pictures

For the teacher

L5Input and Output45 min

Overview

This lesson introduces focuses on two of the features identified in the previous lesson, input and output, that can help classify devices as a computer and has students identify different methods of input or output in common apps. In this lesson, students consider how computers get and give information to the user through inputs and outputs. Students first consider what information they would need to solve a "thinking problem", then use that information to produce a recommendation. They then identify the inputs and outputs of that process. Afterward, students consider an app that engages in the same process and determine how that app inputs and outputs information. Last, they consider other types of inputs and outputs that computers can use to help solve problems.

Question of the Day: How do computers use input and output to get and give the information that they need to solve problems?

Objectives

  • Explain the role that input and output take when computers are used to solve information problems.
  • Select the inputs and outputs used to perform common computing tasks

Vocabulary

Input
the information computers get from users, devices, or other computers
Output
the information computers give to users, devices, or other computers

CSTA standards

1B-CS-011B-CS-02

Agenda

Warm Up 5 min
Recommending a Pet
Activity 35 min
Inputs and Outputs · Pet Chooser · Story Creator · Improved Pet App
Wrap Up 5 min
What Inputs and Outputs Do I Use?

Preparation

  • Prepare copies of the activity guide
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L6Processing45 min

Overview

This lesson introduces the concept of processing within computational problem-solving. While this lesson focuses on four common types of processing - if/then (conditionals), finding a match (searching), counting, and comparing - students should understand that processing is whatever a computer does to turn inputs into outputs. Students are first introduced to the types of processing through several sample apps. They then investigate more apps to determine what sorts of processing each uses. They then think of their own app and decide what types of processing it would need to work. Finally, they brainstorm other types of processing that may be useful but were not included in the main lesson.

Question of the Day: What are the different ways computers can process information?

Objectives

  • Define processing as the work done (possibly by a computer) to turn an input into an output
  • Determine which types of processing are appropriate for a particular computing problem.
  • Identify several common types of processing used in computing.

Vocabulary

Processing
The thinking work computers do to turn input into output.

CSTA standards

1B-CS-011B-CS-022-AP-102-AP-17

Agenda

Warm Up 5 min
Analyzing an App (Birthday App)
Activity 35 min
Types of Processing · Apps and Processing · More Processing · Student Apps
Wrap Up 5 min
What Inputs and Outputs Do I Use?

Preparation

L7Storage45 min

Overview

This lesson introduces the final component of the unit's model of computing: storage. After trying out an "outfit picker" app, students discuss what information should be stored in the app versus input every time the app is run. They then look at a series of apps and use their decisions about what should be stored to create guidelines for deciding what information to store. They then review the four components of this chapter's model of computing: input, output, storage, and processing. Afterward, they have one last opportunity to revise their decisions about which items should be classified as a "computer" from earlier in the chapter. The lesson ends with a reflection on their own app ideas and how storage could be used.

Question of the Day: Why is storage an important part of the computing process?

Objectives

  • Determine which information in a computing problem should be stored for later use.
  • Identify guidelines regarding what information should and should not be stored as part of the computing process.
  • Use the input-output-storage-processing model to describe a computing process.

Vocabulary

storage
saving information to use in the future

CSTA standards

2-AP-102-IC-20

Agenda

Warm Up 5 min
Analyzing an App (Outfit Picker)
Activity 35 min
Apps with Storage · Outfit Picker · Friend Finder · Choose a Kid's Movie · Guidelines
Introducing the IOSP Model
Wrap Up 5 min
Journal

Preparation

  • Print a copy of the activity guide for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L8Project - Propose an App225 min

Overview

To conclude this unit, this project combines the two major themes of Unit 1, the problem-solving process and the input/output/store/process model of a computer, to have students identify real-world problems and find ways to use technology to help solve them. This project will be completed across multiple days and will result in students creating a poster of a proposed app they design to solve a real-world problem, highlighting the features of their app that they will present to their classmates. A project guide provides step-by-step instructions for students and helps them organize their thoughts. The project is designed to be completed in pairs though it can be completed individually.

Question of the Day: How can the IOSP model help us to design an app that solves a problem?

Objectives

  • Design an app that inputs, outputs, stores, and processes information in order to solve a problem
  • Identify and define a problem that could be solved using computing
  • Provide and incorporate targeted peer feedback to improve a computing artifact

CSTA standards

2-AP-102-AP-152-AP-182-CS-02

Agenda

Warm Up 5 min
Introduce the Project
Activity 215 min
Project Guide · Presenting Apps
Wrap Up 5 min
Reflection · Teacher End-Of-Unit Survey
Extended Learning
Shark Tank
Post-Project Test

Preparation

Unit 2

Web Development

21 lessons1125 min~25 days21 CSTA
L1Exploring Web Pages45 min

Overview

Question of the Day: How can we choose websites based on the needs of a user?

To kick off a unit devoted to group problem solving and developing websites for other users, students begin by investigating the design of different websites. Students look at a variety of websites and attempt to match each design with a potential user. Then students choose a user and attempt to prototype a website design for them on paper or in a digital template. To conclude the activity, students consider what it means to be a web designer and create resources for other users.

Objectives

  • Create a prototype of a web design to meet the needs of a user using the problem-solving process
  • Identify features of a web design that match the needs of users
  • Understand the steps of the problem-solving process

CSTA standards

2-IC-20

Agenda

Before the Lesson
Preparing for the Unit
Warm Up - Option 1
Problem Solving Word Search · The Problem Solving Process
Warm Up - Option 2 5 min
Revisit The Problem Solving Process
Activity 35 min
Recommending Websites · Designing a Website
Wrap Up 5 min
Reflection

Preparation

  • Print a copy of the activity guide for each student.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L2Intro to HTML45 min

Overview

This lesson introduces many new concepts and tools to students: they are introduced to HTML, the Web Lab tool, and how to navigate lesson resources on Code.org in general. In this lesson, students are introduced to HTML as a solution to the problem of how to communicate both the content and structure of a website to a computer. The lesson begins with a brief unplugged activity demonstrating the challenges of effectively communicating the structure of a web page. Students then look at an exemplar HTML page in Web Lab and discuss with their classmates how HTML tags help solve this problem. Students then write their first HTML. A wrap-up discussion helps to solidify the understanding of content vs. structure that was developed throughout the lesson.

Question of the Day: How can we tell the computer both *what* to put on the web page, and *how* to organize it?

Objectives

  • Explain that HTML allows a programmer to communicate the way content should be structured on a web page
  • Understand how to use lesson resources provided in Web Lab
  • Write a simple HTML document that uses opening and closing tags to structure content

Vocabulary

HTML
Hypertext Markup Language, a language used to create web pages
HTML Element
A piece of a website, marked by a start tag and often closed with an end tag
HTML Tag
The special set of characters that indicates the start and end of an HTML element and that element's type
Website Content
the text and images on a website
Website Structure
how the content of a website is organized

CSTA standards

1B-AP-11

Agenda

Warm Up 5 min
The Need for HTML
Activity 35 min
Pair Programming · Exploring HTML
Wrap Up 5 min
Reflection

Preparation

  • Review the Code Studio levels
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L3Headings and Lists45 min

Overview

This lesson introduces the core practices of pair programming and debugging. In this lesson, students continue to use HTML to structure text on web pages, this time in pairs, with a focus on working together and debugging problems with their sites. Students learn how to use the different heading and list elements and practice using them to give their web pages more structure.

Question of the Day: How can we work together to fix problems with our websites?

Objectives

  • Structure content into headings, subheadings, lists and paragraphs.
  • Use a structured practice to collaboratively create a digital artifact.
  • Use heading and list tags to change the appearance of text on a web page.

Vocabulary

Heading
A title or summary for a document or section of a document.
List
allows web developers to group a set of related items

CSTA standards

1B-AP-111B-AP-15

Agenda

Warm Up 5 min
Tags Poster
Activity 35 min
Web Lab: Headings · Web Lab: Lists
Wrap Up 5 min
Journal

Preparation

  • Have student journals ready to give back.
  • If you want to use an anchor chart, prepare poster paper to do so as a whole class.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L4Digital Footprint45 min

Overview

Question of the Day: How can you make sure that your private information stays private?

In this lesson, students pause their own on developing web pages so they can develop an understanding of how personal information is surfaced on the internet, sometimes intentionally and sometimes unintentionally. Students look at several fictitious social media pages to see what they can learn about different people purely from publicly available information. They then reflect on what guidelines are appropriate for posting their own information online, especially as they prepare to create more personalized websites.

Objectives

  • Understand and explain reasons that it is difficult to control who sees information published online.
  • Understand and justify guidelines for safely publishing information online.

Vocabulary

Digital Footprint
The collected information about an individual across multiple websites on the Internet.

CSTA standards

1B-NI-052-IC-202-IC-23

Agenda

Warm Up 5 min
Your Digital Footprint
Activity 35 min
Investigating Social Profiles
Wrap Up 5 min

Preparation

  • Print out copies of "Social Sleuth" for each student (or one for each group if grouping)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L5Mini-Project - HTML Web Page45 min

Overview

In this mini-project, students use what they have learned to create a web page for a user. Students begin their project by using the Problem Solving Process to help them design a web page for a user. As they determine what content to include on the web page for their user, they will identify which tags they will use to implement their design. Students then build their user’s web page in Web Lab. Optionally, after engaging in a formal feedback process, they may change their web pages based on feedback before reflecting on their process. The lesson also includes an optional review of the HTML students have learned ‌before building the web page.

Question of the Day: How can I use HTML to design and build a web page for a user?

Objectives

  • Build a webpage using HTML
  • Design a webpage based on user needs
  • Write readable code

CSTA standards

1B-AP-111B-AP-121B-AP-15

Agenda

Project Setup
Warm Up 5 min
Activity 35 min
Designing and Building Web Pages for Users · Step 1: Define - Pick a User and Define Their Needs · Step 2: Prepare - Design the Page Layout · Step 3: Try - Develop your Page · Peer Feeedback · Step 4: Reflect
Wrap Up 5 min
Journal

Preparation

  • Determine which project guide option your students will complete
  • Print out a copy of the project guide for each student.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L6Styling Text with CSS45 min

Overview

This lesson introduces CSS as a way to style elements on the page. Students learn the basic syntax for CSS rule-sets and then explore properties that impact HTML text elements. They work on an HTML page about Guinness World Record holders, adding their own style to the provided page. While only a few CSS properties are introduced in the core lesson, students are encouraged to use the optional activities at the end of the lesson to explore more ways that they can express themselves using CSS.

Question of the Day: How can we change the style of text on a web page?

Objectives

  • Explain the differences between HTML and CSS in both use and syntax.
  • Link to an external style sheet.
  • Use CSS selectors to style HTML text elements.

Vocabulary

CSS
Cascading Style Sheets; a language used to describe how HTML elements should be styled
CSS Selector
the part of a CSS rule-set that defines which HTML elements the style should be applied to

CSTA standards

2-AP-162-AP-19

Agenda

Warm Up 5 min
Journal: HTML Appearance
Activity 30 min
Web Lab: Introduction to CSS
Wrap Up 10 min
Recording CSS Properties

Preparation

  • Create a new poster titled CSS Properties if your students will not be tracking new CSS properties in their journals
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L7Intellectual Property45 min

Overview

Until this point, the only content that students have used on their web pages is their own, but in the next lesson, they will be adding images to their sites. Before they do so, they need to understand the rules governing how to legally use content they find on the web. Starting with a discussion of their personal opinions on how others should be allowed to use their work, the class explores the purpose and role of copyright for both creators and users of creative content. They then move on to an activity exploring the various Creative Commons licenses as a solution to the difficulty in dealing with copyright.

Question of the Day: What kind of rules protect everyone's rights when we use each other's content?

Objectives

  • Explain the purpose of copyright.
  • Identify the rights and restrictions granted by various Creative Commons licenses.

Vocabulary

Copyright
the exclusive legal right to print, publish, perform, film, or record literary, artistic, or musical material, and to authorize others to do the same

CSTA standards

1B-IC-212-IC-233A-AP-20

Agenda

Warm Up 5 min
Use of Your Work
Activity 35 min
The Creative Commons Solution
Wrap Up 5 min
Your Own CC License

Preparation

  • Preview Creative Commons Overview - Video. You may need to download it before school if YouTube is blocked.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L8Using Images45 min

Overview

This lesson introduces images, which are different from earlier tags in that they are 'self-closing' and include attributes. Students should understand that these tags do not surround content in the same way as other tags. Students start the class by considering the ethical implications of using images on their websites, specifically in terms of intellectual property. They then learn how to add images to their web pages using the <img> tag and how to cite the image sources appropriately.

Question of the Day: How can we add images on our websites, while making sure we respect everyone's rights?

Objectives

  • Add an image to a web page.
  • Follow copyright law, accurately attributing others when using their work.

CSTA standards

1B-IC-212-AP-162-IC-233A-AP-20

Agenda

Warm Up 5 min
Using Images
Activity 35 min
Adding Images
Wrap Up 5 min
Using Images

Preparation

L9Styling Elements with CSS45 min

Overview

This lesson continues the introduction to CSS style properties, this time focusing more on non-text elements. Students begin this lesson by looking at a website about Desserts of the World. They investigate and modify the new CSS styles on this website, adding their own styles to the page. After working on the Desserts page, students apply their knowledge of new CSS properties to their personal websites.

Question of the Day: How can we style the images and layouts of our pages?

Objectives

  • Create a CSS rule-set for the body element that impacts all elements on the page.
  • Use CSS properties to change the size, position, and borders of elements.

CSTA standards

2-AP-162-AP-19

Agenda

Warm Up 5 min
Discuss: What Styles Do You Want?
Activity 35 min
Web Lab: Styling Elements with CSS
Wrap Up 5 min

Preparation

L10Mini-Project - Adding Style to a Web Page45 min

Overview

In this mini-project, students use what they have learned to style a web page for a user. Students begin their project using the Problem Solving Process to help them determine how they will style a web page for a user. Students then style their users' web pages in Web Lab. Optionally, after engaging in a formal feedback process, they may change their web pages based on feedback before reflecting on their process. The lesson also includes an optional review of the HTML and CSS students learned ‌before styling the web page.

Question of the Day: How can I use CSS to style a web page for a user?

Objectives

  • Style a webpage based on user needs
  • Style a webpage using CSS
  • Write readable code

CSTA standards

2-AP-162-AP-19

Agenda

Warm Up 5 min
Activity 35 min
Styling Web Pages for Users · Step 1: Define - Define Your User’s Needs · Step 2: Prepare - Design the Style · Step 3: Try - Develop your Page · Peer Feedback · Step 4: Reflect
Wrap Up 5 min
Journal

Preparation

  • Print a copy of the project guide for each student.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L11CSS Classes45 min

Overview

Up until this point, the only styling students have been able to do is styling by the element, which means that every element of a particular kind has the same style. This lesson expands on the CSS that students have already learned by introducing classes, which allow web developers to treat groups of elements they want to be styled differently than other elements of the same type. Students first investigate and modify classes on various pages, then create their own classes and use them to better control the appearance of their pages. They then reflect on how they could use this skill to improve their team websites.

Question of the Day: How can we create different styles for the same type of element?

*Note: Single elements can also be selected by id, but this type of selection is possible with a class applied only to that single element. Because id selection does not add any extra functionality, it is not taught in this course.*

Objectives

  • Group elements using classes in order to create more specific styles on their website.

Vocabulary

CSS Class
An identifier that allows multiple elements in an HTML document to be styled in the same way

CSTA standards

2-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Discuss: What Styles Do You Want?
Activity 35 min
Classes
Wrap Up 5 min
Journal

Preparation

L12Organizing Content with Flexbox45 min

Overview

This lesson introduces students to two new web development tools: div tags and Flexbox styling. This lesson introduces students to div tags to organize their HTML code into sections. They then learn about Flexbox and how it can be used with their div containers to style and position items. Students practice using Flexbox properties to control the layout of web pages.

Question of the Day: What are div tags and Flexbox and why are they important in web design?

Objectives

  • Analyze and solve common web design layout challenges using div tags and Flexbox
  • Apply Flexbox properties in CSS
  • Identify and explain the purpose and use of div tags in HTML

Vocabulary

Flexbox
a layout model in CSS for displaying items
div
the HTML division tag, called “div” for short, is an element that lets you group sets of content together in a container

CSTA standards

1B-AP-152-AP-132-AP-17

Agenda

Warm Up 5 min
Quick Sketch
Activity 35 min
Introduction to Div and Flex · Div and Flex Practice
Wrap Up 5 min
Solving Layout and Design Issues

Preparation

  • Print copies of the handout
  • If you would like more information on what Flexbox is and how to use it with CSS, check out this video!
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L13Flexbox Children for More Control45 min

Overview

This lesson introduces students to advanced Flexbox child properties including `order`, `align-self`, `flex-grow`, and `flex-shrink` through an interactive warm-up and the various level exercises. They’ll deepen their understanding of how these properties affect web page layouts and conclude with a creative group drawing game to reinforce their learning.

Question of the Day: How do Flexbox child properties affect the layout and organization of elements within a webpage?

Objectives

  • Analyze and solve common web design layout challenges using Flexbox
  • Apply Flexbox children properties in CSS

CSTA standards

2-AP-132-AP-193A-AP-19

Agenda

Warm Up 5 min
Predict the Layout
Activity 30 min
Introduction to Flex Children · Div and Flex Practice
Wrap Up 10 min
Flex Property Pictionary

Preparation

  • Print out one copy of the activity guide and handout for each student.
  • Print and cut out the Pictionary Terms slips.
  • If you would like more information on how to use Flexbox Children check out this video!
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L14Chapter 1 Project90 min

Overview

In this chapter project, students use what they have learned to style and organize a web page for a user. Students begin their project by using the Problem Solving Process to help them determine how they will organize the content of a user’s web page. Students then use CSS classes and flexbox to organize their user’s web page in Web Lab. Optionally, after engaging in a formal feedback process, they may change their web pages based on feedback before reflecting on their process.

Question of the Day: How can I use CSS classes and Flexbox to organize webpage content for a user?

Objectives

  • Organize webpage content using flexbox
  • Style a webpage using CSS
  • Write readable code

CSTA standards

1B-IC-212-AP-152-AP-162-AP-172-AP-19

Agenda

Project Setup
Warm Up 5 min
Debugging 3-2-1
Activity 75 min
Final Product for Users · Step 1: Define - Define Your User’s Needs · Step 2: Prepare - Design the Page · Step 3: Try - Develop your Page · Chapter 1 Project · [Optional] Peer Feedback · Step 4: Reflect · [OPTIONAL] Publishing Your Website
Wrap Up 10 min
Journal

Preparation

  • Determine which project option your students will complete.
  • Print copies of the project guide and any accompanying handouts for your students
  • Print copies of the reflection and peer feedback documents.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications

Resources

L15Team Problem Solving45 min

Overview

This lesson explicitly addresses the challenges students may find working in a group and supports them in crafting a plan to overcome these challenges. Students work together to set group norms and brainstorm what features they would like their websites to have. The class starts by thinking of some popular teams in different contexts, then reflects on what makes teams successful. They then get into their own teams and make a plan for how they will interact and reach success in their own projects. Afterward, the teams begin to brainstorm ideas for their website project.

Question of the Day: How can we work together to make a great team?

Objectives

  • Communicate and collaborate with classmates in order to solve a problem

CSTA standards

2-AP-152-AP-182-AP-192-IC-202-IC-22

Agenda

Warm Up 5 min
Activity 35 min
Team Goal · Skills and Goals · Bringing Different Ideas Together · Looking forward
Wrap Up 5 min
Shout-outs!

Preparation

L16Sources and Research45 min

Overview

This lesson encourages students to think more about their responsibilities as consumers of information and how to find relevant and trustworthy information online. After viewing and discussing a video about how search engines work, students will search for information relevant to their site. They'll need to analyze the sites they find for credibility to decide which are appropriate to use on their own website. By the end of this lesson, students should have developed strategies for determining which websites are more trustworthy and tie these strategies back to their own role as content producers by looking for ways to make their own sites appear more trustworthy.

Question of the Day: How do we find relevant and trustworthy information on the Internet?

Objectives

  • Identify elements that contribute to a website's trustworthiness or untrustworthiness
  • Use basic web searching techniques to find relevant information online

Vocabulary

Relevant
closely connected to a topic
Search Engine
A program that searches for items on the World Wide Web.
Trustworthy
reliable, honest, and truthful

CSTA standards

2-IC-202-IC-212-IC-23

Agenda

Warm Up 10 min
Internet Scavenger Hunt
Activity 30 min
Research and Trustworthiness · The Trustworthiness Checklist · How Search Works
Wrap Up 5 min
Journal

Preparation

  • Print a copy of the Internet Scavenger Hunt activity guide for each pair of students, or prepare to project the questions to the class.
  • Create a blank poster titled Trustworthiness Checklist and place it on the wall.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L17Linking Pages45 min

Overview

This lesson will give students practice in using links and introduce them to good navigation practices for their sites. Students begin by looking online for the first web page and discussing how its use of links was what started the web. They then transition to Web Lab where they learn how to make their own links, as well as good conventions that make it easier for users to navigate on a page. Finally, they reflect on their group project and what their personal goals are for the final stretch.

Question of the Day: How can we combine several different web pages into one website?

Objectives

  • Use HTML to link between web pages.

CSTA standards

1B-AP-121B-IC-212-AP-152-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
First Web Page Hunt
Activity 35 min
Web Lab
Wrap Up 5 min
Journal

Preparation

  • Make sure students have access to their website plans from the previous lesson.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L18CSS Pseudo-classes45 min

Overview

This lesson introduces students to the dynamic world of CSS pseudo-classes. Students will learn about their role in enhancing web page interactivity and style. They will explore, practice, and apply various pseudo-classes like `link`, `visited`, `hover`, and `active`, understanding how these selectors can transform the user experience on websites.

Question of the Day: What is a CSS pseudo-class, and how does it change the way an element looks or behaves on a web page?

Objectives

  • Apply pseudo-classes to selectors in CSS to enhance website interactivity and design
  • Explain the function and importance of CSS Pseudo-classes

CSTA standards

1B-AP-152-AP-173A-AP-163A-AP-19

Agenda

Warm Up 5 min
Explore Pseudo-classes
Activity 35 min
Pseudo-class Practice
Wrap Up 5 min

Preparation

L19Planning a Multi-Page Site90 min

Overview

Students work in teams to plan out their websites and create a sketch of each page. They then download the media that they will need for their sites. At the end of the activity, they decide how the work will be distributed among team members and report whether the entire group agreed to the plan.

Question of the Day: How do we plan a web page as a group?

Objectives

  • Distribute tasks amongst team members.
  • Seek and incorporate feedback from team members.

CSTA standards

1B-AP-111B-AP-141B-AP-161B-IC-201B-IC-212-AP-132-AP-152-AP-182-AP-19

Agenda

Warm Up 5 min
Activity 80 min
Overview · Design Your Site · Describe Your Tag and Class Styles · Work Plan · Find Your Images · Uploading images
Wrap Up 5 min
Journal

Preparation

L20Project - Website for a Purpose90 min

Overview

Teams have spent a lot of time throughout the chapter planning their websites. In this lesson, they are finally able to code their pages. Using the project guide, the team works together and individually to code all of the pages, then puts all of the work together into a single site.

Question of the Day: What skills and practices will help us work together to make a great website?

Objectives

  • Create a digital artifact
  • Distribute tasks among team members and maintain a project timeline

CSTA standards

2-AP-152-AP-162-AP-172-AP-182-AP-19

Agenda

Warm Up 5 min
Team Cheer
Activity 80 min
Web Lab
Wrap Up 5 min
Shout-out!

Preparation

L21Peer Review and Final Touches90 min

Overview

This lesson focuses on the value of peer feedback. Students first reflect on what they are proud of, and what they would like feedback on. Teams then work with peers to get that feedback through a structured process that includes the project rubric criteria. Afterward, students decide how they would like to respond to the feedback and put the finishing touches on their sites. After a final review of the rubric, they reflect on their process. To cap off the unit, they will share their projects and also an overview of the process they took to get to that final design.

Question of the Day: How can we use feedback to make our websites better?*

Objectives

  • Give and receive feedback
  • Prioritize and implement incremental improvements

CSTA standards

2-AP-152-AP-162-AP-172-AP-182-AP-19

Agenda

Warm Up 5 min
Journal 3-2-1
Feedback and Iteration 40 min
Reflect: Peer Review · Prepare and Try: Final Touches · Reflect: Final Reflection · Teacher End-Of-Unit Survey
Showcase 45 min
Showcase Set Up · Student Website Showcase
After the Lesson
Post-Project Test · End Of Course Survey

Preparation

  • Print a copy of the peer review guide for each student.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Unit 3b

Interactive Animations & Games

28 lessons1530 min~34 days10 CSTA
L1Programming for a Purpose45 min

Overview

To kick off a unit devoted to problem-solving and developing animations and games, students begin by investigating the design of different animations and games. Students look at a variety of animations and games and attempt to match each design with a potential user. Then students choose a user and attempt to prototype an animation or game design for them on paper or in a digital template. To conclude the activity, students consider what it means to be an animation and game designer and create resources for other users.

Question of the Day: How can we design animations and games based on the needs of a user?

Objectives

  • Create a prototype of an animation or game design to meet the needs of a user using the problem-solving process
  • Identify features of an animation or game design that match the needs of users
  • Understand the steps of the problem-solving process

CSTA standards

2-AP-13

Agenda

Before the Lesson
Preparing for the Unit
Warm Up - Option 1
Problem Solving Word Search · The Problem Solving Process
Warm Up - Option 2 5 min
Revisit The Problem Solving Process
Activity 35 min
Recommending Animations and Games · Designing an Animation or Game
Wrap Up 5 min
Reflection

Preparation

L2Plotting Shapes45 min

Overview

The primary purpose of this lesson is to introduce students to the coordinate system they will use in Game Lab. Students begin by exploring the challenges of communicating how to draw with shapes and then transition to using a tool that introduces how this problem is approached in Game Lab. The warm-up activity quickly demonstrates the challenges of communicating position without some shared reference point. In the main activity, students explore a Game Lab tool that allows students to interactively place shapes on Game Lab's 400 by 400 grid. They then take turns instructing a partner how to draw a hidden image using this tool, accounting for many challenges students will encounter when programming in Game Lab. Students optionally create their own images to communicate before a final debrief discussion.

Question of the Day: How can we clearly communicate how to draw something on a screen?

Objectives

  • Communicate how to draw an image in Game Lab, accounting for shape position, color, and order
  • Reason about locations on the Game Lab coordinate grid

CSTA standards

2-AP-102-AP-132-AP-17

Agenda

Warm Up 5 min
Communicating Drawing Information
Activity 35 min
Drawing with a Computer
Wrap Up 5 min
Journaling

Preparation

L3Drawing in Game Lab45 min

Overview

This lesson is designed to give students a chance to get used to the programming environment, as well as the basic sequencing and debugging that they will use throughout the unit. Students begin with an introduction to the GameLab interactive development environment (IDE), then learn the three commands ([`rect`(#4dd0e1)](/docs/gamelab/rect/), [`ellipse`(#4dd0e1)](/docs/gamelab/ellipse/), and [`fill`(#4dd0e1)](/docs/gamelab/fill/)) that they will need to code the same types of images that they created on paper in the previous lesson. Challenge levels provide a chance for students who have more programming experience to further explore Game Lab.

Question of the Day: How can we communicate to a computer how to draw shapes on the screen?

Objectives

  • Sequence code correctly to overlay shapes.
  • Use a coordinate system to place elements on the screen.

Vocabulary

Bug
Part of a program that does not work correctly.
Debugging
Finding and fixing problems in an algorithm or program.
Program
An algorithm that has been coded into something that can be run by a machine.

CSTA standards

2-AP-132-AP-19

Agenda

Warm Up 5 min
Programming Images
Activity 35 min
Simple Drawing in Game Lab · Share Drawings
Wrap Up 5 min

Preparation

  • Prepare projector or other means of showing videos if you wish to watch as a class
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L4Shapes and Parameters45 min

Overview

In this lesson, students continue to build skills and develop their familiarity with Game Lab by manipulating the width and height of the shapes they use to draw. The lesson kicks off with a discussion that connects expanded block functionality (e.g. different sized shapes) with the need for more block inputs, or "parameters". Students learn to draw with versions of [`ellipse()`(#4dd0e1)](/docs/gamelab/ellipse/) and [`rect()`(#4dd0e1)](/docs/gamelab/rect/) that include width and height parameters. They also learn to use the [`background()`(#4dd0e1)](/docs/gamelab/background/) block. Throughout the lesson, students will need to reason about the x-y coordinate plane, consider the order of their code, and slightly increase their programs' complexity.

Question of the Day: How can we use parameters to give the computer more specific instructions?

Objectives

  • Use and reason about drawing commands with multiple parameters

Vocabulary

Parameter
Additional information provided as input to a block to customize its functionality

CSTA standards

2-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Shapes of Different Sizes
Activity 35 min
Programming with Parameters
Wrap Up 5 min
Journal

Preparation

  • Review the level sequence in Code Studio
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L5Variables45 min

Overview

In this lesson, students learn how to use variables to label a value. Students begin the lesson with a very basic description of the purpose of a variable within the context of the storage component of the input-output-storage-processing model. Students then complete a level progression that reinforces the model of a variable as a way to label or name a number. Students should leave this lesson knowing that variables are a way to label a value in their programs so that they can be reused or referenced later. In the following lesson, students will be introduced to random numbers, in which they will see a more powerful use for variables, and in later lessons, students will continue to expand their understanding of variables and experience more advanced ways they can be used.

Question of the Day: How can we use variables to store information in our programs?

Objectives

  • Identify a variable as a way to label and reference a value in a program
  • Use variables in a program to store a piece of information that is used multiple times

Vocabulary

Variable
A label for a piece of information used in a program.

CSTA standards

2-AP-112-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Input-Output-Storage-Processing
Activity 35 min
Programming with Variables
Wrap Up 5 min
Reflection

Preparation

  • Review the level progression in Code Studio
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L6Random Numbers45 min

Overview

This lesson introduces randomness, which is important both as a way to make programs more interesting and also to motivate the use of variables. Students are introduced to the [`randomNumber()`(#FFB74D)](/docs/gamelab/randomNumber/) block and how it can be used to create new behaviors in their programs. They then learn how to update variables during a program. Combining all of these skills, students draw randomized images.

Question of the Day: How can we make our programs behave differently each time they are run?

Objectives

  • Generate and use random numbers in a program
  • Update a value stored in a variable

CSTA standards

2-AP-112-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 35 min
Programming Images
Wrap Up 5 min

Preparation

  • Review the level progression in Code Studio
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L7Mini-Project - Robot Faces45 min

Overview

After a quick review of the code they have learned so far, students are introduced to their first creative project of the unit. Using the problem-solving process as a model, students define the robot face that they want to create, prepare by thinking of the different code they will need, try their plan in Game Lab, then reflect on what they have created. They also have a chance to share their creations with their peers. The open-ended nature of this lesson also provides flexibility for the teacher to decide how long students should spend on their work, depending on the scheduling demands of the particular course implementation.

Question of the Day: How can we use shapes, variables, and randomness to express our creativity?

Objectives

  • Apply variables, shapes, and randomNumber concepts to create a program.
  • Use a structured process to plan and develop a program.

CSTA standards

2-AP-112-AP-132-AP-17

Agenda

Warm Up 5 min
Review
Activity 35 min
Step 1: Define - Describe your Image · Step 2: Prepare - Design your Image · Step 3: Try - Develop your Image · Gallery Walk
Wrap Up 5 min
Journal

Preparation

L8Sprites45 min

Overview

In order to create more interesting and detailed images, students are introduced to the sprite object which allows for one variable name to control both the shape and all its aspects. The lesson starts with a discussion of the various information that programs must keep track of, then presents sprites as a way to keep track of that information. Students then learn how to assign each sprite an image, which will greatly increase the complexity of what they can draw on the screen.

Question of the Day: How can we use sprites to help us keep track of lots of information in our programs?

Objectives

  • Create and use a sprite

Vocabulary

Sprite
A character on the screen with properties that describe its location, movement, and look.

CSTA standards

2-AP-112-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
How Much Information?
Activity 35 min
Introduction to Sprites · Skill Building · Check for Understanding · Practice · Assessment · Challenges
Wrap Up 5 min
Journal

Preparation

L9Sprite Properties45 min

Overview

In the last lesson, when students were introduced to sprites, they focused mainly on creating a sprite and assigning it an animation. This lesson starts to dig into what makes sprites such a powerful programming construct - that they have properties that can be modified as a program is _running_. This lays the foundation for much of what students will be doing in the rest of the unit in terms of accessing and manipulating sprite properties to create interesting behaviors in their programs. The lesson starts with a review of what a sprite is, then students move on to Game Lab to practice more with sprites, using their properties to change their appearance. They then reflect on the connections between properties and variables.

Question of the Day: How can we use sprite properties to change their appearance on the screen?

Objectives

  • Use dot notation to update a sprite's properties

Vocabulary

Dot notation
the way that sprites' properties are used in Game Lab, by connecting the sprite and property with a dot.
Property
A label for a characteristic of a sprite, such as its location and appearance

CSTA standards

2-AP-112-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min

Preparation

L10Text45 min

Overview

This lesson introduces Game Lab's text commands, giving students more practice using the coordinate plane and parameters. This is the last type of element that students will be placing on the screen - after this, students will focus on how they can control the movement and interactions of these elements. The lesson begins with asking students to caption a cartoon created in Game Lab. They then move on to Code Studio where they practice placing text on the screen and controlling other text properties, such as size. Students who complete the assessment early can go on to learn more challenging blocks related to text properties.

Question of the Day: How can we use text to improve our scenes and animations?

Objectives

  • Place text on the screen using a coordinate plane.
  • Use arguments to control how text is displayed on a screen.

CSTA standards

2-AP-122-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap up 5 min
Journal

Preparation

L11Mini-Project - Captioned Scenes45 min

Overview

After a quick review of the code they have learned so far, students start working on their next creative project of the unit. Using the problem-solving process as a model again, students define the scene that they want to create, prepare by thinking of the different code they will need, try their plan in Game Lab, then reflect on what they have created. They also have a chance to share their creations with their peers. The open-ended nature of this lesson also provides flexibility for the teacher to decide how long students should spend on their work, depending on the scheduling demands of the particular course implementation.

Question of the Day: How can we use Game Lab to express our creativity?

Objectives

  • Use a structured process to plan and develop a program.

CSTA standards

2-AP-112-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Review
Activity 35 min
Step 1: Define - Describe Your Scene · Step 2: Prepare - Design Your Image · Step 3: Try - Develop Your Scene · Gallery Walk
Wrap up 5 min
Journal

Preparation

L12The Draw Loop45 min

Overview

In this lesson, students are introduced to the draw loop, one of the core programming paradigms in Game Lab. To begin the lesson students look at some physical flipbooks to see that having many frames with different images creates the impression of motion. Students then watch a video explaining how the draw loop in Game Lab helps to create this same impression in their programs. Students combine the draw loop with random numbers to manipulate some simple animations with dots and then with sprites. Students should leave the lesson understanding that the commands in the draw loop are called after all other code but are then called repeatedly to create animation. Students will have a chance to continue to develop an understanding of this behavior in the next two lessons, but laying a strong conceptual foundation in this lesson will serve them well for the rest of the unit.

Question of the Day: How can we animate our images in Game Lab?

Objectives

  • Explain how the draw loop allows for the creation of animations in Game Lab
  • Use the draw loop in combination with the randomNumber() command, shapes, and sprites to make simple animations

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min

Preparation

  • Print and assemble the manipulatives
  • Prepare the video
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L13Sprite Movement45 min

Overview

This lesson builds on the draw loop that students learned previously to create programs with _purposeful_ motion. Students learn how to control sprite movement using a construct called the counter pattern, which incrementally changes a sprite's properties. Students first brainstorm different ways that they could animate sprites by controlling their properties, then explore the counter pattern in Code Studio. After examining working code, students try using the counter pattern to create various types of sprite movements. The skills that students build in this lesson lay the foundation for all of the animations and games that they will make throughout the rest of the unit.

Question of the Day: How can we control sprite movement in Game Lab?

Objectives

  • Identify which sprite properties need to be changed, and in what way, to achieve a specific movement
  • Use the counter pattern to increment or decrement sprite properties

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Reviewing Sprite Properties
Activity 35 min
Wrap Up 5 min
Journal

Preparation

L14Mini-Project - Animation45 min

Overview

This lesson is a chance for students to get more creative with what they have learned as students are asked to combine different methods that they have learned to create an animated scene. Students first review the types of movement and animation that they have learned and brainstorm what types of scenes might need that movement. They then begin to plan out their own animated scenes, which they create in Game Lab.

Question of the Day: How can we combine different programming patterns to make a complete animation?

CSTA standards

2-AP-112-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Review
Activity 35 min
Step 1: Define - Describe Your Scene · Step 2: Prepare - Design Your Scene · Step 3: Try - Develop Your Scene · Gallery Walk
Wrap up 5 min
Journal

Preparation

L15Conditionals45 min

Overview

This lesson introduces booleans and conditionals, which allow a program to run differently depending on whether a condition is true. Students start by playing a short game in which they respond according to whether particular conditions are met. They then move to Code Studio, where they learn how the computer evaluates Boolean expressions, and how they can be used to structure a program.

Question of the Day: How can programs react to changes as they are running?

Objectives

  • Use conditionals to react to changes in variables and sprite properties

Vocabulary

Boolean Expression
in programming, an expression that evaluates to True or False.
Condition
Something a program checks to see whether it is true before deciding to take an action.
Conditionals
Statements that only run when certain conditions are true.

CSTA standards

2-AP-122-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Introducing Conditionals
Activity 35 min
Conditionals
Wrap Up 5 min
Considering Conditions

Preparation

L16Keyboard Input45 min

Overview

One common way conditionals are used is to check for different types of user input, especially key presses. Following the introduction to booleans and _if_ statements in the previous lesson, students are introduced to a new block called [`keyDown()`(#fff176)](/docs/gamelab/keyDown/) which returns a boolean and can be used in conditionals statements to move sprites around the screen. By the end of this lesson, students will have written programs that take keyboard input from the user to control sprites on the screen.

Question of the Day: How can our programs react to user input?

Objectives

  • Move sprites in response to keyboard input
  • Use conditionals to react to keyboard input

CSTA standards

2-AP-112-AP-122-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Taking Input
Activity 35 min
Keyboard Input
Wrap Up 5 min
Adding Conditionals

Preparation

L17Mouse Input45 min

Overview

In this lesson, students continue to explore ways to use conditional statements to take user input - this time with the mouse. They will also expand their understanding of conditionals to include _else_, which allows for the computer to run a certain section of code when a condition is true, and a different section of code when it is not. This concept is introduced alongside several new mouse input commands, allowing students to gradually build up programs that use input in different ways.

Question of the Day: What are more ways that the computer can react to user input?

Objectives

  • Respond to a variety of types of user input.
  • Use an if-else statement to control the flow of a program.

Vocabulary

Conditionals
Statements that only run when certain conditions are true.

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
3-2-1 Review
Activity 35 min
If/Else and More Input
Wrap Up 5 min
Wrap Up

Preparation

L18Project - Interactive Card90 min

Overview

This end-of-chapter assessment is a good place for students to bring together all the pieces they have learned (drawing, variables, sprites, images, conditionals, user input) in one place. In this project, students plan for and develop an interactive greeting card using all of the programming techniques they've learned to this point. Giving students the opportunity to really be creative after learning all these new concepts will help to engage them further as they head into Chapter 2.

Question of the Day: What skills and practices are important when creating an interactive program?

Objectives

  • Apply an iterator pattern to variables or properties in a loop
  • Sequence commands to draw in the proper order
  • Use conditionals to react to keyboard input or changes in variables / properties

CSTA standards

2-AP-112-AP-122-AP-132-AP-152-AP-162-AP-172-AP-182-AP-19

Agenda

Warm Up 5 min
Journal
Activity 80 min
Demo Project Exemplars (Level 1) · Step 1: Define - Plan Your Card · Step 2: Prepare - Design Your Card · Step 3: Try - Develop Your Card · Peer Review · Iterate - Update Code · Step 4: Reflect
Wrap Up 5 min
Reflection

Preparation

  • Print out a copy of the project guide for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L19Velocity45 min

Overview

This lesson launches a major theme of the chapter: that complex behavior can be represented in simpler ways to make it easier to write and reason about code. After a brief review of how they used the counter pattern to move sprites in previous lessons, students are introduced to the idea of hiding those patterns in a single [`velocity`(#f78183)](/docs/ide/gamelab/expressions/velocityX) block. Students then head to Code Studio to try out new blocks that set a sprite's velocity directly, and look at various ways that they are able to code more complex behaviors in their sprites. Over the next several lessons, students will see how this method of managing complexity allows them to produce more interesting sprite behaviors.

Question of the Day: How can programming languages hide complicated patterns so that it is easier to program?

Objectives

  • Describe the advantages of simplifying code by using higher level blocks
  • Use the velocity and rotationSpeed blocks to create and change sprite movements

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min
Journal

Preparation

L20Collision Detection45 min

Overview

This lesson formally introduces the use of abstractions, simple ways of representing underlying complexity. In the last lesson, students were exposed to the idea of using one block to represent complex code. Working in pairs, students further explore this idea in the context of the intentionally complex mathematical challenge of determining whether two sprites are touching. Students then use a single block, the [`isTouching()`(#f78183)](/docs/gamelab/isTouching/) block, to represent this complexity and to create different effects when sprites collide. By the end of the lesson, students should understand that by using a single block to represent this complexity, it becomes much easier to write and reason about code and appreciate the value of using abstractions.

Question of the Day: How can programming help make complicated problems more simple?

Objectives

  • Describe how abstractions help to manage the complexity of code
  • Detect when sprites are touching or overlapping, and change the program in response.

Vocabulary

Abstraction
a simplified representation of something more complex. Abstractions allow you to hide details to help you manage complexity, focus on relevant concepts, and reason about problems at a higher level.

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-17

Agenda

Warm Up 5 min
Activity 35 min
Collisions Unplugged · isTouching()
Wrap Up 5 min

Preparation

  • Print copies of the activity guide such that each pair of students has a part A and a part B
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L21Mini-Project - Side Scroller45 min

Overview

This lesson is another chance for students to get more creative with what they have learned. Students use what they have learned about collision detection and setting velocity to create a simple side-scroller game. After looking at a sample side-scroller game, students brainstorm what sort of side-scroller they would like to make, then use a structured process to program the game in Code Studio. This lesson can be shortened or lengthened depending on time constraints.

Question of the Day: How can the new types of sprite movement and collision detection be used to create a game?

CSTA standards

2-AP-112-AP-122-AP-132-AP-17

Agenda

Warm Up 5 min
Activity 35 min
Step 1: Define - Plan Your Game · Step 2: Prepare - Design Your Game · Step 3: Try - Program Your Game · Step 4: Reflect
Wrap up 5 min

Preparation

L22Complex Sprite Movement45 min

Overview

This lesson does not introduce any new blocks and in fact, only uses patterns students have seen in Chapter 1 and demonstrates how combining these patterns, in particular the abstractions students learned in the previous two lessons, allows them to build new behaviors for their sprites. Specifically, this lesson has students learn how to combine the velocity properties of sprites with the counter pattern to create more complex sprite movement. After reviewing the two concepts, they explore various scenarios in which velocity is used in the counter pattern and observe the different types of movement that result, such as simulating gravity. They then reflect on how they were able to get new behaviors by combining blocks and patterns that they already knew.

Question of the Day: How can previous blocks be combined in new patterns to make interesting movements?

Objectives

  • Explain how individual programming constructs can be combined to create more complex behavior
  • Use sprite velocity with the counter pattern to create different types of sprite movement

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min

Preparation

L23Collisions45 min

Overview

This lesson introduces collisions, another useful abstraction that will allow students to manipulate their sprites in entirely new ways. After a brief review of how they used the [`isTouching`(#f78183)](/docs/gamelab/isTouching/) block, students brainstorm other ways that two sprites could interact. They then use [`isTouching`(#f78183)](/docs/gamelab/isTouching/) to make one sprite push another across the screen before practicing with the four collision blocks ([`collide`(#f78183)](/docs/gamelab/collide/), [`displace`(#f78183)](/docs/gamelab/displace/), [`bounce`(#f78183)](/docs/gamelab/bounce/), and [`bounceOff`(#f78183)](/docs/gamelab/bounceOff/)). This is the last time they will learn a new sprite behavior, and following this lesson students will transition to focusing on how they organize their increasingly complex code.

Question of the Day: How can programmers build on abstractions to create further abstractions?

Objectives

  • Describe how abstractions can be built upon to develop even further abstractions
  • Model different types of interactions between sprites.

Vocabulary

Abstraction
a simplified representation of something more complex. Abstractions allow you to hide details to help you manage complexity, focus on relevant concepts, and reason about problems at a higher level.

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min

Preparation

L24Mini-Project - Flyer Game45 min

Overview

This lesson is another chance for students to get more creative with what they have learned. Students use what they have learned about simulating gravity and the different types of collisions to create simple flyer games. After looking at a sample flyer game, students brainstorm what sort of flyer games they would like, then use a structured process to program the game in Code Studio.

Question of the Day: How can the new types of collisions and modeling movement be used to create a game?

CSTA standards

2-AP-112-AP-122-AP-132-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 35 min
Step 1: Define - Plan the Game · Step 2: Prepare - Design Your Game · Step 3: Try - Program Your Game · Step 4: Reflect
Wrap up 5 min
Share Out and Journal 3-2-1

Preparation

L25Functions45 min

Overview

In previous lessons, students have learned to use a number of abstractions in their programs which have allowed them to build much more complex programs while ignoring the details of how that behavior is created. In this lesson, students learn to build abstractions of their own by creating functions that will serve to organize their code, make it more readable, and remove repeated blocks of code. Students first think about what sorts of new blocks they would like in Game Lab, and what code those blocks would contain inside. Afterward, students learn to create functions in Game Lab. They will use functions to remove long blocks of code from their draw loop and to replace repeated pieces of code with a single function.

Question of the Day: How can programmers use functions to create their own abstractions?

Objectives

  • Create and use functions for blocks of code that perform a single high-level task within a program
  • Explain how functions allow programmers to reason about a program at a higher level
  • Explain the advantages of using functions in a program

Vocabulary

Function
A named bit of programming instructions.

CSTA standards

2-AP-112-AP-122-AP-132-AP-142-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Your Personal Blocks
Activity 35 min
Wrap Up 5 min

Preparation

L26The Game Design Process45 min

Overview

This lesson introduces students to the process they will use to design games for the remainder of the unit which is centered around a project guide that asks students to define their sprites, variables, and functions _before_ they begin programming their game. Students begin by playing a game on Game Lab where the code is hidden, discussing what they think the sprites, variables, and functions would need to be to make the game. For the purposes of heavily scaffolding the software development process, students are then given a completed project guide that provides starter code and shows one way to implement the game. Students are then walked through this implementation process through a series of levels and have an opportunity to make improvements to the game to make it their own in the final level. In the subsequent lessons, students will need to complete a greater portion of the guide independently, and for the final project, they will follow this process largely independently.

Question of the Day: How does having a plan help to make a large project easier?

Objectives

  • Implement different features of a program by following a structured project guide

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Play Cake Defender · Stop: Review Project Guide
Activity 35 min
Implement Project Guide
Wrap Up 5 min
Using the Project Guide

Preparation

  • Print copies of the the project guide if you will be giving students physical copies. Please note that this project guide is intentionally filled out. (See notes in Lesson Plan.)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L27Using the Game Design Process90 min

Overview

In this multi-day lesson, students use the problem-solving process from Unit 1 to create a platform jumper game. This lesson also builds on the use of the Project Guide in the previous lesson by having students complete more of this project guide independently before using it to build a game. Students begin the lesson by looking at an example of a platform jumper, then define what their games will look like. Next, they use a structured process to plan the backgrounds, variables, sprites, and functions they will need to implement their game. After writing the code for the game, students will reflect on how the game could be improved, and implement those changes.

Question of the Day: How can the problem-solving process help programmers to manage large projects?

Objectives

  • Implement different features of a program by following a structured project guide
  • Identify core programming constructs necessary to build different components of a game

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-19

Agenda

Warm Up 5 min
Activity 80 min
Play Alien Jumper · Discuss Project Guide · Share out
Wrap Up 5 min
Journal

Preparation

  • Print one copy of the project guide for each student or pair of students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L28Project - Design a Game225 min

Overview

Students will plan and build their own game using the project guide from the previous two lessons. Working individually or in pairs, students will first decide on the type of game they'd like to build, taking as inspiration a set of sample games. They will then complete a blank project guide where they will describe the game's behavior and scope out the variables, sprites, and functions they'll need to build. In Code Studio, a series of levels prompts them on a general sequence they can use to implement this plan. Partway through the process, students will share their projects for peer review and will incorporate feedback as they finish their game. At the end of the lesson, students will share their completed games with their classmates. This project will span multiple classes and can easily take anywhere from 3-5 class periods.

Question of the Day: How can the five CS practices (problem-solving, persistence, communication, collaboration, and creativity) help programmers to complete large projects?

Objectives

  • Create a plan for building a piece of software by describing its major components
  • Implement a plan for creating a piece of software
  • Independently scope the features of a piece of software

CSTA standards

2-AP-102-AP-112-AP-122-AP-132-AP-152-AP-162-AP-172-AP-182-AP-19

Agenda

Warm Up 5 min
Activity 215 min
Review Project Guide · Step 1: Define - Scope Game · Step 2: Prepare - Complete Project Guide · Step 3: Try - Write Code · Step 4: Reflect - Peer Review · Iterate - Update Code · Share
Wrap Up 5 min
Journal · Reflect · Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey

Preparation

  • Print copies of the project guide, one for each student / pair of students
  • Print copies of the rubric, one for each student / pair of students
  • Print copies of the peer review guide, one for each student / pair of students
  • Review sample games in Code Studio
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Unit 4

The Design Process

21 lessons1125 min~25 days15 CSTA
L1Designing With Empathy45 min

Overview

To kick off a unit devoted to group problem-solving and developing products for other users, students begin by investigating the design of various shoes. We are purposefully starting out by looking at non-technical objects to encourage students to think more broadly about what it means to consider the end-user of a product before honing in on how it specifically applies to software design. Students begin by looking at a variety of shoes and attempting to match each shoe with a potential user. Students also provide feedback on these designs, using an “I Like…” / “I Wish…” / “I Wonder…” structure that will be repeated throughout the unit. To conclude the activity, students are asked to propose some changes to one set of shoes that would make it more useful or usable.

Question of the Day: How can we choose products based on the needs of a user?

Objectives

  • Critically evaluate an object for how well its design meets a given set of needs
  • Identify empathy for the user as an important component of the design process

Vocabulary

Empathy
In design, paying attention to a user's feelings and needs when designing a product.
User
Someone who uses an object, including software and hardware.

CSTA standards

2-CS-01

Agenda

Before the Lesson
Preparing for the Unit
Warm Up 5 min
Activity 35 min
Design Feedback
Wrap Up 5 min
Journal · Reflection

Preparation

  • Print a copy of the activity guide for each student (or prepare to distribute the document digitally).
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L2Understanding Your User45 min

Overview

This lesson builds on the previous by asking students to not only consider that there _is_ a user that products are designed for, but also empathize with those potential users since designers need to understand their users' needs in order to create useful products. This lesson encourages students to think about how to design for another person by role-playing as someone else using a user profile and reacting as that user to a series of products. Each student is assigned a user profile describing a person, which they then use to choose appropriate products, critique product design, and suggest improvements to design.

Question of the Day: How can we make sure a product is meeting the needs of a user?

Objectives

  • Critique a design through the perspective of a user profile.
  • Design improvements to a product based on a user profile.

Vocabulary

Usability
How easy, efficient, and satisfying it is to use a human-made object or device (including software).

CSTA standards

2-CS-01

Agenda

Warm Up 5 min
Journal
Activity 35 min
Think Like a User
Wrap Up 5 min
Journal

Preparation

  • Print out enough user profiles for all students, ensuring as much variety as possible
  • Print an activity guide for each user
  • Prepare prompt questions for warm up exercise
  • Label four corners of the room as A, B, C, and D
  • Arrange room in table groups of 4, and place a number on each table group (1, 2, 3,...)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L3User Centered Design - Define and Prepare45 min

Overview

This is the first part of a two-day lesson where students are guided through an abbreviated version of the design process they will be seeing throughout this unit. This lesson focuses on the Define and Prepare steps of the process. Students first brainstorm a list of potential users of smart clothing. As a class, they then group these ideas into broad categories and each group will choose one category of user. Groups repeat this process to brainstorm the needs or concerns of their user, eventually categorizing these needs and choosing one to focus on. In the next lesson, students will complete the Try and Reflect steps of the design process.

The activity in this lesson is an adaptation of the Design Charrette from the University of Washington.

Question of the Day: How can we design for people other than ourselves?

Objectives

  • Generate multiple strategies for meeting user needs.
  • Organize ideas and strategies into meaningful categories.

CSTA standards

2-CS-022-IC-202-IC-21

Agenda

Warm Up 5 min
Journal
Activity 35 min
Introduce Design Thinking · Introduce the Activity · Define · Prepare
Wrap Up 5 min
Journal

Preparation

  • Ensure you have plenty of sticky notes, pens and large poster paper for students to work on
  • Set up groups with preferably 3 students each
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L4User Centered Design - Try and Reflect45 min

Overview

This is the second part of a two-day lesson where students are guided through an abbreviated version of the design process they will be seeing throughout this unit. Yesterday students completed the Define and Prepare steps of the design process. Today, they complete the Try and Reflect portions. Students continue their work from yesterday by designing a piece of smart clothing, using the specific needs and concerns they brainstormed to guide their decision-making. Students have a chance to share their decision-making process and get feedback on how well their product addresses the user needs they selected.

Question of the Day: How can we design a product to meet a user's needs?

Objectives

  • Analyze and select the most appropriate strategies to meet user needs.

CSTA standards

2-CS-022-IC-202-IC-21

Agenda

Warm Up 5 min
Journal
Activity 35 min
Try · Reflect
Wrap Up 5 min
Journal

Preparation

  • Return the activity guide from yesterday to students
  • Make copies of the Try & Reflect activity guide - one for each group
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L5User Interfaces45 min

Overview

Following the mini-design project, students look towards the next phase of design - prototyping a product that attempts to address user needs. In teams, students examine a paper prototype for a chat app called "Txt Ur Grndkdz". Through using this paper prototype, students get a chance to see how a simple paper prototype can be used to quickly test ideas and assumptions before we ever get to the computer. This prototype will also serve as the context around which students will start to parse and organize feedback from a wide variety of users. After "using" the provided prototype students begin to identify ways to improve the next iteration.

Question of the Day: How can we test an app to make sure it meets a user's needs?

Objectives

  • Collect and analyze feedback from user testing with a paper prototype.
  • Use a paper prototype to test the design of an app.

Vocabulary

Prototype
A first or early model of a product that allows you to test assumptions before developing a final version.
User Interface
The visual elements of a program through which a user controls or communicates with the application. Often abbreviated UI.

CSTA standards

2-AP-102-AP-172-CS-01

Agenda

Warm Up 5 min
Journal
Activity 35 min
Paper Prototypes · Debriefing
Wrap Up 5 min
Journal

Preparation

  • Print one copy of the User Interface Screens activity guide for each pair of students
  • Print one copy of the User Experience (computer) activity guide for each pair of students
  • Print one copy of the User Experience (user) activity guide for each pair of students
  • Cut out the UI Screens or provide scissors for students to do so themselves
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L6Feedback and Testing45 min

Overview

In this lesson, students use feedback from "users" of the paper-prototyped app from the previous lesson in order to develop improvements to the user interface of that paper prototype. The lesson begins with a reflection on the fact that designers need to translate human needs with technology into changes to the user interface or experience. Students are then given a collection of feedback and requests from users of the app from the previous lesson. In groups, students categorize the feedback and identify ways the needs expressed in the feedback could be met by changes to the interface of the app. Then in groups students will implement some of these changes to meet one of the needs they identified.

Question of the Day: How can we use feedback to improve an app?

Objectives

  • Categorize and prioritize user feedback for an app
  • Improve a screen design based on user feedback.
  • Use feedback to create a plan for further development of an app

CSTA standards

2-AP-102-AP-152-AP-172-IC-212-IC-22

Agenda

Warm Up 5 min
Journal
Activity 35 min
Prototype Feedback · Responding to Feedback
Wrap Up 5 min
Journal

Preparation

  • Either print one copy of the User Interface Screens resource for each group, or be prepared to display the screens at the front of the classroom
  • Print one copy of the Prototype Feedback resource for each group. If possible, cut into strips ahead of time
  • Print one copy of Improve a Screen for each group. If possible, print single-sided so students can divy up the activity guide.
  • Colored pencils or markers for the paper prototypes
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L7Identifying User Needs45 min

Overview

In previous lessons, needs & interests have been presented more explicitly to students. In this lesson, they have the task of extracting that information from a user interview, which motivates the app they will create. Students begin by first interpreting user interviews to determine the needs & interests of a user. They then speculate on the barriers these users are facing or the opportunities that are available for each user. In a group, they share these barriers & opportunities and brainstorm different apps that could be used to address these issues. By the end of the lesson, students will have decided on an app idea that addresses a barrier or opportunity for a user.

Question of the Day: How can user interviews help us create apps to meet the needs of a user?

Objectives

  • Analyze interview notes to identify specific user needs

CSTA standards

2-AP-102-AP-152-AP-172-IC-212-IC-22

Agenda

Warm Up 5 min
Journal
Activity 35 min
Listening to Users · App Brainstorm
Wrap Up 5 min
Journal

Preparation

  • Print one copy of User Interview activity guide for each student
  • Print a copy of the Example User Interviews for each group
  • Gather poster paper and brainstorming materials (pens, sticky notes, etc)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L8Project - Paper Prototype90 min

Overview

The focus of this project is on the design process, especially empathizing with their user and the testing & feedback steps of the app design process. Based on user interviews from the previous lesson, each student comes up with an idea for an app that will address their user's problem. Students then get to create their own paper prototype of their app ideas by drawing "screens" on individual notecards. A project guide directs students through the process including building the paper prototype and testing it with their user to see if their assumptions about the user interfaces they created are accurate.

This is a two-day lesson, with specific timings outlined in the lesson plan below.

Question of the Day: How can I develop an app prototype for a user?

Objectives

  • Design a paper prototype of an app to address the specific needs of a user
  • Design the user interface of an app
  • Identify improvements to an app based on user testing

CSTA standards

2-AP-102-AP-152-AP-17

Agenda

Warm Up 5 min
Journal
Day 1 40 min
Getting Started · Paper Prototyping · Wrap Up
Day 2 40 min
Warm Up · Prototype Testing · Reflect
Wrap Up 5 min
Journal

Preparation

  • Print one copy of the project guide for each student
  • Print one copy of the rubric for each student
  • 6 notecards for each student
  • Drawing supplies (colored pencils, markers, rulers, etc.)
  • Poster paper for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L9Designing Apps for Good45 min

Overview

This lesson lays the foundation for the project that will last the remainder of the unit. Students first explore a number of apps designed for social impact that have been created by other students. Students form project teams and lay out a contract for how the team will function throughout the development of their app. Finally, they brainstorm a team name, a topic for their app, and potential users. *Teachers can choose to make this lesson pack a bigger punch if they find examples (even those from their own previous classes) that demonstrate local examples of students designing apps for social good.*

Question of the Day: What is an App for Good we want to create?

Objectives

  • Describe the target users for a computational artifact
  • Develop a plan for collaborating with others to design a computational artifact

CSTA standards

2-IC-202-IC-21

Agenda

Project Preparation
Looking Ahead
Warm Up 5 min
Journal
Activity 35 min
Team Contract · Brainstorming
Wrap Up 5 min
Journal

Preparation

  • Assign teams of 3-4, ideally based on similar interest in an app topic
  • Print one copy per team of the activity guide
  • Choose 1-3 of the apps from the example apps to share with the class
  • Arrange classroom seating for pre-selected teams of 3-4 students
  • Put out sticky notes for each team
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L10Market Research45 min

Overview

In this lesson students research apps similar to the one they intend on creating to better understand the needs of their users. Students work within their teams to search the Internet for other apps, then evaluate the ones they find interesting. By the end of the lesson, each team will have a clearer idea about the type of app they want to create and further refine who their target users are. Each team will maintain a list of citations for all the apps they examined for use in their final presentation.

Question of the Day: How can we use existing apps as inspiration for our own apps?

Objectives

  • Evaluate a design based its ability to meet target user's needs
  • Evaluate the purpose and impact of a computational artifact

CSTA standards

2-IC-202-IC-21

Agenda

Before the Lesson
Preparing for the Lesson
Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Finding Similar Apps · Brainstorming App Ideas
Wrap Up 5 min
Journal

Preparation

  • Arrange classroom seating for teams of 4-5 students
  • Print one copy per team of the activity guide
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L11Exploring UI Elements45 min

Overview

This lesson helps narrow the scope of the types of design elements students can include in their apps since up until now, students have explored and brainstormed apps with a variety of functionality - they may have discovered apps that use maps, or connect to social media, or access data on your phone. However, students will eventually be prototyping these apps in App Lab, so they will be in better shape if their ideas align with the kinds of apps that can be made using AppLab’s tools. Today focuses on having teams look at several example apps made in AppLab and identifying the components of the user interface. They then make a plan for which features could use which components in their app.

Question of the Day: What user interface elements will be useful for our app?

Objectives

  • Explain the purpose of individual UI elements when developing an app

CSTA standards

2-AP-102-AP-132-AP-19

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Explore AppLab Apps
Wrap Up 5 min
Journal

Preparation

  • Print a copy of the activity guide for each team
  • (Optional) Preview Lesson 14 - Design Mode in AppLab to help answer questions from students about UI elements in AppLab.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L12Build a Paper Prototype45 min

Overview

This lesson kicks off the actual design phase of this project. Students work in their teams to create paper prototypes for the apps they’ve been developing. They begin by making a plan for each screen, then assigning different team members to work on each screen so the task can be completed in time. They can use 3x5 index cards to develop their paper prototypes or the Paper Prototype template.

Question of the Day: How can we build a paper prototype for our app?

Objectives

  • Create a paper prototype that incorporates the user flow for a computational artifact.
  • Explain the role of paper prototypes in app development.

Vocabulary

Prototype
A first or early model of a product that allows you to test assumptions before developing a final version.

CSTA standards

2-AP-102-AP-132-AP-19

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Review Paper Prototypes · Paper Prototyping
Wrap Up 5 min
Collect Prototypes

Preparation

  • Prepare 3x5 index cards (or copies of the prototype template), sticky notes, colored pens and pencils, scissors for each team
  • Print a copy of the activity guide for each team
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L13Prototype Testing45 min

Overview

The primary purpose of developing paper prototypes is that they allow for quick testing and iteration before any code is written. This lesson is focused on giving teams a chance to test their prototypes and gut-check assumptions about how the app should be laid out and navigated before moving to App Lab. Teams develop a plan to test with users before running prototype tests with multiple other students in the class (and potentially outside the class). In order to test the prototype with the users, the students will have to assign roles in the testing (the “narrator”, the “computer” and the “observers”) as well as have some questions prepared for the user to answer after the test is complete.

Question of the Day: How does our prototype work when tested by real users?

Objectives

  • Analyze user tests to identify features that should be removed, added, or improved
  • Design and run test that use paper prototypes to gather feedback on a design

CSTA standards

2-AP-102-AP-152-AP-172-CS-012-DA-082-DA-092-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Preparing for Testing
Wrap Up 5 min
Journal

Preparation

  • Either have other people lined up to test each team’s paper prototypes, or schedule enough time for teams to test each other's prototypes
  • Print a copy of the Paper Prototype User Testing activity guide for each team
  • Print a copy of the User Test Cases activity guide for each team
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L14Design Mode in App Lab45 min

Overview

Students are introduced to the App Lab programming environment that they will use to build their apps. Students work through a progression of skill-building levels to learn how to use the drag-and-drop design mode of App Lab. Students will build up an exemplar app screen and end the lesson by making a plan to adapt one of their Paper Prototype screens into App Lab, focusing on having unique IDs for each element. In tomorrow’s lesson, they will build a screen from their paper prototype, incorporating the feedback from yesterday’s lesson.

Question of the Day: How can we use App Lab and Design Mode to create apps?

Objectives

  • Assign roles and responsibilities to each team member when collaborating to create a digital artifact
  • Select the appropriate input element for a given type of information

CSTA standards

2-AP-132-AP-152-AP-162-AP-182-AP-192-CS-012-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Design Mode in App Lab
Wrap Up 5 min

Preparation

  • Print one copy of the Screen Ownership activity guide for each group
  • Print one copy of the Screen Design activity guide for each student
  • (Optional) Print one copy of the Model Screen Design activity guide for each group
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L15Build a Digital Prototype45 min

Overview

Having collaboratively developed a paper prototype for their apps, groups now divide and conquer to begin work on an interactive digital version based on the paper prototype. Using the drag-and-drop design mode of App Lab, students individually work through a progression of skill-building levels to learn how to build digital versions of a paper prototype. From there, each group member builds out at least one page of their app in App Lab, to be later combined into a single app.

Question of the Day: How can I design a digital prototype from a paper prototype?

Objectives

  • Create a digital prototype of an application screen

CSTA standards

2-AP-132-AP-152-AP-162-AP-182-AP-192-CS-012-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Team Check-In
Activity 35 min
Screen Design Planning · Building Screens in App Lab · Sharing Designs
Wrap Up 5 min
Journal

Preparation

  • Have extra copies of the Screen Design Activity Guide available for students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L16Events in App Lab45 min

Overview

In this lesson, students learn how to add screens to their apps, how to import screens created by other students, and how to program events to navigate between screens. Students learn basic event-driven programming by building up the model app that they started in the previous lesson. At the end of the lesson, students make a plan for how they will stay organized when importing each other’s screens in tomorrow’s lesson.

Question of the Day: How can I use events to create an app?

Objectives

  • Create an event that detects and responds to user input

CSTA standards

2-AP-132-AP-142-AP-152-AP-162-AP-182-AP-192-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Events in App Lab · Preparing for Screen Import
Wrap Up 5 min
Journal

Preparation

L17Linking Prototype Screens45 min

Overview

In this lesson, teams combine their digital prototype screens into a single app, which they can then link together using code. They share their project’s import URLs with each other, then import each teammate’s screen into their own app. Each student works independently to add events to their code to link the screens together, completing their digital prototype.

Question of the Day: How can I combine screens to create a complete digital prototype?

Objectives

  • Create a digital prototype that incorporates the user flow for a computational artifact
  • Integrate all components from collaborative work into a final computational artifact.

CSTA standards

2-AP-132-AP-142-AP-152-AP-162-AP-182-AP-192-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Combining Project Screens
Wrap Up 5 min
Team Debrief

Preparation

L18Testing the App45 min

Overview

By now students should be fairly practiced at testing with users but this time around, the role of the computer is actually done by the computer! This means that the team running the test needs to focus their energy on carefully watching what the user does, and encourage the user to say aloud what they are experiencing. The primary purpose of this lesson is to have the team actually test the app with other people, preferably from the target audience the app is intended for, or from different teams in the class while observers from the team will record the results. As with testing the paper prototypes, teams will start by planning for the specific scenarios before running and observing tests.

Question of the Day: How does our digital prototype work when tested by real users?

Objectives

  • Design and run tests that use digital prototypes to gather feedback on a design

CSTA standards

2-AP-152-AP-172-AP-182-CS-012-DA-082-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Preparing for Testing
Wrap Up 5 min
Journal

Preparation

  • Print one copy of the activity guide for each student
  • If possible, have outside users available to test the teams’ apps prior to this testing day
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L19Bugs and Features45 min

Overview

Teams have at this point developed an app prototype that has gone through multiple iterations and rounds of user testing. With the information and guidance gained from the last round of user testing, each student has the opportunity to plan for and implement improvements (which could be adding programmatic functionality, a more eye-catching design, more informative text copy, better uniformity of iconography, or any number of other non-programming related features) to the team app. Depending on the time you have available, and student interest, you can run the cycle of testing and iteration as many times as you see fit.

Question of the Day: How can we create a plan to address bugs and features in our prototype?

Objectives

  • Analyze user feedback and test results on a computational artifact
  • Categorize and prioritize the issues according to impact and ease of implementation

Vocabulary

Bug
Part of a program that does not work correctly.
Feature
Part of a program that adds functionality for the user

CSTA standards

2-AP-132-AP-142-AP-152-AP-162-AP-172-AP-182-AP-192-CS-012-DA-092-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Interpreting User Feedback · Brainstorming Session · Bug and Feature Analysis
Wrap Up 5 min
Journal

Preparation

  • Print one copy of the activity guide for each team
  • Set out sticky notes for each team
  • (Optional) Have poster paper or a large whiteboard area prepared for each team
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L20Updating Your Prototype45 min

Overview

Teams make a decision about how they will incorporate updates to their app, then they begin updating their app based on their post-its from yesterday’s lesson. They use a “To Do / Doing / Done” chart to organize their work and track their progress. Teams spend the majority of the class working on updating their app, with time at the end to re-combine into a single app if necessary.

Question of the Day: How can I track my work while we make updates to our app?

Objectives

  • Track progress will making changes to their app

CSTA standards

2-AP-132-AP-142-AP-152-AP-162-AP-172-AP-182-AP-192-CS-012-DA-092-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Print one copy of the activity guide for each team
  • (Optional) Prepare poster paper or a large whiteboard space for each team
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L21Project - App Presentation180 min

Overview

At this point, teams have researched a topic of personal and social importance, developed and tested both a paper prototype and a digital prototype, and iterated on the initial app to incorporate new features and bug fixes. Now is the time for them to review what they have done and pull together a coherent presentation to not only demonstrate their process of creation, but to also acknowledge the research, design, testing, and iteration that teams have gone through. Using the provided presentation template, teams prepare to present their process of app development, including the problem they set out to solve, the ways in which they've incorporated feedback from testing, and their plans for the future.

Question of the Day: How can I present the steps in our design process to people outside of our team?

Objectives

  • Present technical information clearly to non-technical users
  • Reflect on the development of an ongoing project

CSTA standards

2-AP-192-CS-012-DA-092-IC-202-IC-212-IC-22

Agenda

Warm Up 5 min
Getting Prepared · Journal
Days 1 and 2 150 min
Inspecting the Exemplar · Wrap Up Day 1 and 2
Days 3 and 4 20 min
Warm Up · Presentations
Wrap Up 5 min
Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey
Extension Activities
App Celebration Night · Submit to Competitions

Preparation

  • Determine how much time each group has to present. Typically this is 8-10 minutes per team, but remember to leave time for transitioning between teams
  • Create a copy of the presentation template slide deck for each team
  • Print one copy of the rubric for each team.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Unit 5

Data & Society

16 lessons900 min~20 days11 CSTA
L1Representation Matters45 min

Overview

In Chapter 1 of this unit, students learn the different representation systems that computers use to represent information. In this first lesson, students get an overview of what data is and how it is used to solve problems. Students start off with a brief discussion to come to a common understanding of data. They then split into groups and use a data set to make a series of meal recommendations for people with various criteria. Each group has the choices of meals represented in a different way (pictures, recipes, menu, nutrition) that gives an advantage for one of the recommendations. Afterward, groups compare their responses and discuss how the different representations of the meal data affected how the students were able to solve the different problems and see that the same objects can be represented in a number of different ways.

Question of the Day: How does data affect decisions we make every day?

Objectives

  • Choose the best way to represent some information based on how it will be used.
  • Provide examples of how representing data in different ways can affect its ability to solve different problems.

CSTA standards

2-DA-07

Agenda

Before the Lesson
Preparing for the Unit
Warm Up 5 min
Journal
Activity 35 min
Person 1 · Person 2 · Person 3 · Person 4 · Reflection
Wrap Up 5 min
Journal · Reflection

Preparation

  • Print copies of the Meals Data resource so that each group can get one of the four pages
  • Print one copy of the activity guide for each group
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L2Patterns and Representation45 min

Overview

In this lesson, students get to explore for themselves the qualities of a good system for representing information by creating their own system for representing information. They begin by brainstorming all the different systems they already use to represent yes-no responses and then move on to create a system that can represent any letter in the alphabet using only a single stack of cards. The cards used have one of 6 different possible drawings (6 animals, 6 colors, etc.) and so to represent the entire alphabet students will need to work with their groups to use patterns of multiple cards to represent each letter. Students create messages with their systems and exchange them with other groups to ensure the system worked as intended. In the wrap-up discussion, the class reviews the pros and cons of the different systems, discussing commonalities between working systems and recognizing that there are many possible solutions to this problem and what's important is that everyone uses the same arbitrary system to communicate.

Question of the Day: How can we create a system for representing information?

Objectives

  • Create and use a system for representing information
  • Describe the necessary features of a system for representing information

Vocabulary

Decode
to change how information is represented so that it can be read by a person
Encode
to change how information is represented so that it can be read by a computer

CSTA standards

2-DA-07

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Print one copy of the activity guide for each group of 2-3
  • Print and cut up one copy of the manipulative resource for each group of 2-3
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L3ASCII and Binary Representation45 min

Overview

This lesson is an opportunity to make some real-world connections from the previous lesson and review some of the concepts students saw in that activity. Students are formally introduced to the concept of binary, learn what a bit of information is, and get practice using a binary system and ASCII, a system for encoding information. At the beginning of the lesson, the teacher introduces the fact that computers must represent information using either "on" or "off". Then students are introduced to the ASCII system for representing text using binary symbols. Students practice using this system before encoding their own message using ASCII. At the end of the lesson, a debrief conversation helps synthesize the key learning objectives of the activity.

Question of the Day: What system do computers use to represent letters and words?

Objectives

  • Define a binary system as one that uses just two possible states to represent information
  • Use the ASCII system to encode and decode text information in binary

Vocabulary

ASCII
a popular system for representing text in binary
Binary System
a way of representing information using only two options
Bit
a single piece of binary information

CSTA standards

2-DA-07

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min

Preparation

  • Print copies of the activity guide - 1 per student
  • Print copies of the ASCII text resource - 1 for each pair of students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L4Representing Images45 min

Overview

In this lesson, students learn how computers represent images. To begin the lesson they consider the challenge of turning all the complexity of vision into a binary pattern. Through a series of images showing how this transformation is made, students are introduced to the concept of splitting images into squares or "pixels" which can then be turned on or off individually to make the entire image. Students then do a short set of challenges using the Pixelation Widget in order to draw black and white images. Puzzles are designed to call out some of the challenges of representing images in this way. In the wrap-up, students make connections between the system for representing images and the system for representing text they learned in the previous lesson.

Question of the Day: What system do computers use to represent images?

Objectives

  • Create and manipulate binary patterns to represent black and white images
  • Describe common features of systems used to represent information in binary

Vocabulary

Pixel
a tiny square or dot which contains a single point of color of a larger image.

CSTA standards

2-DA-07

Agenda

Warm Up 5 min
Journal
Activity 35 min
Pixelation Widget
Wrap Up 5 min
Journal

Preparation

  • Practice using the Pixelation Widget for ~10 mins to prepare to respond to questions
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L5Representing Numbers45 min

Overview

In this lesson, students learn how to use the binary system to represent integers. With a set of cards that represent the place values in a binary (base-2) number system by a collection of dots, students turn bits "on" or "off" by turning cards face up and face down, then observe the numbers that result from these different patterns. Eventually, students extend the pattern to a generic 4-bit system.

Question of the Day: What system do computers use to represent numbers?

Objectives

  • Extend a representation system based on patterns.
  • Use a binary system to represent numbers.

CSTA standards

2-DA-07

Agenda

Warm Up 5 min
Journal
Activity 35 min
Representing Numbers Activity Guide
Wrap Up 5 min

Preparation

L6Combining Representations45 min

Overview

In this lesson, students use all three types of binary representation systems (ASCII characters, binary numbers, and images) to decode information in a record. After seeing a series of bits and being asked to decode them, students are introduced to the idea that in order to understand binary information, they must understand both the system that is being used and the meaning of the information encoded. They then decode a record representing a pet based on a given structure.

Question of the Day: How do computers tell the difference between binary codes for letters, numbers, or images?

Objectives

  • Determine the most appropriate encoding system for a given piece of information.
  • Use multiple binary systems to decode information.

CSTA standards

2-DA-07

Agenda

Warm Up 5 min
Journal
Activity 35 min
Levels
Wrap Up 5 min
Journal

Preparation

  • Have the 8-Bit Binary Widget and Binary to ASCII Table ready to model with the class
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L7Keeping Data Secret45 min

Overview

As students have been encoding and decoding data, they have not been worried about securing the data that they are using even when that information has been highly personal or sensitive (such as addresses or phone numbers). In this lesson, they continue to explore how data is represented in a punchcard and begin to think about how they can ensure that only the intended recipient can read the data that they send. Once students understand the reasons for protecting data, they learn a binary encryption system that lets them encrypt and decrypt data in their punchcards, and eventually, they are able to send secret messages to one another using this method. The class concludes with a discussion on the importance of protecting our information and how encryption is one way we can accomplish this.

Question of the Day: How can we keep data secret and protect it from misuse?

Objectives

  • Apply a method of encryption to ensure the secure transmission of data.
  • Describe the reasons encryption is needed to protect personal data

Vocabulary

Decrypt
to change information so that its hidden meaning is shown
Encrypt
to change information so that its meaning is hidden

CSTA standards

2-NI-052-NI-06

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

L8Project - Create a Representation45 min

Overview

The project serves as a cumulative project for the chapter, bringing together the different representation systems students have learned to design a structure that represents their perfect day. Students will first write a short description of their perfect day and then review with a partner to identify the key pieces of information they think a computer could capture. As a class, students will decide how a punch card of bytes of information will be interpreted to represent those pieces of information. Students will then use the ASCII, binary number, and image formats they have learned to represent their perfect days and then trade punch cards and try to decode what the other student's perfect day is like. This lesson forces students to grapple with some of the challenges of representing information in a computer since computers are good at representing _some_ kinds of information like numbers or characters, but this forces students to represent information in ways that might not always capture the full analog experience of an object or event.

Question of the Day: How can I represent complex information using binary systems?

Objectives

  • Choose and justify the use of different binary representation systems depending on the information being represented
  • Create a generalized representation system for many instances of a complex type of information
  • Encode and decode information represented in binary numbers and ASCII text

CSTA standards

2-AP-102-AP-132-DA-07

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min

Preparation

L9Problem Solving With Data45 min

Overview

In this lesson, students use the problem solving process from earlier in the course to solve a data problem. After reviewing the process, the class is presented with a decision: whether a city should build a library, pet shelter, or fire department. Students work in teams to collect information on the Internet to help them decide what should be built, then use this information to build an argument that will convince the city council of their choice. They then map what they have done to the problem solving process that they have been using throughout the course, comparing the general problem solving process to its specific application to data problems.

Question of the Day: How can we use data to solve problems in our community?

Objectives

  • Identify and collect relevant data to help solve a problem.
  • Use data to draw conclusions.
  • Use the problem solving process to answer a question using data.

CSTA standards

2-DA-08

Agenda

Warm up 5 min
Activity 35 min
Define · Prepare · Try · Reflect
Wrap Up 5 min

Preparation

L10Structuring Data45 min

Overview

In this lesson, students go further into the collection and interpretation of data, including cleaning and visualizing data. Students first look at how presenting data in different ways can help people to understand it better, and they then create visualizations of their own data. Using the results of a preferred pizza topping survey, students must decide what to do with data that does not easily fit into the visualization scheme that they have chosen. Finally, students discuss which parts of this process can be automated by a computer and which need a human to make decisions.

Question of the Day: how can we make it easier for computers to process data?

Objectives

  • Create a bar chart based on a set of data.
  • Explain why a set of data must be cleaned before a computer can use it.
  • Identify and remove irrelevant data from a data set.

CSTA standards

2-DA-08

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

L11Interpreting Data45 min

Overview

Students begin the lesson by looking at a cake preference survey that allows respondents to specify both a cake and an icing flavor. They discuss how knowing the relationship between cake and icing preference helps them better decide which combination to recommend. They are then introduced to cross-tabulation, which allows them to graph relationships to different preferences. They use this technique to find relationships in a preference survey, then brainstorm the different types of problems that this process could help solve.

Question of the Day: How can patterns in data help us make decisions?

Objectives

  • Use cross tabulation to find patterns and relationships in data
  • Visually organize data to highlight relationships and support a claim.

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

L12Making Decisions with Data45 min

Overview

In this lesson, students get to practice making decisions with data based on problems designed to be familiar to middle school students. Students work in groups discussing how they would use the data presented to make a decision before the class discusses their final choices. Not all questions have "right answers" and in some cases, students can and should decide that they should collect more data. The lesson concludes with a discussion of how different people could draw different conclusions from the same data, or how collecting different data might have affected the decisions they made.

Question of the Day: how can patterns in data help make a decision?

Objectives

  • Identify additional data that could be collected to improve a decision
  • Use tables and visualizations summarizing data to support a decision

CSTA standards

2-DA-08

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Print copies of the activity guide
  • Print copies of the Problem Solving Process with Data - one per group
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L13Automating Data Decisions45 min

Overview

In this lesson, students look at a simple example of how a computer could be used to complete the decision-making step of the data problem-solving process if it's given an algorithm. Students are given the task of creating an algorithm that could suggest a vacation spot. Students then create rules that a computer could use to make this decision automatically. Students share their rules and what choices their rules would make with the class data. They then use their rules on data from their classmates to test whether their rules would make the same decision that a person would. The lesson concludes with a discussion about the benefits and drawbacks of using computers to automate the data problem-solving process.

Question of the Day: How can computers help us make decisions about data?

Objectives

  • Design and implement an algorithm for making decisions using data as inputs
  • Explain the benefits and drawbacks of using computers for automated decision making
  • Interpret collected data to identify patterns

CSTA standards

2-AP-102-DA-082-IC-22

Agenda

Warm Up 5 min
Journal
Activity 35 min
Making The Algorithm · Testing the Algorithm
Wrap Up 5 min

Preparation

L14Problem Solving with Big Data45 min

Overview

In this lesson, students look at how data is collected and used by organizations to solve problems in the real world as well as also provide students an opportunity to reflect on the fact that in their own lives, they are intentionally and unintentionally producing data that companies collect and use. Students are presented with three scenarios that could be solved using data and brainstorm the types of data they would need and how they could collect the data. Each problem is designed to reflect a real-world service that exists. After brainstorming, students watch a video about a real-world service and record notes about what data is collected by the real-world service and how it is used. At the end of the lesson, students record whether data was provided actively by a user, was recorded passively, or collected by sensors.

Question of the Day: How is our data collected and why is it useful?

Objectives

  • Determine data that would be helpful in solving a problem, and how that data could be collected.
  • Distinguish between data that users intentionally and unintentionally produce.
  • Give examples of how data is collected from sensors and tracking user behavior.

CSTA standards

2-IC-202-IC-23

Agenda

Warm Up 5 min
Journal
Activity 35 min
Web Pix · Routz · Nyle · Reflection
Wrap Up 5 min
Journal

Preparation

  • Print copies of the activity guide
  • Prepare projector if you will show videos to the whole class
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L15Data and Machine Learning45 min

Overview

In previous lessons, students have seen how we can use data to make decisions. We've also seen that data can be collected about us constantly, leading to a larger amount of data to analyze - more than a human can handle! In this lesson, students are introduced to the concepts of Artificial Intelligence and Machine Learning using the AI for Oceans widget. First students classify objects as either "fish" or "not fish" to attempt to remove trash from the ocean. Then, students will need to expand their training data set to include other sea creatures that belong in the water. In the second part of the activity, students will choose their own labels to apply to images of randomly generated fish. This training data is used for a machine-learning model that should then be able to label new images on its own.

Question of the Day: How can machines "learn"?

Objectives

  • Reason about how human bias plays a role in machine learning.
  • Train and test a machine learning model.

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Review and complete the online tutorial yourself. If you are not going to use AI for Oceans, explore the other options listed below.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
L16Project - Make a Recommendation225 min

Overview

To conclude this unit, students design a recommendation engine based on data that they collect and analyze from their classmates. After looking at an example of a recommendation app, students follow a project guide to complete this multi-day activity. In the first several steps, students choose what choice they want to help the user to make, what data they need to give the recommendation, create a survey, and collect information about their classmates' choices. They then interpret the data and use what they have learned to create the recommendation algorithm. Last, they use their algorithms to make recommendations to a few classmates. Students perform a peer review and make any necessary updates to their projects before preparing a presentation to the class.

Question of the Day: How can I use data to make my own recommendations?

Objectives

  • Apply the data problem solving process to a personally relevant topic
  • Determine appropriate sources of data needed to solve a problem

CSTA standards

2-AP-102-AP-152-AP-182-DA-082-IC-23

Agenda

Warm Up 5 min
Journal
Activity 215 min
Day 1 Activity (40 mins) · Day 2 Activity (45 mins) · Day 3 Activity (45 mins) · Days 4 and 5 Activity (85 mins)
Wrap Up 5 min
Teacher End-Of-Unit Survey
After the Lesson
Post-Project Test · End of Course Survey

Preparation

  • Print copies of the project guide
  • Print copies of the rubric
  • Print copies of the peer review guide
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
  • If you are teaching virtually, consider checking our Virtual Lesson Modifications
Unit 6b

Creating Apps with Devices — micro:bit

Option B · taught17 lessons1305 min~29 days14 CSTA
L0Intro to App Lab45 min

Overview

This unit assumes students are already familiar with App Lab, so we recommend starting with the App Lab Hour of Code which is included in this lesson. If your students are already familiar with App Lab, you may decide to skip this lesson, which requires hiding it from students in the unit overview page. Click here to learn more about hiding this lesson, allowing your classes to start right away with Physical Computing

This tutorial is designed to quickly introduce the App Lab programming environment as a powerful tool for building and sharing apps. The tutorial itself teaches students to create and control buttons, text, images, sounds, and screens in JavaScript using either blocks or text. At the end of the tutorial, students are given time to either extend a project they started building into a "Choose Your Own Adventure", "Greeting Card", or "Personality Quiz" app. They can also continue on to build more projects featured on the code.org/applab page.

Objectives

  • Build and share their own apps in App Lab using features like buttons, text, images, sound, and screens.

CSTA standards

2-AP-12

Agenda

Warm Up 5 min
Introduction
Activity 35 min
Intro to App Lab
Wrap Up 5 min
Celebrate and Keep Going!

Preparation

  • Review and complete the online tutorial yourself
  • Print one or more of the Exit Ticket examples at the end of this lesson plan, or create your own.
L1Physical Designs45 min

Overview

To kick off a unit devoted to problem-solving and creating apps with devices, students begin by investigating the design of different physical devices and their apps. Students look at a variety of physical designs and attempt to match each design with a potential user. Then students choose a user and attempt to prototype a physical design for them on paper or in a digital template. To conclude the activity, students consider what it means to be a physical designer and create resources for other users.

Question of the Day: How can we design apps with devices based on the needs of a user?

Objectives

  • Create a prototype of a physical design to meet the needs of a user using the problem-solving process
  • Identify features of a physical design that match the needs of users
  • Understand the steps of the problem-solving process

CSTA standards

2-AP-13

Agenda

Before the Lesson
Preparing for the Unit
Warm Up - Option 1
Problem Solving Word Search · The Problem Solving Process
Warm Up - Option 2 5 min
Revisit The Problem Solving Process
Activity 35 min
Recommending Physical Designs · Creating a Physical Design
Wrap Up 5 min
Reflection

Preparation

L2Introducing the micro:bit45 min

Overview

This lesson gives students their first opportunity to write App Lab programs that incorporate the micro:bit physical computing device. After first inspecting the micro:bit boards, investigating some of its physical features and hypothesizing about potential uses, students move online to create applications that use App Lab inputs to control the micro:bit’s main output, its LED display, to show simple pictures, words and numbers.

Question of the Day: How can I control the main output on the BBC micro:bit?

Objectives

  • Connect and troubleshoot external micro:bit devices
  • Control the micro:bit’s LED display with code: turn individual LEDs on and off, scroll words and numbers

Vocabulary

LED
Light Emitting Diode, lights that use very little energy and which are found on many electronic devices
Output
the information computers give to users, devices, or other computers

CSTA standards

2-AP-132-CS-022-CS-03

Agenda

Warm Up 5 min
What is a micro:bit?
Activity 35 min
Connecting The Board
Wrap Up 5 min
Only 25 LEDs

Preparation

  • Make sure that student computers have the drivers and software necessary to connect Code.org App Lab to the micro:bit (details here)
  • Prepare a micro:bit and USB cable for each pair of students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L3Updating Screen Elements45 min

Overview

Students should already be familiar with programming in App Lab, specifically using Design Mode to create screen elements and using `onEvent` blocks to create button click events. To expand the kinds of apps that students can make, and to encourage them to think in new ways about how users interact with apps, we introduce the `setProperty()` and `setText()` blocks that allow users to change the properties and content of various UI elements. In this lesson students explore how they can use events to update elements on the screen

Question of the Day: How can you update design elements of an app?

Objectives

  • Change text on the screen using code
  • Respond to user input using event handlers
  • Set the properties of UI elements using code

CSTA standards

2-AP-132-AP-19

Agenda

Warm Up 5 min
UI Element Properties Refresher
Activity 35 min
Wrap Up 5 min

Preparation

  • Students do _not_ need devices for this lesson, and we recommend teaching the lesson without devices to avoid distractions
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L4Board Events45 min

Overview

This lesson transitions students from considering the micro:bit as strictly an output device and instead introduces the buttons as tools for input. Starting with the hardware buttons, students learn to use [`onBoardEvent()`(#f78183)](/docs/applab/onBoardEvent/), analogously to [`onEvent()`(#fff176)](/docs/applab/onEvent/), in order to take input from their micro:bit.

Question of the Day: How can the user interact with the micro:bit for input?

Objectives

  • Use a board event handler to control buttons on the micro:bit

Vocabulary

Input
the information computers get from users, devices, or other computers

CSTA standards

2-AP-132-AP-172-AP-192-CS-012-CS-022-CS-03

Agenda

Warm Up 5 min
Board Inspection: Inputs
Activity 35 min
Wrap Up 5 min
Journal 3-2-1

Preparation

  • Prepare a board and USB cable for each pair of students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L5Variables and If Statements45 min

Overview

In this lesson, students are introduced to variables, the counter pattern, and if-statements. Students will use these concepts in the context of programming the micro:bit and creating more complex input/output behaviors, such as counting the number of button presses before having the micro:bit light up. The concepts in this lesson are used to make more complex and fulfilling apps in future lessons, and students may need to refer back to the videos and examples in this lesson as they continue to master these concepts.

Question of the Day: How can I create more complex programs that keep track of information and make decisions?

Objectives

  • Use if-statements to make decisions when creating apps
  • Use the counter pattern to update variables when creating apps
  • Use variables to store information when creating apps

CSTA standards

2-AP-112-AP-132-AP-192-CS-022-CS-03

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Prepare a board and USB cable for each pair of students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L6Mini-Project - Field Collector App90 min

Overview

In this mini-project, students will use the micro:bit to collect data, then use App Lab to analyze the data that was collected. This is similar to citizen science fieldwork or survey apps where a person collects data on a device "in the field", then returns to a central location to view and analyze the data (such as cataloguing endangered species in the wild). Students will use variables and events to collect data from the micro:bit, then use if-statements to make decisions or recommendations based on the data they collect.

Question of the Day: How can I use events and variables to create an app that collects and analyzes data?

Objectives

  • Create a project that incorporates inputs from the micro:bit
  • Create a project that incorporates outputs from the app screen
  • Create a project that incorporates variables and if-statements

CSTA standards

2-AP-112-AP-132-AP-192-CS-022-CS-03

Agenda

Warm Up 5 min
Journal
Activity 80 min
Project Ideation · Creating the Project · Code Studio · (Optional) Gallery Walk
Wrap Up 5 min
Reflection

Preparation

  • Review the Project Guide and Rubric to understand the scope of the project.
  • Review the exemplar projects as examples of what students can create.
  • (Optional) You may decide to show one of these projects to students to help spark ideas.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L7Getting Screen Inputs45 min

Overview

Students learn to use several new design elements - text inputs, dropdowns, and sliders - so they can get user input from the screen of their apps. This lesson also introduces students to the getProperty and getText blocks, which allow them to access their user input in their code. Students first practice using these tools to determine what the user has input in various user interface elements. Students later use getProperty and setProperty together with the counter pattern to make elements move across the screen. A new event trigger, change, is also introduced to represent when a dropdown or slider changes values.

Question of the Day: How can we use the app screen for user input?

Objectives

  • Design apps using the text input, dropdown, and slider design elements
  • Use getProperty and getText to access user input on the screen
  • Use user input to update elements on the screen using code

CSTA standards

2-AP-112-AP-132-AP-19

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min

Preparation

  • Students do _not_ need micro:bits for this lesson, and we recommend teaching the lesson without devices.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L8Combining Inputs and Outputs45 min

Overview

In this lesson, students combine inputs and outputs across both the micro:bit and the app screen. For example, students may use dropdowns or sliders to make the LEDs on the micro:bit change. Or, students may use the buttons on the micro:bit to update elements on the screen. This lesson also extends how students use variables and if-statements to make more complex decisions based on user input. There are no new coding commands or micro:bit features in this lesson, but students are combining many elements from previous lessons in new ways.

Question of the Day: How can I use inputs and outputs from both the micro:bit and the app screen?

Objectives

  • Use inputs from app design elements to update screen elements or produce output on the micro:bit
  • Use inputs from the micro:bit to update screen elements or produce output on the micro:bit
  • Use variables and if-statements for complex user interaction

CSTA standards

2-AP-112-AP-132-AP-192-CS-022-CS-03

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min

Preparation

  • Prepare a board and USB cable for each pair of students
  • (Optional) consider preparing external reference materials from previous lessons for students, such as a Word Wall or Reference Packet, that students can access.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L9Project - Human Device Interaction225 min

Overview

In this project, students create an app that controls the micro:bit so it interacts with the physical environment around it, similar to many smart phone apps that are used to control devices in a house or car or school. Students use physical materials to help design their physical device, then create an app that lets the user interact with the physical device or change settings.

Objectives

  • Create a project that incorporates physical materials into its design
  • Create a project that uses a variety of inputs and outputs from the micro:bit and app screen

Vocabulary

Prototype
A first or early model of a product that allows you to test assumptions before developing a final version.

CSTA standards

2-AP-112-AP-132-AP-152-AP-172-AP-192-CS-012-CS-022-CS-03

Agenda

Day 1 45 min
Warm Up · Introduce the Project · Sketching Your Device · Wrap Up
Day 2 45 min
Warm Up · Build Your Device · Wrap Up
Day 3 45 min
Warm Up · Complete Your Device · Start Coding · Wrap Up
Day 4 45 min
Warm Up · Coding and Testing · Wrap Up
Day 5 45 min
Warm Up · Review Device · Demonstrations · Wrap Up

Preparation

  • Review the Project Guide and Rubric to understand the scope of the project.
  • Review the exemplar projects as examples of what students can create.
  • (Optional) You may decide to show one of these projects to students to help spark ideas.
  • Gather prototyping materials, such as:
  • Structural material (cardboard, construction paper, etc)
  • Connective material (tape, glue, hot glue, etc)
  • Construction tools (scissors, staplers, etc)
  • Other materials (cups, binder clips, paper plates, etc)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L10Board Sensors45 min

Overview

In this lesson, students explore how the two sensors (light and temperature) can be used to write programs that respond to changes in the environment. The use of these sensors marks a transition in terms of how users interact with a program. By using sensors as an input, the user of an app doesn't have to directly interact with it at all or may interact without actually realizing they are doing so.

Question of the Day: How can I use sensors to detect changes in the environment?

Objectives

  • Develop programs that respond to sensor input
  • Scale a range of numbers to meet a specific need

CSTA standards

2-AP-112-AP-122-AP-132-AP-162-AP-172-AP-192-CS-012-CS-022-CS-03

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min
Sensors All Around

Preparation

  • Prepare a board and USB cable for each pair of students
  • Consider having some flashlights or other light sources on hand for testing the light sensor
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L11Accelerometer45 min

Overview

In this lesson, students will explore the accelerometer and its capabilities. They’ll become familiar with its events and properties, as well as create multiple programs utilizing the accelerometer similar to those they’ve likely come across in real world applications.

Question of the Day: How can I use the accelerometer to create apps?

Objectives

  • Use accelerometer orientation (pitch and roll) when creating apps
  • Use the data event to continually update an element's properties.

CSTA standards

2-AP-112-AP-132-AP-172-AP-192-CS-012-CS-022-CS-03

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Prepare a board and USB cable for each pair of students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L12Functions45 min

Overview

This lesson introduces students to functions as way to organize and group repeated blocks of code together. Then, students learn how to use parameters in their functions as a way to generalize behaviors to work for different contexts. Students will use these concepts in future lessons, and it may be necessary to return to this lesson to reference the resources and videos.

Question of the Day: How can I use functions to organize and simplify my code?

Objectives

  • Use functions to organize repeated blocks of code
  • Use parameters to generalize the purpose of a function

CSTA standards

2-AP-112-AP-132-AP-142-CS-022-CS-03

Agenda

Warm Up 5 min
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Prepare a board and USB cable for each pair of students
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L13Mini-Project - Interactive Pet90 min

Overview

In this lesson, students create an interactive "pet" using the sensors on the micro:bit, the LED Display to represent expressions, and physical materials. Students explore how the micro:bit can augment physical materials to create an interactive experience. This project does not use the App Lab screen except to help with debugging - otherwise, users only interact with the interactive pet itself.

Objectives

  • Create a project that combines output from the micro:bit with physical materials
  • Create a project that seamlessly integrates the micro:bit with physical materials

CSTA standards

2-AP-112-AP-132-AP-142-AP-152-CS-012-CS-022-CS-03

Agenda

Warm Up 10 min
Activity 75 min
(Optional) Gallery Walk
Wrap Up 5 min
Reflection

Preparation

  • Review the Project Guide and Rubric to understand the scope of the project.
  • (Optional) You may decide to show one of these projects to students to help spark ideas.
  • Gather prototyping materials, such as:
  • Structural material (cardboard, construction paper, etc)
  • Connective material (tape, glue, hot glue, etc)
  • Construction tools (scissors, staplers, etc)
  • Other materials (cups, binder clips, paper plates, etc)
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L14Physical Outputs and LEDs90 min

Overview

In this lesson, students learn how to attach external LEDs to their micro:bit and use code to light up these LEDs. This allows students to create more flexible devices that mimic real-world products. This lesson requires several external materials, as well as safety protocols to ensure students don’t accidentally damage their micro:bit.

Question of the Day: How can I use external LEDs to create physical prototypes?

Objectives

  • Create and debug a circuit with an LED
  • Create prototype devices that control an LED with code

Vocabulary

Circuit
A device that provides a path for an electric current to flow, often modifying that current. In computers, circuits allow for simple logical and mathematical operations using electricity.
Prototype
A first or early model of a product that allows you to test assumptions before developing a final version.

CSTA standards

2-AP-112-AP-192-CS-022-CS-032-IC-21

Agenda

Warm Up 5 min
Activity 80 min
Wrap Up 5 min

Preparation

  • Prepare circuit wiring materials, such as:
  • Alligator clip wires
  • LEDs
  • Other conductive material (wire, paper clips, foil, etc)
  • (optional) Buttons or switches
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L15Physical Inputs and Buttons90 min

Overview

In this lesson, students learn how to connect external wires to create input events when the wires touch, simulating a button press. Students learn to use code to recognize these external button events to make changes to their app. This allows students to create more flexible devices that mimic real-world products. This lesson requires several external materials, as well as safety protocols to ensure students don’t accidentally damage their micro:bit.

Question of the Day: How can I use external buttons to create physical prototypes?

Objectives

  • Create and debug a circuit with a button
  • Create prototype devices that use an external button for input

CSTA standards

2-AP-102-AP-112-AP-142-AP-192-CS-022-CS-032-IC-21

Agenda

Warm Up 5 min
Activity 80 min
Wrap Up 5 min

Preparation

  • Prepare circuit wiring materials, such as:
  • Alligator clip wires
  • LEDs
  • Other conductive material (wire, paper clips, foil, etc)
  • (optional) Buttons or switches
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L16Project - Prototype an Innovation225 min

Overview

In this final project for the course, students team to develop and test a prototype for an innovative computing device based on the micro:bit. Using the inputs and outputs available on the board, groups will create programs that allow for interesting and unique user interactions.

Objectives

  • Implement a plan for developing a piece of software that integrates hardware inputs and outputs
  • Independently scope the features of a piece of software
  • Prototype a physical computing device

CSTA standards

2-AP-102-AP-112-AP-122-AP-132-AP-152-AP-162-AP-172-AP-182-AP-192-CS-012-CS-022-CS-03

Agenda

Warm Up 5 min
Review Project Guide
Activity 210 min
Define - Scope Innovation · Prepare - Complete Project Guide · Try - Develop Prototypes · Reflect - Peer Review · Iterate - Revise Prototypes
Wrap Up 10 min
Share
Extensions
Pitch Video · Marketing Website · Crowdfunding Campaign

Preparation

  • Collect materials for physical prototyping, eg.
  • Cardboard
  • Scissors
  • Tape
  • Glue
  • Foil
  • Print a copy of the project guide for each pair of students
  • Print a copy of the peer review sheet for each student
  • Print a copy of the rubric for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
Unit 7

AI & Machine Learning

optional22 lessons1170 min~26 days31 CSTA
L0Intro to App Lab45 min

Overview

This unit assumes students are already familiar with App Lab, so we recommend starting with the App Lab Hour of Code which is included in this lesson. If your students are already familiar with App Lab, you may decide to skip this lesson, which requires hiding it from students in the unit overview page. Click here to learn more about hiding this lesson, allowing your classes to start right away with Physical Computing

This tutorial is designed to quickly introduce the App Lab programming environment as a powerful tool for building and sharing apps. The tutorial itself teaches students to create and control buttons, text, images, sounds, and screens in JavaScript using either blocks or text. At the end of the tutorial, students are given time to either extend a project they started building into a "Choose Your Own Adventure", "Greeting Card", or "Personality Quiz" app. They can also continue on to build more projects featured on the code.org/applab page.

Objectives

  • Build and share their own apps in App Lab using features like buttons, text, images, sound, and screens.

CSTA standards

2-AP-12

Agenda

Before The Lesson
Preparing for the Unit
Warm Up 5 min
Introduction
Activity 35 min
Intro to App Lab
Wrap Up 5 min
Celebrate and Keep Going!

Preparation

  • Review and complete the online tutorial yourself
  • Print one or more of the Exit Ticket examples at the end of this lesson plan, or create your own.
L1Introduction to Machine Learning45 min

Overview

In this lesson students are introduced to a form of artificial intelligence called machine learning and how they can use the Problem Solving Process to help train a robot to solve problems. They participate in three machine learning activities where a robot - A.I. Bot - is learning how to detect patterns in fish.

Question of the Day: How can we use the Problem Solving Process to solve a problem with machine learning?

Objectives

  • Apply the Problem Solving Process to train a computer to solve a problem

Vocabulary

Machine Learning
How computers recognize patterns and make decisions without being explicitly programmed

CSTA standards

3-A-ii.3-53-A-iv.3-52-AP-172-IC-21

Agenda

Before the Lesson
Preparing for the Unit
Warm Up 10 min
Journal
Activity 30 min
Level 1 - Recognizing Fish · Level 2 - Recognizing Fish Features · Level 3 - Recognizing Fish Expressions
Wrap Up 5 min
Reflection · Journal

Preparation

  • Review the Code Studio levels before the lesson
  • Print copies of the activity guide for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L2Types of Machine Learning45 min

Overview

In this lesson students will consider how they create “mental” models when learning new concepts, and how those can be similar to a “machine learning” model. They participate in a color pattern activity to simulate building a machine learning model without help, then they play a game called "Green Glass Door" as an example of supervised learning, and finally, they will sort several scenarios into “supervised” or “unsupervised” learning.

Question of the Day: What are different types of machine learning?

Purpose

  • Review the Code Studio levels before the lesson so you know how to play the game called “the Green Glass Door”
  • Print or prepare to share online copies of the activity guide for each student

Objectives

  • Describe the differences between supervised and unsupervised learning.

Vocabulary

Features
The inputs that a model uses to make decisions
Label
the output you are trying to decide or predict with a model
Model
a computer program designed to make a decision
Supervised Learning
When a human trains a model to learn with examples
Training
giving examples to a model so it can learn
Unsupervised Learning
Finding patterns in data that doesn't have any labels

CSTA standards

3-A-i.6-83-A-i.9-12

Agenda

Warm Up 5 min
Journal Prompt
Activity 35 min
Unsupervised Learning · Supervised Learning · Supervised and Unsupervised Learning
Wrap Up 5 min
Journal

Preparation

  • Review all materials for today’s lesson.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L3Innovations in AI45 min

Overview

In this lesson, students explore an application of AI called Seeing AI and examine how it is supporting people with visual impairments. Then, students research other examples of how AI is impacting society, focusing on users who are impacted by the examples they find. Finally, students share their findings with each other.

Question of the Day: How is AI helping to solve problems around the world?

Objectives

  • Describe how Artificial Intelligence is having an impact on society

CSTA standards

2-IC-20

Agenda

Before the Lesson
Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min

Preparation

  • Print copies of the activity guide for each student
  • Prepare to digitally distribute the AI Research Areas resource to students.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers

Assessment

1) Describe how Artificial Intelligence is having an impact on society

See the activity guide for this lesson as a way to measure each step of the problem solving process.

L4Patterns in Data45 min

Overview

In this lesson students will examine several apps that make decisions about what shoes to wear, ultimately building up to an understanding of how machine learning can help make this decision. Students are guided to the conclusion that surveying their users can help them make the best decision by looking for patterns in the data and basing their decisions on these patterns.

Question of the Day: What strategies do computer models use to make decisions?

Objectives

  • Describe how a model makes a decision (for example: with randomness, or a decision tree, or using data)
  • Look for patterns in data to help make a decision

CSTA standards

3-A-ii.K-23-C-i.K-22-DA-09

Agenda

Warm Up 5 min
Journal
Activity 35 min
Shoe Recommender · Improved Shoe Recommender · Shoe Recommendation Survey
Wrap Up 5 min
Journal

Preparation

  • Review the Code Studio levels before the lesson
  • Print copies of the activity guide for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L5Classification Models45 min

Overview

In this lesson students will participate in an unplugged activity simulating one of the machine learning algorithms computers use to separate data into groups to help make decisions. Students will be tasked with helping a computer learn to classify food as fruits or vegetables, graph 20 different fruits on two axes comparing “sweetness” to “easy to eat”, and then try to separate the data into groups - a fruit area, and a veggie area.

Question of the Day: How do computers learn to classify data?

Objectives

  • Explain how computers can separate data to make a decision

Vocabulary

Categorical Data
data that can be separated into groups
Classification
predicting a category based on other features

CSTA standards

3-A-ii.3-53-A-iii.6-83A-DA-12

Agenda

Warm Up 5 min
Journal
Activity 35 min
Creating Our Model · Testing Our Model
Wrap Up 5 min
Journal

Preparation

  • Review all materials for today’s lesson.
  • Cut out fruit & veggie cards - one set of cards for each group
  • Ruler or straightedge for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L6Introduction to AI Lab45 min

Overview

In this lesson students will dive into the AI Lab tool for the first time, where they select features to train a model that predicts a given label. They start by exploring AI Lab and training a model to recognize shapes. Then they pretend they have been hired by several restaurants who would like to make recommendations to new customers based on survey data they’re collected, go through each dataset, and use data visualization tools to identify features with high relationships in the data.

Question of the Day: How can we use machine learning to make recommendations?

Objectives

  • Use AI Lab to select features to train a model
  • Use data visualization tools to decide which features to include when training a model

CSTA standards

3-A-i.6-83-A-iii.6-83-C-i.3-53-C-i.6-82-AP-173A-DA-123B-DA-05

Agenda

Warm Up 5 min
Journal
Activity 35 min
Recognizing Shapes · Restaurant Recommendations
Wrap Up 5 min
Journal

Preparation

  • Review the Code Studio levels before the lesson
  • Watch the two videos in this lesson and be familiar with AI Lab
  • Print or prepare to share online copies of the activity guide for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L7Importing Models in App Lab45 min

Overview

In this lesson students are introduced to importing their models into App Lab and linking their model to their screens. They help create a book recommendation app and learn how to add a welcome screen and events to their code. This lesson assumes students are already familiar with App Lab - for classrooms that have not seen App Lab before, consider extending this lesson and including additional videos or activities that are recommended in the lesson plan.

Question of the Day: How can I create an app using machine learning?

Objectives

  • Add screens and events in App Lab
  • Create an app that uses machine learning

CSTA standards

2-AP-132-IC-213A-AP-16

Agenda

Warm Up 5 min
Pre-Work · Journal
Activity 35 min
Survey Analysis · Importing a Model
Wrap Up 5 min
Journal

Preparation

  • Review the Code Studio levels before the lesson so you will be familiar with importing a model into App Lab
  • Decide if you would like to provide additional resources for students to become familiar with App Lab, as outlined in the lesson plan.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L8Model Cards45 min

Overview

In this lesson, students will investigate a model for bias and be introduced to a Model Card, which is a way of representing important information about a trained model that could help uncover bias. They will be investigating a Medical Priority app, which helps a hospital decide how soon to view patients based on their symptoms. As students go through the activity, they realize that the app is biased based on personal information and examine how this could happen.

Question of the Day: How can we evaluate machine learning models once they've been trained?

Objectives

  • Read a model card and use it to evaluate a model

Vocabulary

Bias
When a decision favors some things and de-prioritizes or excludes others

CSTA standards

3-A-iii.3-53-C-i.9-123-C-iii.3-53-C-iii.6-82-IC-213A-IC-25

Agenda

Warm Up 5 min
Journal
Activity 35 min
Medical Priority App · Prompt 1 · Prompt 2 · Analyzing Model Cards
Wrap Up 5 min
Journal

Preparation

  • Review the Code Studio levels before the lesson
  • Anticipate how you will guide the discussion on racial and gender bias, considering that some students may have experiences similar to those discussed in this lesson.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L9Saving Models in AI Lab45 min

Overview

Students complete the full process of training and saving a model, then importing into App Lab. For the first time, students are able to choose the label they would like to predict and spend time deciding the features they will use to help predict their label of choice. Students also create a model card for their models in order to save them and import it into App Lab

Question of the Day: How can I use Model Cards to document my decisions when training a machine learning model?

Objectives

  • Create model cards in AI Lab to save machine learning models
  • Use data visualizations and feature iteration to train machine learning models

CSTA standards

3-A-iii.6-83-C-i.3-53-C-i.6-82-AP-193A-DA-123B-DA-05

Agenda

Warm Up 5 min
Journal
Activity 35 min
Model Cards in AI Lab · Zoo Predictions · Importing Your Model
Wrap Up 5 min
Journal

Preparation

  • Review the Code Studio levels before the lesson to be familiar with investigating columns in AI Lab and training their model
  • Print copies of the activity guide for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L10Model Cards in App Lab45 min

Overview

In this lesson, students practice importing their models into App Lab, this time including models that have numerical data and using model cards to help improve the user experience of filling out their form. They will then learn how to view the model card within App Lab and use this to add more descriptive elements to an app. Next, they focus on improving the user experience by adding informational text to help guide users through completing the form and adding a style to their app to improve the user experience.

Question of the Day: How can I use a Model Card to improve my app?

Objectives

  • Use a model card to update the user interface of an app
  • Use if-statements to change the behavior of an app

CSTA standards

2-AP-112-AP-122-AP-132-AP-19

Agenda

Warm Up 5 min
Journal
Activity 35 min
Model Cards in Apps (15 mins) · If-Statements in Apps
Wrap Up 5 min
Journal

Preparation

  • Review the Code Studio levels before the lesson
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L11Numerical Models45 min

Overview

In this lesson, students participate in an unplugged activity simulating a zombie outbreak. Students must predict which parts of town have the least amount of zombies using data from a neighboring town. Students will use degrees of similarity and averages to make predictions about the number of zombies at a particular location. Then, students are rescued and get to compare their predictions to the actual numbers as a way to discuss how accuracy is different for numerical data compared to categorical data.

Question of the Day: How do computers learn to make predictions with numerical data?

Objectives

  • Explain how accuracy calculation for numerical data is different from categorical data
  • Explain how computers can make decisions by comparing similarities in data

CSTA standards

3-A-ii.3-53-A-iii.3-53A-DA-12

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Review all materials for today’s lesson.
  • Print or prepare to share online the activity guide - one per student or group.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L12Numerical Data in AI Lab45 min

Overview

In this lesson, students will be introduced to numerical data which represents a range of values. Students are presented with a scenario where every feature and label is represented with numerical data, and they learn to use the new data visualization tools within AI Lab to help find patterns.

Question of the Day: How can we use AI Lab to predict numerical data?

Objectives

  • Compare and contrast categorical data versus numerical data
  • Use data visualizations to find patterns in numerical data

Vocabulary

Numerical Data
data that can be counted or measured

CSTA standards

3-A-iii.6-82-AP-173A-DA-123B-DA-05

Agenda

Warm Up 5 min
Journal
Activity 35 min
Categorical vs Numerical · Investigating Data · Feature #1: Antelopes · Feature #2: People · Feature #3: Day of the Month · Feature #4: Temperature · Training a Model
Wrap Up 5 min
Journal

Preparation

  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L13Customizing Apps45 min

Overview

In this lesson, students will explore how to customize the code of their app to make additional changes to the design of their app. They will start by exploring a single-screen app and then practice expanding the app to two-screens and updating the code to use the new design mode elements. After this, students help create a Driver Alert app that requires changes to the code using new design mode elements. Using the skills from this lesson, students will be able to create multi-screen apps where questions can appear on multiple screens instead of a single screen.

Question of the Day: How can I customize the code for a machine learning app?

Objectives

  • Update the default model code to use new inputs in a machine learning app
  • Use the Model Card to create new input elements for a machine learning app

CSTA standards

2-AP-112-AP-132-AP-19

Agenda

Warm Up 5 min
Journal
Activity 35 min
Driver Alert System
Wrap Up 5 min
Journal

Preparation

  • Review the Code Studio levels before the lesson to be familiar with changing the input element
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L14AI Code of Ethics45 min

Overview

In small groups, students conduct research using articles and videos that expose ethical pitfalls in an Artificial Intelligence (AI) area of their choice. Afterward, each group develops at least one solution-oriented principle that addresses their chosen area. These principles are then assembled into a class-wide “Our AI Code of Ethics” resource (e.g. a slide presentation, document, or webpage) for AI creators and legislators everywhere.

Question of the Day: What are guidelines we can use to create ethical machine learning apps?

Objectives

  • Create at least one guiding principle that addresses an AI ethics issue.
  • Define artificial intelligence (AI) in their own words, using technologies they encounter in their daily lives as examples.
  • Describe at least one example of an ethical issue pertaining to AI, along with its impact on society.

Vocabulary

Ethics
guidelines for good behavior.

CSTA standards

2-IC-213A-IC-24

Agenda

Warm Up 5 min
Journal
Activity 35 min
Research and Reflect · Draft “Our AI Code of Ethics” Resource
Wrap Up 5 min
Journal
Extension Activities
Ethics in AI · Critically Conscious AI

Preparation

  • Prepare to share online one AI Ethics Research Areas handout per group.
  • Print or prepare to share online one AI Ethics Research Reflection handout per group.
  • Prepare a shareable web document, slide presentation, video template, or any other form of media to be used to comprise your class’ “Our AI Code of Ethics” resource.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L15Project - Make a Machine Learning App45 min

Overview

In this one or two day project, students apply their skills from the unit so far and create a machine learning app using real-world data. Students are provided with several real-world datasets from a variety of contexts, and they choose which dataset they would like to investigate. They train and save their model, then make a simple App Lab app that uses the model. This mini-project is an opportunity to assess how well students can use features to create accurate machine learning models, and how well they can create apps that use machine learning.

Question of the Day: Can I use real-world data to create an app that uses machine learning?

Objectives

  • Create a machine learning model using a real-world dataset
  • Create an app that uses a machine learning model

CSTA standards

3-A-ii.9-123-A-iii.6-83-C-i.6-83-C-iii.6-82-AP-193A-DA-123B-DA-05

Agenda

Warm Up
Get Started
Activity 40 min
Wrap Up 5 min
Submit Projects · (Optional) Why AI Matters · Reflection

Preparation

  • Review the Code Studio levels before the lesson
  • Print copies of the activity guide for each student
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L16Issue Statements45 min

Overview

This is the first of a five-day sequence of lessons that prepare students for the final project. In this lesson, students meet a team of fictional students who want to use machine learning to address an issue in their community. Students participate in an issue brainstorm using the 5 Why's strategy, then they help evaluate the ideas that the other student team came up with. The steps students take in this lesson are identical to the steps students will take in their final project.

Question of the Day: How can machine learning be used to address an issue in your community?

Objectives

  • Develop a problem observation into a core issue using brainstorming strategies

CSTA standards

3-A-iv.9-122-AP-15

Agenda

Preparing for the Week
Warm Up 5 min
Journal
Activity 35 min
Issue Statement · App Brainstorm
Wrap Up 5 min
Journal

Preparation

  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L17Survey Planning45 min

Overview

This is the second in a five-day sequence of lessons that prepare students for the final project. In this lesson, students learn that the other team of students would like to create a club recommender app based on the clubs at their school. Students imagine what questions would be most useful to help make this recommendation, then they learn how to use a Google Form template to create a survey. The steps students take in this lesson are identical to the steps students will take in their final project.

Question of the Day: How can I create a survey to gather data for a machine learning app?

Objectives

  • Develop survey questions that can be used to create a machine learning app
  • Use a template to create a Google Form survey

CSTA standards

3-A-iv.9-123-C-i.K-23-C-iii.6-82-AP-152-IC-22

Agenda

Warm Up 5 min
Journal
Activity 35 min
Designing Questions · Creating a Form
Wrap Up 5 min

Preparation

  • Print copies of the activity guide for each student
  • Review the video on how to use a template to create a Google Form
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L18Survey Data in AI Lab45 min

Overview

This is the third in a five-day sequence of lessons that prepare students for the final project. In this lesson, students learn how to view survey data in Google Sheets and save the data to their computer as a csv file. Then, they upload the saved data to AI Lab and examine the survey results from one of the students to train a model using their data. Then, students use Google Sheets to examine data from another student where the data has errors and then try to fix the errors. The steps students take in this lesson are identical to the steps students will take in their final project, and the problem-solving strategies they develop will help them overcome challenges in their own final project.

Question of the Day: How can I import data into AI Lab to train a machine learning model?

Objectives

  • Analyze and clean data in Google Sheets
  • Download a csv file from Google Sheets
  • Upload a csv file to AI Lab

CSTA standards

3-A-iii.6-83-A-iv.9-123-C-i.6-83-C-i.9-122-AP-192-DA-082-IC-223A-DA-12

Agenda

Warm Up 5 min
Survey
Activity 35 min
Wrap Up 5 min

Preparation

  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L19Troubleshooting Models45 min

Overview

This is the fourth of a five-day sequence of lessons that prepare students for the final project. In this lesson, students examine survey data from other members of the student team and analyze why their models are not working correctly. In examining the data, students develop strategies for avoiding these issues in the future and strategies for coping with these issues should they happen again. These are skills students will use in the final project as they develop their own surveys and collect data.

Question of the Day: What are strategies to make sure our data generates an accurate model?

Objectives

  • Explain how choices in data collection can lead to issues when training a machine learning model

CSTA standards

3-A-iv.9-123-C-iii.3-53-C-iii.6-82-AP-152-IC-212-IC-22

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L20Creating an App45 min

Overview

This is the fifth of a five-day sequence of lessons that prepare students for the final project. In this lesson, students import the club recommender app into App Lab and begin customizing the app. Students add a welcome screen and update the descriptions of each feature, then they can decide how they would like to further customize the app. The steps students take in this lesson are identical to the steps students will take in their final project.

Question of the Day: How can I create a friendly, easy-to-use machine learning app?

Objectives

  • Create an app that uses machine learning

CSTA standards

2-AP-112-AP-122-AP-13

Agenda

Warm Up 5 min
Journal
Activity 35 min
Wrap Up 5 min
Journal

Preparation

  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers
L21Project - Design an AI App225 min

Overview

To conclude this unit, students develop an AI app that addresses the social issue of their interest. Students follow a project guide to complete this multi-day activity. In the first step, students prepare the data they will use to train their model in AI Lab. After training, testing, and generating a model card, they export their model into App Lab for development. Here they use their model to create a user-friendly app. Students perform a peer review and make any necessary updates to their projects while reflecting on the outcome.

Question of the Day: How can I create an AI App the solves a problem in my community?

Objectives

  • Apply the Problem Solving Process to create an AI for Social Good App

CSTA standards

3-A-ii.9-123-A-iii.6-83-A-iv.9-123-C-i.6-83-C-iii.6-82-AP-112-AP-122-AP-132-AP-192-DA-082-IC-223A-DA-123B-DA-05

Agenda

Day 1 45 min
Warm Up · Activity · Step 1 - Choose an Issue Statement · Step 2 - App Planning · Wrap Up
Day 2 45 min
Warm Up · Step 3 - Plan Your Data Collection · Step 4 - Create Your Survey · Wrap Up
Day 3 45 min
Warm Up · Step 5 - Data Reflection · Step 6 - Train Your Model · Wrap Up
Day 4 45 min
Warm Up · Step 7: Develop Your App · Step 8 - Test and Reflect · Wrap Up
Day 5 45 min
Warm Up · Step 8 - Test and Reflect · Wrap Up · Reflection · Teacher End-Of-Unit Survey
After the Lesson
End-Of-Course Survey

Preparation

  • Print copies of the Project Guide.
  • Print copies of the Rubric.
  • Print copies of the Peer Review Guide.
  • Check the "Teacher's Lounge" forum for verified teachers to find additional strategies or resources shared by fellow teachers

Open Decisions

  • AI/ML Unit
  • Module Format
  • Canvas Layout

Assessment, Grading & Submission — Decisions (SY2026-27)

Grounded in MCPS Regulation IKA-RA; § refs cite the master regulation. The model gives a daily routine plus daily teacher/parent visibility (Synergy/ParentVue) at low teacher burden.

Grade categories & weighting

  • All Tasks / Assessments — mastery evidence. Min 9 per MP. ≈ 90% of the grade.
  • Practice / Preparation — completion-graded. Min 5 per MP. ≤10% of the grade (§6a).
  • No single task > 25% of the MP grade (§8d).
  • Daily items = light points. Projects = heavy points.

Daily items — every teaching day

  • Warmup → Practice/Prep, completion. 2–3 question retrieval quiz spiraling prior content; a bare "read the instructions" check on pure-logistics days. Canvas auto-quiz.
  • Exit ticket → All Tasks, accuracy. 2–3 questions on the day's objective. Canvas auto-quiz. The primary daily monitor.

Lesson work

  • Graded only on lessons with a real artifact (~1–2/week): Practice/Prep, completion.
  • All other lessons run as ungraded practice.

All Tasks tiers (point-weighted)

  • Daily exit tickets — high volume, light points.
  • Checkpoints / unit assessments — medium points. Reassessable ("R", §F.4); ~2–3 per MP, carrying the ≥2 reassessment opportunities.
  • Unit projects — heavy points, culminating.

Grading rules

  • POINTS grading type on every Canvas assignment — the only type that records the 50% floor.
  • 50% floor (§9a): a genuine attempt scoring toward the standard earns ≥50%. Both categories.
  • Blank / no genuine attempt = 0 (§9c-ii).
  • Missing = "Z" (still submittable) → 0 after the deadline plus documented support (§9e). Zero also for academic dishonesty (§8).
  • Auto-graded quizzes: bump a genuine sub-50 attempt up to 50%.

Submission model

  • Canvas = the single submission hub. One door, student's responsibility.
    • Digital work → screenshot to Canvas (Chromebook-native).
    • Paper / physical (worksheets, robots) → in-person check-off — Canvas "On Paper" assignment, graded in points; student initiates the check.
  • Code.org = backstop/reference — dispute source-of-truth, checkpoint data.

Due dates, deadlines, late work (§7c)

  • Due date ≠ deadline. Deadline defaults to 5 school days after the due date (cap 10). Canvas: Due = due date, Available Until = deadline.
  • No late work in the final 5 school days of the MP.
  • Canvas auto Late Policy OFF. Late penalties applied by hand:
    • Daily items — no late penalty. Full/floor within the window, else Z.
    • Major items — ≤10% one-time dock, by hand.
  • Excused-absence makeup is penalty-free (makeup required regardless of reason).
  • 50% floor beats any late deduction.

Reporting

  • Canvas → Synergy sync = teacher button-click; run it end of each day — the reporting heartbeat → ParentVue updates overnight.
  • Canvas gradebook = 2 assignment groups ("All Tasks", "Practice/Preparation") mirroring the Synergy categories.

Open sub-decisions (PLC to set)

  • Admin ruling: confirm the 50% floor beats the late deduction, for four-room consistency.

Long Range Planning

  • Collapseable Quaters/Semesters based on todays date (auto hide sections that have past)

ToDo's

  • Warm Up Template
  • Quiz Template — exit-ticket + warmup bank, per lesson, auto-graded
  • Home Page
  • Syllabus
  • Resource Pages
  • Modules
  • Late-work guideline one-pager — windows per item type, late-vs-makeup, Canvas settings
  • Per-unit All Tasks map — checkpoints / assessment / project, ≥9 AT per MP, vs pacing calendar
  • Canvas setup — 2 assignment groups mirroring the Synergy categories