Loading presentation...
Prezi is an interactive zooming presentation

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.


Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Coding: Children, technology and powerful ideas

BIT15 Presentation (November 2015) What's the real benefit of young children learning to code in school? How does coding connect to the Ontario curriculum? Focuses on MIT's Scratch as the primary coding tool for students. (Updated: May 2017)

Jim Cash

on 17 June 2017

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Coding: Children, technology and powerful ideas

Why should children
learn to code / code to learn?
Coding and the Ontario Curriculum (examples)
How do I "teach" coding?
Scratch vs. ScratchJr
Children, technology and powerful ideas

About Me
Multiple perspectives - father, teacher, learner
2 daughters, Grade 6 & Grade 10
Resource teacher in PDSB
Musician, blogger, maker, podcaster
Hard Fun
Dan Meyer: Teaching for perplexity (not just engagement)
NOT boredom, not confusion
Spent too long chasing "
Perplexity results in a
, or a
, or a
in the minds of students
Mihaly Csikszentmihalyi described a state of being called
"the state of being
completely involved
in an activity for its own sake"
Indicators include: Clear goals, focused, concentrated, distorted sense of time, immediate feedback, personal control, rewarding
Bo Adams proposes that there might be
one "C" to rule them all
in so-called definitions of
"21st century learning"
The underlying "C" for the other "C" traits is
(of learning)
Papert: "I am convinced that the best learning takes place when the learner takes charge, as the young Piaget did."
Papert: Who is controlling whom? ASK: Does the child control the technology/toy/app or does it control the child?
Hard fun: a term coined by Papert after hearing a grade one student say about coding: "
It's fun. It's hard.
Hard fun is akin to "flow"
The "maker movement" is all about
(the practical application of
) in education today
Coding provides a method by which children can
make their ideas and designs come to life using technology
Papert on "Hard Fun" - http://www.papert.org/articles/HardFun.html
Defines the extent to which students feel that they are
active participants
in their own learning (vs. feeling they are
passive recipients
of knowledge)
Related to a
growth mindset
Similar to

Process Expectations
Opportunities for integration
Sine & Unit Circle (Gr. 10)
Math Art (Gr. 3)
Sandbox analogy :: Run alongside :: Challenges :: Projects
Some learning from my own experience:

