Problem Solving and Computing
Overview
The Problem Solving and Computing module is a highly interactive and group-based introduction to computer science that frames it within the larger goal of problem-solving.
Students get to go through a variety of puzzles, challenges, and real-world situations while practising a problem solving technique.
Students then discover how computers input, output, store, and process data to help people in solving issues. The final project of the module requires students to create an application to assist in the solving a problem of their choosing.
Big Questions
Chapter 1 - The Problem Solving Process
What strategies and processes can I use to become a more effective problem solver?
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?
Lessons
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.
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 problem from the previous lesson, then to a problem they are good at solving, then to 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.
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.
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” categories 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.
In this lesson, the class considers how computers get and give information to the user through inputs and outputs. After first considering what information they would need to solve a “thinking problem”, the class identifies the inputs and outputs to that process. Afterwards, they explore a series of apps and determine the inputs and outputs for each one.
This lesson introduces four types of processing that the class will use throughout the course. Through a series of apps, the class explores how processing is used to turn input into output. In the end, the class brainstorms more types of app processing that would be useful
This lesson covers the last part of the chapter’s model of computing: storage. The class interacts with several different apps, determining which information should be stored for later and why. The input-output-storage-processing model of computing is then presented in full, and the class reflects on how various apps use each of the components, and how the model impacts whether or not something should be considered a computer.
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 where students highlight the features of their apps. The project is designed to be completed in pairs, though it can be completed individually.