Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a...

60
Learn to Code A Professional Development Activity for K-8 Math Teachers Learn to Code A Professional Development Activity for K-8 Math Teachers Group Size: 40 participants Resource: Computers & Tablets, Wifi, Projector Note: To keep the file size down, video resources meant to support this resource are linked in the corresponding slides. It is assumed the presenter has some basic understanding of “coding”

Transcript of Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a...

Page 1: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to CodeA Professional Development Activity for K-8 Math Teachers

Learn to CodeA Professional Development Activity for K-8 Math Teachers

Group Size: 40 participantsResource: Computers & Tablets, Wifi, Projector

Note: To keep the file size down, video resources meant to support this resource are linked in the corresponding slides.It is assumed the presenter has some basic understanding of “coding”

Page 2: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

What is “Coding” ?

• You’ve seen the craze for learning code. But what exactly is coding? Coding is what makes it possible for us to create computer software, apps and websites. Your browser, your OS, the apps on your phone, Facebook, and this website – they’re all made with code.

Source: http://www.codeconquest.com/what-is-coding/

Audience Engagement:

Ask the audience how many have heard of coding.Ask “How many of you have seen coding before?”

Page 3: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

What is “Computational Thinking” ?

• Computational Thinking (CT) is a process that generalizes a solution to open ended problems. Open-ended problems encourage full, meaningful answers based on multiple variables, which require using decomposition, data representation, generalization, modelling, and algorithms found in Computational Thinking.

https://en.wikipedia.org/wiki/Computational_thinking

CT is a process in which solutions to open ended problems are derived using technology.

Discuss the notion that coding is a subset of computational thinking, but not the only subset.

Page 4: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

What is “Computational Thinking” ?

• Thinking about and solving problems or completing tasks using technology.

• Coding is a tool used in Computational Thinking. • Building structures is Minecraft is a form of Computational Thinking. • Created spreadsheets and organizing data and graphs is a form of

Computational Thinking

Page 5: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Credits:

Sketchnote by Sylvia DuckworthContent by Brian Aspinall

Page 6: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

https://www.youtube.com/watch?v=nKIu9yen5nc

Source: https://www.youtube.com/watch?v=nKIu9yen5nc

Page 7: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learning to code is a process. Here is a goo model explaining different stages. Introduce the terms “algorithm” and “debug” to the group. Explain that an algorithm is like a procedure and “debugging” is like proofreading written work to find mistakes.

Page 8: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

So, what is coding?

A ordered set of instructions to solve a problem or complete a task.

Coding is the process of using a language to write an algorithm to solve a problem.

Source: https://interactivedesign2012.files.wordpress.com/2012/03/toast-flowchart-copy.png

Page 9: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Coding Without Technology

Credits:

Photos by Kristen Wideen (left) & Brian Aspinall (right).

Page 10: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Coding FriendBot

Move (NUMBER)

Turn (LEFT / RIGHT)

Hop

Turn (+ -)(NUMBER)

Move (NUMBER_UNITS)

k-3 4-6 7+

ROTATE (+ -)(NUMBER)

TRANSLATE (NUMBER_UNITS)

Hop (Height) Hop (Height_UNITS)

This is an example of pseudocode. Teachers should use “math” terms appropriate of the age of their students and curriculum documents.

Have participants generate other code blocks.

Page 11: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Coding FriendBot

Move (1) Turn (RIGHT)Move (1) Move (1)

Move (1)

Move (1)

Move (1)

Turn (LEFT) Move (1) Move (1)

Demonstrate the notion of linking blog code together to create a chain. This set of instructions is called an algorithm.

Page 12: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Move (1) Turn (90)Move (1) Move (1)

Move (1)

Move (1)

Move (1)

Turn (-90) Move (1) Move (1)

Coding FriendBot

Loop (3) Move (1)

Loop (3)

Move (1)

Loop (2) Move (1)

Depending on the age of students, block code can be extended to differentiate or scaffold based on the needs of individual students.

Page 13: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Move (num)

Turn (num)

Coding FriendBot

Loop (num)

1 cm

1 cm

Give participants 3 minutes to solve this puzzle.

Page 14: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Move (num)

Turn (num)

Coding FriendBot

Loop (num)

1 cm

1 cmCan you unlock the treasure chest?

You cannot step on black squares.

Take (item)

Open

Give participants 3 minutes to solve this puzzle.

Page 15: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

What curriculum connections can you make?

Generate a list of curriculum connections. Eg: LA — Write the narrative story of your FriendBot.

Page 16: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Coding: Big Ideas in Geometry• Grade 1: describing location using positional language • Grade 2: describing relative locations and paths of motion • Grade 3:  describing movement on a grid map; recognizing transformations • Grade 4:  describing location using a grid system; performing and describing

reflections • Grade 5: locating objects using the cardinal directions; performing and

describing translations • Grade 6:  performing and describing rotations; plotting points in the first

