Search Resources

27 Results

View
Selected filters:
  • MI.CS.2.AP.10
Bringing Algorithms into the Classroom
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

Students will take a sequence of events or steps for some process and create an algorithm. This could apply to any content area. They will display the algorithm in flowchart form. This activity can be modified for all grade levels and content areas.

Subject:
Computer Science
Arts and Humanities
English Language Arts
Life Science
Mathematics
Physical Science
Material Type:
Activity/Lab
Author:
Cheryl Wilson
Date Added:
08/28/2020
CS Discoveries 2019-2020: Data and Society Lesson 5.14: Automating Data Decisions
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

In this lesson students look at a simple example of how a computer could be used to complete the decision making step of the data problem solving process. Students are given the task of creating an algorithm that could suggest a vacation spot. Students then create rules, or an algorithm, that a computer could use to make this decision automatically. Students share their rules and what choices their rules would make with the class data. They then use their rules on data from their classmates to test whether their rules would make the same decision that a person would. The lesson concludes with a discussion about the benefits and drawbacks of using computers to automate the data problem solving process.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: Data and Society Lesson 5.15: Project - Make a Recommendation
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

To conclude this unit, students design a recommendation engine based on data that they collect and analyze from their classmates. After looking at an example of a recommendation app, students follow a project guide to complete this multi-day activity. In the first several steps, students choose what choice they want to help the user to make, what data they need to give the recommendation, create a survey, and collect information about their classmates' choices. They then interpret the data and use what they have learned to create the recommendation algorithm. Last, they use their algorithms to make recommendations to a few classmates. Students perform a peer review and make any necessary updates to their projects before preparing a presentation to the class.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: Data and Society Lesson 5.8: Create a Representation
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

In this lesson students design a structure to represent their perfect day using the binary representation systems they've learned in this chapter. Students will first write a short description of their perfect day and then review with a partner to identify the key pieces of information they think a computer could capture. As a class students will decide how a punch card of bytes of information will be interpreted to represent those pieces of information. Students will then use the ASCII, binary number, and image formats they have learned to represent their perfect days. Students then trade punch cards and try to decode what the other student's perfect day is like. The lesson ends with a reflection.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: Interactive Animations and Games Lesson 3.22: Project - Design a Game
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

Students will plan and build their own game using the project guide from the previous two lessons to guide their project. Working individually or in pairs, students will first decide on the type of game they'd like to build, taking as inspiration a set of sample games. They will then complete a blank project guide where they will describe the game's behavior and scope out the variables, sprites, and functions they'll need to build. In Code Studio, a series of levels prompts them on a general sequence they can use to implement this plan. Partway through the process, students will share their projects for peer review and will incorporate feedback as they finish their game. At the end of the lesson, students will share their completed games with their classmates. This project will span multiple classes and can easily take anywhere from 3-5 class periods.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: Interactive Animations and Games Lesson 3.2: Plotting Shapes
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

Students explore the challenges of communicating how to draw with shapes and use a tool that introduces how this problem is approached in Game Lab. The warm up activity quickly demonstrates the challenges of communicating position without some shared reference point. In the main activity students explore a Game Lab tool that allows students to interactively place shapes on Game Lab's 400 by 400 grid. They then take turns instructing a partner how to draw a hidden image using this tool, accounting for many challenges students will encounter when programming in Game Lab. Students optionally create their own image to communicate before a debrief discussion.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: Physical Computing Lesson 6.12: Arrays and For Loops
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

Using a _for loop_ to iterate over all of the elements in an array is a really useful construct in most programming languages. In this lesson, students learn the basics of how a _for loop_ can be used to repeat code, and then combine it with what they've already learned about arrays to write programs that process all elements in an array. Students use for loops to go through each element in a list one at a time without having to write code for each element. Towards the end of the lesson students will apply this with the `colorLed` list on the board to create an app that changes all of the LEDs each time a button is clicked.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: Physical Computing Lesson 6.15: Circuits and Physical Prototypes
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

In preparation for this chapter's final project, students will learn how to develop a prototype of a physical object that includes a Circuit Playground. Using a modelled project planning guide, students will learn how to wire a couple of simple circuits and to build prototypes that can communicate the intended design of a product, using cheap and easily found materials such as cardboard and duct tape.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: Physical Computing Lesson 6.16: Project - Prototype an Innovation
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

In this final project for the course, students team to develop and test a prototype for an innovative computing device based on the Circuit Playground. Using the inputs and outputs available on the board, groups will create programs that allow for interesting and unique user interactions.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: Physical Computing Lesson 6.4: Input Unplugged
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

