Unit 6 - Physical Computing

In Unit 6, students further develop their programming skills while exploring the role of hardware platforms in computing. Harkening back to the Input and Output elements of the Input/Storage/Processing/Output model for a computing, students look towards current and “smart” devices to understand the ways in which different sensors can provide more effective input and output than the traditional keyboard, mouse, and monitor. Using App Lab and Adafruit’s Circuit Playground, students develop programs that utilize the same hardware inputs and outputs that students saw in the smart devices they explored earlier, and they get to see how a simple rough prototype can lead to a finished product. The unit concludes with a design challenge that asks students to use the Circuit Playground as the basis for an innovation of their own design.

Chapter 1: Hardware Output

Big Questions

  • How does software interact with hardware?
  • How can computers communicate information with simple hardware outputs?
  • How can programs be made to repeat tasks?

Week 1

Lesson 1: Innovations in Computing

Research | Unplugged

Explore a wide variety of new and innovative computing platforms while expanding your understanding of what a computer can be.

Student Links: Activity Guide | Video | Video

Lesson 2: Input Unplugged


Experience two different ways that an app can take input from a user, while learning more about the event-driven programming model used in App Lab.

Student Links: Activity Guide

Lesson 3: Event Types

App Lab

Review the basics of programming in App Lab and explore some new event types that can be used in your programs.

Teacher Links: Teacher Guide Student Links: Activity Guide

Week 2

Lesson 4: Getters and Setters

App Lab

By reading and changing the content on the screen of an app, the class starts to build apps that only need a single screen. Even with just one screen, these techniques allow for lots of user interaction and functionality.

Lesson 5: The Circuit Playground

App Lab | Maker Toolkit

Get to know the Circuit Playground, the circuit board that will be used throughout the rest of this unit. Using App Lab, develop programs that use the Circuit Playground for output.

Lesson 6: Lists

App Lab

Learn how lists can be used to store multiple values in a single variable name.

Week 3

Lesson 7: Color LEDs

App Lab | Maker Toolkit

Using the concept of lists from the previous lesson, the class writes programs that control the ten color LEDs on the Circuit Playground.

Lesson 8: For Loops

Unplugged | App Lab

The class learns about repeating instructions using a for loop, first by controlling a "robot" through a grid, and then in App Lab.

Student Links: Activity Guide

Lesson 9: Lists and For Loops

App Lab

Combining lists and for loops allows you to write code that impacts every element of a list, regardless of how long it is. The class uses this structure to write programs that process all of the elements in lists, include the list of color LEDs.

Week 4

Lesson 10: Timed Loops

App Lab | Maker Toolkit

In this lesson we build on students understanding of for loops to learn about a more sophisticated structure called a timed loop. Unlike for loops, you can control how quickly a timed loop repeats, and other code (such as event handlers) can be run between iterations of the loop. This allows us to create interesting animations that repeat infinitely, while still allowing other code to run alongside it.

Lesson 11: Project - Board Output

App Lab | Maker Toolkit | Project

Students take what they've learned through chapter one, and develop an app of their own design that uses the board to output information.

Student Links: Project Guide | Rubric

Chapter Commentary

This unit begins with a review of programming and an introduction to the event-driven model that students will use in the unit. Using the Circuit Playground, they explore ways to output information through the elements on the board. Students learn about for loops, lists, and timed loops to better control the output. In the chapter project, they create an app that uses the board to create an app that uses hardware as an output.

Chapter 2: Hardware Input

Big Questions

  • How can computers sense and respond to their environment?
  • How can complex real-world information be represented in code?
  • How can simple hardware be used to develop innovative new products?

Week 5

Lesson 12: Physical Input

App Lab | Maker Toolkit

Using the hardware buttons and switch, the class develops programs that use the Circuit Playground as an input.

Lesson 13: Analog Input

App Lab | Maker Toolkit

Explore the analog inputs on the Circuit Playground, writing programs that respond to the environment through sensors.

Student Links: Video

Lesson 14: Sensor Applications

App Lab | Maker Toolkit | Project

Work through three small apps to better understand the uses of the sensors from the previous lesson.

Student Links: Project Guide

Week 6

Lesson 15: Project - Prototype an Innovation

App Lab | Maker Toolkit | Project

Develop innovative computing devices of your own design, using everything you've learned throughout this course.

Student Links: Project Guide | Peer Review | Rubric

Chapter Commentary

Students transition from using hardware as simply a tool for output and begin using the buttons and sensors as a form of input for their programs. After exploring the different ways in which the board can be used for user interaction, students wrap up the course be designing and prototyping an innovative computing device of their own.