quadrant • Grade 7: performing and describing dilatations; tiling a plane; plotting points in

all four quadrants • Grade 8: plotting the image of a point on the coordinate plane after applying a

transformation

Demonstrate that coding is a great way to teach Geometry.

Page 17: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Mathematical Process

• Problem Solving: Develop and Apply Problem Solving Strategies • Reasoning and Proving: Develop and Apply Reasoning Skills • Computational Strategies: Use Electronic Tools to Solve Problems • Connecting: Make Connections Among Math Concepts & Procedures • Representing: Represent Math Ideas  • Communication: Communicate Mathematical Thinking Orally, Visually, and in

Writing  

Demonstrate the Math Process. Be sure to highlight the fact that Computational Strategies already exists in the curriculum document.

Page 18: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Linking to Literacy

What are “factors” of a number?

Suggest writing topics for students. Discuss the notion of teaching the skill of researching.

Page 19: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Linking to Literacy

How do you find the factors of a number?

Page 20: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Write a “pseudocode procedure:

1) Determine a number, say Num. 2) Determine a variable, say X 3) Set X equal to 1. 4) Divide Num by X and look for a remainder. 5) If there is no remainder, X is a factor. 6) Repeat steps 4 & 5 while incrementing X by 1 each time. 7) Stop when X equals Num.

Linking to Literacy

https://scratch.mit.edu/projects/28080104/

After writing a pseudocode algorithm, substitute line for line with block code found in Scratch to generate a working “app”- Show the live demonstration.

Page 21: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Write a procedure about how to…

•Tie your shoes •Do a jumping jack •Create a resume •Phone a friend •Download music •Find a video on the internet

Linking to Literacy

Extensions

Page 22: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting Integers

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

4 1 3 7 2 3

Discuss the notion of manually sorting data prior to calculating mean, median & mode.

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 23: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 4 3 7 2 3

https://en.wikipedia.org/wiki/Sorting_algorithm

This activities uses the computer algorithm known as “Bubble Sort” to sort data manually. The goal is to allow students an opportunity to think logically systematically and computationally prior to calculating mean, median and mode.

Page 24: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 4 3 7 2 3

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 25: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 3 4 7 2 3

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 26: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 3 4 7 2 3

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 27: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 3 4 7 2 3

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 28: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 3 4 2 7 3

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 29: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 3 4 2 7 3

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 30: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 3 4 2 3 7

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 31: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 3 4 2 3 7

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 32: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 3 4 2 3 7

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 33: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 3 4 2 3 7

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 34: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 3 2 4 3 7

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 35: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 3 2 3 4 7

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 36: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 3 2 3 4 7

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 37: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 3 2 3 4 7

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 38: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 3 2 3 4 7

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 39: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Calculating….mean, median, mode

The Human Bubble Sort

Sorting

@mraspinall• www.brianaspinall.com

https://en.wikipedia.org/wiki/Sorting_algorithm

4 1 3 7 2 3

1 2 3 3 4 7 Median? Mode?

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 40: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Watch: Human Bubble Sort

https://www.youtube.com/watch?v=lyZQPjUT5B4

Have a conversation with class - how long is this dance video? How fast do computers sort data? Is there a more efficient sorting algorithm?

https://en.wikipedia.org/wiki/Sorting_algorithm

https://www.youtube.com/watch?v=lyZQPjUT5B4

https://en.wikipedia.org/wiki/Sorting_algorithm

Page 41: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Using Sphero to Code Geometry

What Is Sphero?Sphero is the app-enabled ball that does it all.

A Brave ExplorerControl Sphero, turn your living room into a video game with augmented reality apps, or upgrade family game night with multiplayer games. Sphero is also pet-proof, swims and is ready to roll wherever you go.

A Teachable RobotSphero is even making moves in the classroom with crash courses in programming using MacroLab and orbBasic. Check out SPRK at sphe.ro/education.

A New Way to PlayChoose from over 30 apps and launch a whole new world of gameplay. The result is limitless possibilities for new types of connected play that meld the virtual and real worlds for a fun gaming experience.

https://brandfolder.com/sphero2 https://www.youtube.com/watch?v=43tctP24XmoVideo:

Coding robots.

Show the corresponding YouTube video.

Page 42: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Using Sphero

Make the connection with FriendBot. Coding a Sphero ball across a grid on the floor.

Page 43: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

https://www.youtube.com/watch?v=-pjCphAzVE0

Video: https://www.youtube.com/watch?v=-pjCphAzVE0

Credits:Brian Aspinall Discuss the observations made in the video with regards to the “process” of coding.

Page 44: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

https://www.youtube.com/watch?v=LtUbyTxltUc

Video: https://www.youtube.com/watch?v=LtUbyTxltUc

Discuss the math talk observed in the video.

Credits:Brian Aspinall

Page 45: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

https://www.youtube.com/watch?v=bq-jx5LUKjE