In preparation for delving deeper into programming with App Lab, students will explore how a handful of different programs written in both Game Lab and App Lab handle taking input from the user. After comparing and contrasting the approaches they saw in the example apps, students group up to act out the two different models for input (conditionals in an infinite loop and asynchronous events) to gain a better understanding of how they work.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: Problem Solving Lesson 1.6: Processing
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

Students complete two unplugged card sorting activities to explore the meaning of processing and its relationship to problem-solving. The first activity has few constraints and is used to introduce a high-level definition of processing. The next introduces more constraints that force students to develop an algorithm that will always successfully process the cards. Students iteratively develop, test, and share their algorithms with classmates. A wrap-up discussion has students reflect on the different types of problem-solving they used in these activities and the value of producing an algorithm to solve a problem.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: Problem Solving Lesson 1.7: Apps and Storage
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

This lesson reviews the input, output, storage, and processing aspects of a computer in a context that is relevant and familiar to students: apps. In pairs, students evaluate smartphone applications to analyze the specific problems that they were designed to solve, the inputs that they need to work, and the processing that turns those inputs into the desired output, and what information they would want to store for later. The class concludes with a discussion that connects the lesson to apps students are more familiar with.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: Problem Solving Lesson 1.8: Project - Propose an App
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

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.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: The Design Process Lesson 4.11: Prototype Testing
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

The primary purpose of developing paper prototypes is that they allow for quick testing and iteration before any code is written. This lesson is focused on giving teams a chance to test their prototypes before moving to App Lab. Teams develop a plan to test with users before running prototype tests with multiple other students in the class (and potentially outside the class). In order to test the prototype with the users, the students will have to assign roles in the testing (the “narrator”, the “computer” and the “observers”) as well as have some questions prepared for the user to answer after the test is complete.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: The Design Process Lesson 4.1: Paper Prototypes
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

Before starting to design apps, we need to help students to better scope their expectations. Because students will eventually be prototyping these apps in App Lab, they will be in better shape if their ideas align with the kinds of apps that are easily prototyped in App Lab. Teams start this scoping by looking through several example apps designed to demonstrate apps that can be created with App Lab. Teams then can chose one (or more) of the apps as a basis for their own. From there, teams have some time to discuss the basic functionality of their app before using 3x5 index cards to develop paper prototypes.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: The Design Process Lesson 4.4: User Interfaces
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

Following the mini design project, students look towards the next phase of design - prototyping a product that attempts to address user needs. In teams, students examine a paper prototype for a chat app called "Txt Ur Grndkdz". Through using this paper prototype, students get a chance to see how a simple paper prototype can be used to quickly test ideas and assumptions before we ever get to the computer. After "using" the provided prototype students begin to identify ways to improve the next iteration.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: The Design Process Lesson 4.5: Feedback and Testing
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

In this lesson students use feedback from "users" of the paper-prototyped app from the previous lesson in order to develop improvements to the user interface of that paper prototype. The lesson begins with a reflection on the fact that designers need to translate human needs with technology into changes to the user interface or experience. Students are then given a collection of feedback and requests from users of the app from the previous lesson. In groups students categorize the feedback and identify ways the needs expressed in the feedback could be met by changes to the interface of the app. Then in groups students will implement some of these changes to meet one of the needs they identified.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: The Design Process Lesson 4.6: Identifying User Needs
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

Up to this point students have focused on designing for users who are, to some degree, distanced from them. Whether through brainstorming, profiles, or text feedback, the connection to an end user has never been direct. This distance is designed to help students get outside their own head when thinking about users, but in order to get information more directly from an actual user, students need to rely on their classmates. In this lesson students pair up to become users (and designers) for each other, allowing everyone to directly interview their end user and ask questions to better inform their design. Each student pair interviews each other, attempting to identify a specific need that could be addressed by an app.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019
CS Discoveries 2019-2020: The Design Process Lesson 4.7: Project - Paper Prototype
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating

Based on the peer interview from the previous lesson, each student comes up with an idea for an app that will address their user's problem. Students then get to create their own paper prototype of their app ideas by drawing "screens" on individual notecards. A project guide directs students through the process including building the app and testing it with their user to see if their assumptions about the user interfaces they created are accurate.

Subject:
Computer Science
Material Type:
Lesson Plan
Provider:
Code.org
Provider Set:
CS Discoveries 2019-2020
Date Added:
12/11/2019