learn to code - hour of curiosity · learn to code write a “pseudocode procedure: 1)determine a...

Post on 16-May-2018

224 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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”

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?”

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.

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

Credits:

Sketchnote by Sylvia DuckworthContent by Brian Aspinall

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

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

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.

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

Coding Without Technology

Credits:

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

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.

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.

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.

Move (num)

Turn (num)

Coding FriendBot

Loop (num)

1 cm

1 cm

Give participants 3 minutes to solve this puzzle.

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.

What curriculum connections can you make?

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

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.

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.

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.

Learn to Code

Linking to Literacy

How do you find the factors of a number?

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.

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

Using Sphero

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

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.

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

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

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

Credits:Brian Aspinall

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.

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

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.

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.

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.

Homemade Zelda

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

Show live demo.

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.

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

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.

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.

Learn to Code

Create With TouchDevelop Try It >

Introduce TouchDevelop and show the website.

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.

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).

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?

top related