Unit 1 - Problem Solving

Unit 1 is a highly interactive and collaborative introduction to the field of computer science, as framed within the broader pursuit of solving problems. Through a series of puzzles, challenges, and real world scenarios, students are introduced to a problem solving process that they will return to repeatedly throughout the course. Students then learn how computers input, output, store, and process information to help humans solve problems. The unit concludes with students designing an application that helps solve a problem of their choosing.

Chapter 1: The Problem Solving Process

Big Questions

  • What strategies and processes can I use to become a more effective problem solver?

Week 1

Lesson 1: Intro to Problem Solving


The class works in groups to design aluminum foil boats that will support as many pennies as possible. At the end of the lesson groups 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.

Teacher Links: Exemplar Student Links: Activity Guide

Lesson 2: The Problem Solving Process


This lesson introduces the formal problem solving process that the class will use over the course of the year, Define - Prepare - Try - Reflect. The class relates these steps to the aluminum boats problem 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.

Teacher Links: Graphic Student Links: Activity Guide

Lesson 3: Exploring Problem Solving


In this lesson the class applies the problem solving process to three different problems: a word search, a seating arrangement for a birthday party, and planning a trip. The problems grow increasingly complex and poorly defined to highlight how the problem solving process is particularly helpful when tackling these types of problems.

Teacher Links: Key | Website Student Links: Activity Guide

Chapter Commentary

This chapter guides students to develop and adopt a more formal structured problem solving process by reflecting on problems they have problems they have encountered, both in the classroom and everyday life. By working through a diverse set of problems, such as logic puzzles, engineering challenges, and planning a trip, students learn to identify different classes of problems, decompose large problems, and develop their personal problem solving skills.

Chapter 2: Computers and Problem Solving

Big Questions

  • How do computers help people to solve problems?
  • How do people and computers approach problems differently?
  • What does a computer need from people in order to solve problems effectively?

Week 2

Lesson 4: What is a Computer?


In this lesson the class develops a preliminary definition of a computer. After brainstorming the possible definitions for a computer, the class works in groups to sort pictures into “is a computer” or “is not a computer” on poster paper and explain their motivations for choosing some of the most difficult categorizations. The teacher then introduces a definition of the computer and allows groups to revise their posters according to the new definition.

Teacher Links: Video | Graphic | Exemplar Student Links: Activity Guide

Lesson 5: Input and Output

In this the class students consider a number of computing devices to determine what types of inputs and outputs they use. Groups are assigned to a computing device and based on a teacher-provided definition of input and output, list the inputs and outputs of their device. To conclude the lesson the class examines common activities they do on a computing device and select the inputs and outputs used for that activity from the chart.

Teacher Links: Exemplar Student Links: Activity Guide

Lesson 6: Processing


This lesson dives deeper into the concept of processing that was introduced as part of the definition of a computer. Pairs work together to puta deck of cards in order, a form of processing information. In the end, the class discusses what processing means within the context of solving information problems.

Teacher Links: | Exemplar Student Links: Activity Guide

Lesson 7: Storage

This lesson focuses on the storage component of the definition of a computer, within the content of processing information. The class spends the majority of the lesson developing and sharing algorithms to process information, with an emphasis on how much storage is needed for any particular algorithm. The lesson concludes with a discussion of the importance of storage while processing information.

Teacher Links: Exemplar Student Links: Activity Guide

Week 3

Lesson 8: Apps and Problem Solving


This lesson covers the input and output aspects of computers in a context that is relevant and familiar to students: apps. The class evaluates various web applications to analyze the specific problems that they were designed to solve, the inputs that they need to work, and the outputs they provide to users. The class concludes with observations of these apps as well as a teacher led discussion about the impact of apps on society.

Teacher Links: Key | Presentation Student Links: Resource | Activity Guide

Lesson 9: Project - Propose an App

Unplugged | Project

To conclude the study of the problem solving process and the input/output/store/process model of a computer, the class proposes apps designed to solve real world problems. This project is completed across multiple days and culminates in a poster presentation highlighting the features of each app. The project is designed to be completed in pairs though it can be completed individually.

Student Links: Project Guide | Peer Review | Rubric

Chapter Commentary

In the second half of the unit, students move on to thinking about computers as machines that solve information problems. Students begin by building a common definition for a computer that focuses on functionality instead of specific hardware. They then explore the ways that computers approach problems. For their final project, students propose an app that could be used to solve a problem of their choosing.