# Unit 1 - Problem Solving - Computers and Logic

This unit 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. They then explore how computers represent and process information in order to solve certain kinds of problems. The unit concludes with students designing an application that could help address 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

#### In this lesson, 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.

#### Teacher Links: Student Links: Activity Guide

### Lesson 2: The Problem Solving Process

#### 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 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 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: Student Links: Activity Guide

### Lesson 3: Exploring Problem Solving

#### 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 plan a roadtrip. 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.

#### Teacher Links: | 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 successfully solved, both in the classroom and everyday life. By working through a diverse set of probems, such as logic puzzles, engineering challenges, and planning a road trip, students will 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 students will develop 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.

#### Teacher Links: Student Links: Activity Guide

### Lesson 5: Representing Information

#### In this lesson students will represent information using a deck of cards. They will first use playing cards to store yes or no answers to a series of questions. Next, they will create a set of rules to represent the letters of their initials with a card or sequence of cards, then allow another group to retrieve the text using those rules. Last, students will modify their rules so that they can store any short piece of text using only two states (face up and face down), in a reflection of the computer’s use of binary. They will have the opportunity as before to test their rules by allowing another group to retrieve the text stored in the cards. By the end of this lesson, students should understand that there are many ways to represent information and that information in a computer is represented using binary states.

#### Teacher Links: Student Links: Activity Guide

### Lesson 6: Processing with Bits

#### In this lesson, students continue to build an understanding of how computers represent information, and learn more about how to process information on the bit level. They will begin by using the pixel filtering tool in Code Studio to explore how pixels on a screen and combinations of bits either in an on or off state can represent different colors. As they progress through levels in Code Studio, students will process the colors in given images by applying different filters to see how the filters affect the output images. The lesson concludes with students applying filters to process images that they have created.

#### Teacher Links: | Answer Key Student Links: Activity Guide

### Lesson 7: Human vs. Computer Processing

#### In this lesson, students complete a series of unplugged activities that explore the way information is processed by a computer. To begin, students race to sort a deck of cards as a team. Groups will iteratively improve their sorting strategy and reflect on what types of approaches lead to the best results. Afterwards, students will attempt to solve a related but more restricted problem in which they are sorting a small row of cards, in a reflection of the constraints of computer sorting. The lesson concludes with a discussion about how the problem was solved differently with the added restrictions and how it was easier to compare the efficiency of approaches in this restricted context.

#### Teacher Links: Student Links: Activity Guide

## Week 3

### Lesson 8: Processing with Apps

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

#### Teacher Links: Student Links: Activity Guide

### Lesson 9: Apps and Problem Solving

#### To conclude their study of the problem solving process and the input/output/store/process model of a computer, students will propose an app designed to solve a real world problem. This project will be completed across multiple days and will result in students creating a poster 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.

#### Teacher Links: Student Links: Project Guide | Peer Review | Rubric

## Chapter Commentary

Now that students have a grasp of general problem solving approaches they will move on to thinking about computers as a machine that solves information problems. Students will begin by building a common definition for a computer that focuses on its ability to store and process information. They then explore the differences in how humans and computers approach problems, from representing information to using it to acheive a particular goal. This exploration begins at the level of individual bits but moves all the way up to apps they use every day. For their final project, students propose an app that could be used to solve a problem of their choosing.