Learn to code and model a
growth mindset
with students. Bugs (mistakes) in programming are
The hardest thing to do when introducing / "teaching" Scratch to children is to get out of their way.
Hold on to the learning theory that
children are the active builders of their own knowledge
, understandings, and skills.
Demonstrate what you want students to do but stay away from specifics.
Model creative thinking
, the design process and problem solving strategies but don’t do it for them.
If you use coding challenges/projects with students, encourage students to
follow their own instincts and model "growth mindset"
Plan to
allow ample time
so students can explore and play; and provide extra time for interactions between students to discuss what they are doing in their programming.
Don’t get too stressed about "covering" specific curriculum expectations when using Scratch.
Coding with Scratch is a highly integrated
complex learning activity
that activates all of the Math Process Expectations
Learning to ride by Chaim Zvi: https://flic.kr/p/g1EVG
Sandbox by Michael Newman: https://flic.kr/p/RJkWk
Benefits of learning to code / coding to learn
Abstract thoughts are made concrete
Abstract thought processes become visible on the screen
Codified thought can be easily manipulated and controlled by the student
The teacher can also see more clearly what and how a student is thinking
Students can better collaborate with other students
Papert's term: "objects-to-think-with"
Active knowledge building and skill development
Coding is an active task
Successful coding is only possible when students coordinate critical thinking, problem solving and procedural thinking
Papert always intended that programming be purposeful and contextual
Microworlds: Euclidian (Turtle), Newtonian (Dynaturtle)
Quality of Knowledge
The second meaning of "quality" - distinctive attribute
Mathland - immersion in mathematics concepts
Syntonic learning - relating one's own sense of movement to that of another (e.g., moving in a circle, moving a sprite in a circle)
Divergent thinking
Coding allows for / celebrates divergent thinking
Respects the originality and creativity of children's own ideas and solutions--the act of programming is highly personal and highly self-regulated
Challenges the "right answer" fallacy: in any project, the right answer is whatever solution works for the intended purpose
ScratchJr is a coding app (iOS & Android) specifically designed for young children
Children can create simple programs such as stories, games & animations
ScratchJr is not an app-based version of Scratch but shares its ease of use and coloured coding blocks
More details here: http://makelearn.org/2014/09/16/scratchjr-peel21st-blog-hop/
Connect with me!
Link to this Prezi:
My Beliefs:
Coding Project Ideas in Scratch Jr:
Create a coding challenge with a friend but also integrate math curriculum expectations (see video left)
Organize procedural thinking into a concrete creation, such as a narrative
Create a game in which the user has to touch a fast moving character in order to move to the next level
Use the built-in x-y coordinate grid to create/test position pattern rules and transformational geometry concepts
Create a realistic or funny animation, such as a character bouncing a ball and throwing it into a basket
Use the voice record tool to create a word wall that reads a high frequency word out loud when touched by the user
Computational thinking
Computational participation
Coding as outcome vs. coding as tool
Isolated work vs. contextual production
Designing code + designing applications
Solitary coding + social/shared coding
Original code + remixed code
Access complexity
Coding projects allow children to access a greater degree of complexity than is usually possible in the physical world
Example project: Building a working analogue clock
In the physical world, might lead to frustration due to unforeseen limitations of materials and resources
Children start to get a feel for complex systems
Coding supports the development of programming skills / fluency via ever increasing complex tasks
Process of design
Resource: https://llk.media.mit.edu/scratch/Learning-with-Scratch.pdf
Coding engenders learning about the "process of design"
Students start with an idea
Then, they create a working prototype; they experiment, debug it when things go wrong, get feedback from others, then revise and redesign it
A continuous spiral of design
Resource: http://scratched.gse.harvard.edu/ct/defining.html
sequence: identifying a series of steps for a task
loops: running the same sequence multiple times
parallelism: making things happen at the same time
events: one thing causing another thing to happen
conditionals: making decisions based on conditions
operators: support for mathematical and logical expressions
data: storing, retrieving, and updating values
experimenting and iterating: developing a little bit, then trying it out, then developing more
testing and debugging: making sure things work — and finding and solving problems when they arise
reusing and remixing: making something by building on existing projects or ideas
abstracting and modularizing: exploring connections between the whole and the parts
expressing: realizing that computation is a medium of creation, "I can create."
connecting: recognizing the power of creating with and for others, "I can do different things when I have access to others."
questioning: feeling empowered to ask questions about the world, "I can (use computation to) ask questions to make sense of (computational things in) the world."
Clock Challenge (Gr. 8)
Polygon Challenge (Gr. 5)
Benefits of learning to code / coding to learn
Why do you want kids to code?
focus in education should be the
coding to learn
goals listed in the green-blocks
just because the educational focus is on the
green-block goals
, that does not mean
blue-block goal
concepts won’t be learned
difference lies in the
intention and emphasis
behind students coding in schools.
Coding: What's the focus?
Conditions for Constructionist Learning

Resource: http://scholar.gse.upenn.edu/kafai/pages/connected-code
Resource: http://www.academia.edu/2546241
Mathland Challenges in Scratch
Immersion approach to learning mathematics
Attempt to link projects / challenges in Scratch to the Ontario mathematics curriculum
Link to this Prezi:
“Slowly I began to formulate what I still consider the fundamental fact about learning:

Anything is easy if you can assimilate it to your collection of models. If you can’t, anything can be painfully difficult.”
Fundamental Fact about Learning
Seymour Papert, (1980),
, p. vii
Full transcript