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.
- What strategies and processes can I use to become a more effective problem solver?
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
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: | Graphic Student Links: Activity Guide
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 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. 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: Website | Student Links: Activity Guide
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.
- 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?
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: | Video | Graphic Student Links: Activity Guide
In this lesson 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. Earlier in the activity students are prompted to focus on more obvious physical inputs and outputs (e.g. a keyboard as an input or a screen as an output) but later discussions lead students to consider less obvious examples (e.g. that a touch screen is both an input and output, or the fact that the Internet can serve as both input and output). Throughout the lesson the teacher records inputs and outputs that are identified on a T-Chart at the front of the room. To conclude the lesson students examine common activities they do on a computing device and select the inputs and outputs used for that activity from the chart.
Student Links: Activity Guide
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
In this lesson students develop an algorithm to process a small deck of cards, looking for the smallest, largest, second largest, and middle card. The lesson begins with a reflection on the kinds of storage students may already be familiar with a computer doing. The teacher then introduces today's focus on the importance of short term storage within the processing of information. Students spend the majority of the lesson developing and sharing algorithms to process information. The lesson concludes with a discussion of the importance of storage while processing information.
Student Links: Activity Guide
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
Unplugged | Project
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
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 achieve 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.