Unit 1 - Problem Solving - Computers and Logic
Chapter 2: Computers and Problem Solving
- 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.
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.
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.
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.
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.
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.
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.