DAY 5 - Coding and Computer Science for Kids 1
Category: Coding & Computer Science 1
Date: June 15, 2018
Description:
Coding and Computer Science for Kids 1 - DAY 5
 
Code.org ALGORITHMS:

Lesson Overview:

Students explore that although the same task can be accomplished many ways, sometimes there are “better” options than others. Using Tangram shapes and graph paper, the first exercise will show how important it is to make each algorithm, or instruction, as clear and unambiguous as possible. Afterward, the class will explore how many ways you can fold paper into a rectangle, noting how some methods can take more or fewer folds than others.

 

 
 
Essential Question:
What are algorithms, and how are they used to solve
real-world problems?
 
 

I can practice creating algorithms that describe real-world instructions.

I can learn to think about solving a problem in several different ways.

I can think about creating more “efficient” solutions to problems.

• I can realize the need for formal programming structures like loops and functions.

 
 
 

Algorithm — (n.) A series of instructions on how to accomplish a task.

Ambiguous — (adj.) Having more than one meaning

Coding — (n. / v.) Transforming actions into a symbolic language

Debugging — (n. / v.) Finding and fixing problems in code

Efficiency — (adj.) Having the best outcome for the least amount of work

Evaluate — (v.) To assess and work at an answer

Function — (n.) A piece of code that can be called over and over.

Hamburger Fold — (n.) Folding a paper in half the wide way

Hot Dog Fold — (n.) This means to fold a paper in half the long way

Loop — (n.) The action of doing something over and over again.

Program — (n.) Instructions that can be understood and followed by a machine.

 


 
 
 
 
 

REVIEW:

Think back to yesterday’s graph paper programming lesson.

 

Class Participation Questions:

• What graph paper programming language or code symbols did we use?

• What did the set color block do?

 

Partner Discussion:

• How would we use what we learned to make a square with different colors on all sides?

 

Lesson Steps:

This lesson introduces some astonishing concepts. Not only can a computer “misunderstand” what you mean for it to do, but you can tell a computer to do the same task several different ways.

 

Activity 1 – Tangrams

Our first game is based on an old favorite called Tangrams, a classic Chinese geometric puzzle consisting of a square cut into seven pieces that can be arranged to make various other shapes, but with a twist. We won’t require the use of every single piece each time, and we will be laying our shapes out on graph paper.

 

Computers “understand” things differently than we do. In large part, this is because computers can’t “guess” what we want based on our tone of voice or our body language. If you tell your friend “Aperture is a hard word. Can you spell that?” It is very likely that your friend will try to spell “aperture.”

 

If your friend is a computer, however, it would probably spell the word “that.” This is because a computer is going to take its instruction directly from the phrase it’s given. If you give an ambiguous, or unclear, instruction, it will evaluate it the way it has been told to, whether it is what you meant or not.

 

In small groups, we are going to see how hard it is to give clear instructions. One person in each group will be a “programmer” who will grab a picture that is made of a series of shapes. Another person will receive a packet of tangram shapes and a piece of paper and be the “computer.” The two will sit back-to-back, and that’s where the fun begins!

 

The programmer needs to try to describe their image to the computer, without ever letting the computer see it. Programmers can use whatever words or phrases they want to help their computer rebuild the original image, but they cannot use sound effects, or body movements.

 

We will want to decide as a whole class how limit each turn by the following:

• Number of instructions?

• Time in minutes?

• A combination of both?

• Second chance for programmers to communicate after first attempt?

 

Once each turn is over, the computer becomes the programmer, and someone else becomes the computer.

 

Explore the following questions:

 

• How many rounds does it take before the computer succeeds in recreating the original image?

• What were the first mistakes?

• What were the most common mistakes?

• Which errors were the easiest to debug, or fix?

 

Whole Group Check-In

Now come back together to discuss the successes and failures of the Tangram activity.

 

The last challenge had students perfecting algorithms for clarity, while this one will have them perfecting algorithms for efficiency.

 

Paper Folding Activity

Examine our pre-folded piece of paper with 16 equal rectangles made only by folding the paper.

 

How many of you think you can fold your paper to make the same rectangles?

What are the two types of folds we use when folding paper?

 

Each group will receive a blank sheet of paper and one mission at a time:

1) Can you fold 16 equal rectangles into a sheet of paper?

2) Can you find a second way to do it?

3) Can you find a third way to do it?

 

Start keeping track of the order of your folds on another piece of paper.

4) How many ways can you find to fold the exact same rectangles?

5) How many folds does it take to get to that result?

6) What is the highest number of folds that you can make to create those rectangles?

7) What is the smallest number of folds that you can make to create those rectangles? (4 folds)

Isn’t it interesting that you can get the exact same result so several different ways, and some of those ways take so many more folds than others? What if we had only arrived at the solution that took six folds, and we had two million pieces of paper from which to create rectangles? Making four million extra folds would not have been very efficient!

 

Efficiency is very important in computer science, because computers run about 113 million instructions per second. If your program has more instructions than it needs, then you are actually adding *time* to how long it takes a program to run. Can you imagine adding *days* to how long it takes to load a web page? If you don’t think about efficiency at all, you could do exactly that!

 

Sometimes, it helps to write a program that works first, then cut out any steps that were unnecessary (remember the graph paper drawings?) Other times, you learn tricks that help you keep your program efficient from the very beginning. In the case of our paper folding, the trick is to stick to folding exactly in half each time; that way we double the amount of creases that each fold makes every time. In computer science, the idea of cutting a problem in half shows up repeatedly, so keep that trick in mind as you come across more and more difficult problems in the future!

 
 

♦Check your Accelerated Intro to CS Course Progress so far in your Code.org account:

 
 
The circles will turn green when they are completed correctly.
 
 
 

 

The Artist 2 Code Activity

 

ht=360&autoPlay=false&showInfo=true" width="640">

♦Examine how computers use loops to complete repeated tasks over and over again using the Repeat blocks and commands.
 

Additional Learning Tasks:

 
1) Log in to Edmodo and check notifications for our Coding and Computer Science group. Check your Profile for Edmodo badges earned so far.
 
2) Log in to your Code.org account and work in your Accelerated Intro to CS Course activities.
 
 
3) Explore and study vocabulary words and definitions using the following Quizlet sets:
(Optional: Join our Coding and Computer Science class by clicking here.)
 
(Study Flashcards and play Match game.)
[We will also play Quizlet Live at school.]
 
(Study Flashcards and play Match game.)
[We will also play Quizlet Live at school.]
 
 
4) Check out additional coding apps and resources using your own devices at home.
 

 
 
  Curriculum Attribution: All Accelerated Intro to CS Course lessons are adapted directly from Code.org, an exemplary non-profit organization committed to educating and empowering students, teachers, and parents with essential coding and computer science technology skills.
<print>            <close window>