Video: https://www.youtube.com/watch?v=bq-jx5LUKjE

Discuss the level of engagement in this task.

Credits:Brian Aspinall

Page 46: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Make reference to the visible Geometry in the block code on the right.

Credits:Brian Aspinall

Page 47: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

CRITICAL THINKING allows the individual to manage information. Information presented in a multitude of forms from a variety of media. Information that must be filtered and analyzed, authenticated and processed, and eventually must be synthesized in a form that will be useful to the individual. CRITICAL THINKING is PROBLEM SOLVING, the ability to take information and put it to use to create solutions.

COMMUNICATION provides the means by which the individual can present information. Information presented in a multitude of means through a variety of media. COMMUNICATION must be CLEAR and CONCISE, effective and engaging, and eventually be presented in a way that is meaningful to the individual and the audience.

COLLABORATION engages the individual in the world they share through association. Association, that is created to benefit an COMMUNITY and as a means to conduct processes of the world we share. COLLABORATION that includes partnership and teamwork, leadership and assistance, and alliance that serves to benefit the whole.

6 C’s of Education

@mraspinall• www.brianaspinall.com

https://infogr.am/the-6-cs-of-education-for-the-21st-century

Discuss the 6C’s and work of Michael Fullan.

Page 48: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

CULTURE & COMMUNITY encourages the individual to appreciate where we have come from, who we are now and how we can move into the future. CULTURE associates the individual to all that surrounds them: art, drama, dance poetry, history, science, religion, written and unwritten language, technology and the individual themselves.

CREATIVITY provides the avenue for expression. The structure means nothing without function. Therefore, the individual must be capable of CREATING something with the knowledge that they have worked so hard to obtain. It is in CREATING that the individual gains purpose.

CONNECTIVITY places the individual in touch with their world. In today’s existence that is increasingly through the technology that is rapidly changing the way they view their world. Understanding that connections are personal no matter what the means of contact and that humanity must remain in light of how the technology may change for each individual.

6 C’s of Education

@mraspinall• www.brianaspinall.com

https://infogr.am/the-6-cs-of-education-for-the-21st-century

Discuss the 6C’s and work of Michael Fullan.

Resource: http://www.michaelfullan.ca/media/13599974110.pdf

Page 49: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Coding to Create Content (Using Geometry)

Now that participants understand block code and played with simple Geometry scripts, explain that we will now create content using those mathematical principles.

Page 50: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

French Class

This project was created by a grade 8 student. His task was to demonstrate understanding of French directions. He choose to code a remake of “Zelda” and used Geometry to move the character around the screen.

Suggest this final product is only the “tip of the iceberg” as the process to create it was incredibly challenging and required time and effort.

Page 51: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Make connections to the Geometry in the code. Explain how a negative X or Y moves the character backwards and down.

Refer to the Cartesian Plane.

Page 52: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Homemade Zelda

https://scratch.mit.edu/projects/64271626/

Show live demo.

Page 53: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Law of Large Numbers (Probability)

Try It >

Show live demo of this probability simulator. Explain that the task was to explore probability and that principles of geometry, algebra (variables) and number sense were used to create the product.

This method “spirals” math - it diffuses across strands.

Page 54: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Coding Fractal Art Using Geometry

https://www.youtube.com/watch?v=P72tO-PdAdg

Using repeating patterns, variables (algebra), and movement (geometry) to create digital art.

The final shape is a large pentagon made up of smaller pentagons.

Video: https://www.youtube.com/watch?v=P72tO-PdAdg

Page 55: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Coding Choose Your Own Adventure Stories

Try it >

Introduce twine as a place to write Choose Your Adventure Stories.

Demonstrate how coding can be used to “spruce” up the appearance of the story.

Page 56: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Hour of Code: Minecraft Edition

CodeGeneration.ca

Coding Flappy Bird

Try it!

Let participants try for themselves. Each task is more difficult than the previous.

Page 57: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Create With TouchDevelop Try It >

Introduce TouchDevelop and show the website.

Page 58: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Create With Scratch Try It >

Introduce Scratch and show the website. Mention that it is “flash” and won’t run on iOS.

Page 59: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Create With Apps

Scratch Jr. Grades: K-3

iOS & Android

Tynker Grades: K-8 iOS & Online

Hopscotch Grades: 4-8

iOS

Vizwik Grades: 9+

Online

Introduce these apps as tools to create content with coding. Challenge participates to code a narrative story in the app of their liking using principles of geometry (translations, rotations, reflections).

Page 60: Learn to Code - Hour of Curiosity · Learn to Code Write a “pseudocode procedure: 1)Determine a number, say Num. 2)Determine a variable, say X 3)Set X equal to 1. 4)Divide Num by

Learn to Code

Design Challenge

At your table, create a lesson plan that uses coding to demonstrate learning of a topic.

What is the Learning Goal?

How will you assess it?

How will it include coding?