Summer Learning 2018

Don’t get me wrong. In the summer, I think it is essential for teachers to relax, unplug, take a break, spend tons of time with family and/or friends, and enjoy some sunny summer weather. The summer break makes us fresher in the fall and reconnects us to other parts of our lives, friends, family and personal interests that may need some attention.

But, at least for me, there’s a feeling that slowly grows in the summer where I’m restless and looking to plug back in and learn, read, create, tinker, and so on. A few teachers have asked me for some suggestions for summer learning so here are a few for when that feeling comes to you.

LCI2It’s not a brand new book but it was to me this spring. Learner Centered Innovation by Katie Martin is great. It really goes into detail with a critical lens on educational practices and provides a vision and examples what teachers can do to improve things for students by starting with them. Much of the language resonates with me because it echoes much of my own vision for education.

For Peel teachers, there are some conference opportunities both in PDSB and outside of it. If you are around later in August, the second annual Empowering Modern Learners Summer Conference is taking place at Central Peel Secondary School on August 23 and 24th. John Spencer is one of the keynote speakers! On July 5, MakerEdTO is taking place at the York School in Toronto. There is more information on their website.

But the idea I would really like to encourage is taking on a project that focuses on a passion or an interest you have. This is something I look forward to doing every summer. The idea is to intentionally outline a project you will take on over the summer that’s centred on an interest you have. Make as the goal achieving flow as Mihaly Csikszentmihalyi describes it. The professional learning comes as a result of the reflections you make about the experience and the learning that happened.


mr2For example, a colleague of mine decided to try oil painting. He’s not an artist. He had never oil painted. He learned quite a bit about making and the creative process. At first he wondered: how does oil painting work? He bought a book about the paintings of Mark Rothko and looked at how he did it; he read about his process. Then, he learned about equipment on the internet. Rothko was the start of it for him. He studies a maker/artist and began experimenting with tints, blending, and so on. Coincidentally, I did almost the same thing one summer but using latex paint and reading this book by Mark Daniel Nelson!

2000px-Scratchcat.svg_Another colleague of mine wanted to do more with coding and computational thinking with her Grade 6 students in the fall but she wanted to know more and have some skills. She explored Scratch over the summer. She wanted to get comfortable and she made a goal for herself to create a fun game for her son to play. By the end of the summer, she had made a maze game that included two levels. It worked out pretty well and she used that experience and her game example when she introduced Scratch to her students that fall.

I’ve started to get a few ideas for some summer projects. Electronics and building an AM radio from scratch is an idea. I also want to explore CoSpaces. I have dabbled with it but there is so much potential there and I want to know it and create with it to learn more.

Please leave a comment below about what you are thinking about if you are thinking about a summer learning project. I would love to read about it.


Text-based vs. Block-based coding

This blog post is more of a curation project than a blog post. I have put in one place various statements, beliefs, arguments, for or against, the use of block-based programming/coding with students. Some are clearly pro ‘text-based,’ some pro ‘block-based,’ while others are mixed and point out pros and cons based on certain factors or contexts. This is exactly what I expected to find.

I think the bigger question is the ‘why’ question and the question of ‘coding to learn’ versus ‘learning to code.’ Most of these articles address the issue of an effective means by which students can ‘learn to code’ which is not really my focus with students (which doesn’t mean it doesn’t happen; it’s just not the focus) but, nevertheless, there are many interesting ideas.

Some of the articles below were very frustrating to read because of inaccuracies. One of them, for example, points to limitations in block-based coding that, in fact, do not exist and I wondered how much direct experience the author had in programming using that tool. Other articles were frustrating because they repeated prejudices concerning block-based programming environments such as they were ‘only for kids’ or that block-based code is merely the ‘first step towards real coding’ with text-based languages.

Some of the articles were very exciting to read! One of the best finds was an article called Scratch has a Marketing Problem by Steve Krouse. He writes about challenging his prejudice about block-coding as he explores the potential of Scratch for his students. Another great find was this short video called Why top universities teach drag and drop programming. Dan Garcia from UC Berkley talks about why block-based programming was chosen for students over text-based programming (at his university as well as many across the United States).

Note: I intend to add to this post as I find new articles and resources. Please comment below any URLs to articles, videos, podcasts, or other resources that might merit inclusion in this list. 

Pro text-based coding for students


Pro block-based coding for students


Balanced / It depends / It might not matter


Scratch vs. Swift Playgrounds

Ultimately, for me, it comes down to a single key issue: In the limited time we have with children each day in school, what is the best use of that time for learning? How are we designing and/or supporting powerful and empowering learning experiences for our students? I suppose you could think of it as a question of ROI – with any given student investment of time and effort, what is the return in terms of powerful, high quality learning?

Full Disclosure

IScratch should mention that those familiar with my work, blog or Twitter account will know that I am something of a Scratch enthusiast. Actually, I’m more of a passionate advocate, a champion of Scratch as a creative and thinking tool. Despite this bias, ultimately, I think we can all agree that we are looking for tools, environments and learning models that really work well with our students in terms of high quality, meaningful, useful learning.


I have a love-hate relationship with Swift Playgrounds. I think probably anyone who is as passionate about learning as they are about computer programming would probably feel the same way. Maybe that’s just me? I just think Scratch has more to offer because it focuses far more on creative learning than Swift Playgrounds does (or could) as it stands now. More on that later…

There’s lots to love

Swift Playgrounds is a beautiful looking environment to learn to code. It’s a nice, modern, object-oriented language and I can learn concepts and conventions and put them to work later in Xcode. Children can choose step-by-step lessons and puzzles to build their coding knowledge and skills. They can choose other playgrounds to play in and subscribe to third party ones, too. They can start with a blank project and try out coding ideas. They can save their projects. There are handy shortcut buttons so you don’t have to always type in commands or statements. The code editor is very helpful and automates many syntactic and structural formatting conventions.  Kids can program various robots. There’s even a new, augmented reality coding kit so kids can start to explore AR.

There’s lots not to like

Sorry, hate is too harsh a word, but remember I actually “love-hate” Swift Playgrounds. Kids are learning Swift (or at least something like Swift), a programming language created by Apple to create applications on their operating systems. But it’s really a highly simplified Swift; the jump to Xcode and real application development is actually quite steep. (And Xcode also only runs on a Mac, nothing else). Yes, kids can transfer coding concepts they learn in Swift Playgrounds to other languages but why not save a step and have them learn javascript as a first typed language (you’d also save money because Swift Playgrounds only runs on an iPad, which a school must buy first; javascript runs in any browser on computers the school already has). Swift is also a typed language, not a block-based visual language (I’m getting worn out listening to the prejudice against block-based language as not being “real” languages; there are crucial advantages to block-based languages). It’s fairly hard to tinker and play in Swift Playgrounds. You can try but the students I’ve seen doing that almost always get the red dot and a cryptic error message. Because of this, and because Byte is so darn cute, students usually resign themselves to working through the puzzles in the Learn to Code modules.

I considered writing a section about how Swift Playgrounds and Scratch are both free tools but that Scratch is supported by a non-profit called the Scratch Foundation and that Swift Playgrounds is supported by a for-profit called Apple, Inc. Suffice it to say, I think the motivations behind each tool are linked to the organizations that create and fund them.

Learning to code

It’s probably clear by now that Swift Playgrounds was not designed as a learning through coding environment; it was designed as a learning to code environment. I don’t think anyone at Apple would have ever said that it’s a coding to learn environment. Indeed, in 2016, Apple’s Director of Tools & Technologies Product Marketing Wiley Hodges said that Swift Playgrounds is “not about learning apps for platforms. It’s about learning good coding practices.” Yet, this turns my mind back to the single key issue at the beginning: In the limited time we have with children each day in school, what is the best use of that time for learning? How are we designing and/or supporting powerful and empowering learning experiences for our students? 

What makes using Scratch powerful learning?

Scratch is a unique learning environment because every aspect of it was carefully researched, designed, tested and redesigned. The experiences children have in Scratch maximize the creative, social, personal, experimental, visual and design elements and minimize the technical, syntactic, textual, abstract, and rigid elements of many typed languages. A key design objective in Scratch was (is) to support self-directed learning through tinkering and the creation of personally relevant projects in collaboration with peers. These ideas are further refined and described in Lifelong Kindergarten by Mitch Resnick.

In terms of real students in real classrooms using Scratch, I regularly see students quickly think of interesting ideas they have for a Scratch project and proceed to start to code it in their first session. The use of the Scratch environment, along with a research-based and student tested learning model, can accelerate learning and competence using Scratch to express their ideas. When I observe children creating with Scratch, the best word I can think of to describe it is intuitive. The colour-coded blocks invite experimentation based on almost instantaneous conclusions students have about how the blocks might function with other blocks. The work and the learning come from the building of their code scripts into projects that work the way they want. Typed languages are generally not very intuitive. And with modern object-oriented programming, these languages are even more abstract.

4Ps 2

It’s no accident that Scratch works so well with students. I regularly engage in detailed conversations about projects, designs, and problem solving. I’ve written previously about how Scratch is the right place for coding in schools. Probably the most important aspect of Scratch is that it was designed to support a very wide variety of potential projects that can be easily personalized; this leads to children who are highly invested emotionally in their projects. Many have said in passing how much they love working on their Scratch projects.

Papert and Mathland

MindstormsThe “powerful ideas” part of Seymour Papert’s 1980 book Mindstorms: Children, Computers and Powerful Ideas talks about the potential of the computer and computer programming as a tool for thinking and building knowledge within a carefully designed learning environment. This powerful learning environment is the opposite of computer aided instruction (CAI) which is a profoundly important distinction. Instead of designing computer applications that act as a teacher for children, Papert envisioned computers as tools children could use in order to play with ideas and build knowledge. He saw coding as a way to control a mini world, a Mathland, and developed LOGO and various mathematical learning environments. From his perspective, the children are controlling the technology, not the other way around.

Papert’s philosophy was always about how children could use coding to learn, and learning about things that are interesting and fun. Powerful learning is exciting, personal, memorable, social and creative. Scratch was specifically designed (and continues to evolve in redesigns) to be exciting, personal, memorable, social and creative. Despite the seemingly endless coding tools now available through sites like and various app stores, I still think Scratch is the right place for coding to learn.



Professional consumption vs. creation

It’s effortless to hop onto social media, whatever social media you interact with (for me it’s primarily Twitter, Medium, WordPress, and news sources), and read through stories and ideas created by other people. In fact, I ‘found’ myself the other day after work having spent about 90 minutes straight on social media. But many other days, it might be 30-40 minutes. I usually learn some things and make notes of resources to refer back to later. Browsing on social media often leads to some great finds.

And, I do have a blog and a podcast and I do share ideas in other places online. But I am pretty hard on myself when it comes to sharing things I create which is contrary to this message from Derek Sivers (his video is partly why I started to blog in the first place).

And, there are also a handful of times when the consumption and creation are intertwined into real-time engagement or interaction with other people (primarily using Twitter chats or Twitter messages).

The problem: I am spending a greater and greater proportion of my ‘allotted time’ to consuming information… rather than creating and sharing it. Why?

Creation is hard. Consumption is easy. The tricky bit is that I do learn from doing both activities. I can’t be the only one thinking about this… And it bothers me. As educators, we expect students to balance their time between consumption and creation. I do think I learn much more by creating. And creating and sharing ideas is more concrete — that part of me that looks for evidence that I have been productive likes the concrete thing I’ve made. The results of consuming information are very intangible. But is it all as simple as that? Am I simply lazy?

Here are my publication stats for this blog:

pub vs draft

25 (not 26 since you’re reading 26) times I started to write a blog post and 25 times I abandoned it for some reason. Sometimes I do go back. At least I’ve published more than not. I’m also writing a book but that’s even more difficult. And I am finding the limitations of a physical book to be annoying; ironically, books still seem to be the pinnacle of professional communication. (Incidentally, in the last week or so, I’ve pretty much decided to create a web site instead so that I can link to resources and embed media).

Another issue is that the more I consume information (and see how much is out there) the greater the feeling I get that everything has already been written, shared, and thought through. Just look at the re-discovery of ‘coding’ in education in recent years… Sometimes I think we are all caught up in an endless cycle of ideas that get discovered, shared, forgotten and re-discovered again.

Which brings me to this blog post. What possible purpose can it serve? Who am I writing it for? So what if someone else says, ‘yeah, I get that feeling, too.’ Maybe my own cynicism about sharing ideas also goes through a cycle. But it is rare to ever get direct feedback like that but it does happen and it is cool when it does (thanks, Kate):


So, that part of me that wants some concrete product is making a few resolutions:

  • Spend more time reading blogs than tweets (the idea being to truly explore ideas more throughly rather than skim through multitudes)
  • Comment and interact more with other bloggers (the idea being to respond and interact with the people who are sharing ideas & resources)
  • Go through all my drafts and finish & share the ones that need to be (the idea being to reconnect with ideas and think through them again)
  • Get to work on my shiny, new project: (I have the domain as of early May but have put 0% there so far…)

And, just for fun, here is that inspirational video by Derek Sivers which, combined with words from Dean Shareski, motivated me to start blogging:

Rethinking Empowerment

No, I am not rethinking “empowerment” in the sense of is it a good or bad thing? But after reading a very thought provoking essay called  Empowerwashing Education by Benjamin Doxtdator  I am rethinking how I have used the term and what the term means and implies.

The first thing that jumped at me as I started reading was that if I am a teacher and I am thinking about that ways I empower my students, that still puts the starting point (i.e., the control) of the empowering with me. That is, there is still an oppressive or, at least, paternalistic tone to empowerment when considered in this way. So often educators think: I need to do things so that my students are “empowered.” I don’t like the idea that I am holding the keys to the empowerment of my students. I don’t like the idea they get empowered through me.

On the other hand, I do have power and privilege that was and is accorded to me at a very high cost to others historically, socially, and economically. I consider it a moral imperative to use that power and privilege I have to try to transform status quo conditions that disempower, discriminate and oppress others (in this context, my students). Isn’t it a good thing to want to and try to empower and help others?

My concern when reflecting on this is the question of who decides how my students are empowered? I confess that until I read this essay, I only considered it in one direction: to what extent do all the daily decisions I make as a teacher empower my students? If that is true, then isn’t that idea based on the assumption that empowerment is something done to other people? That sounds wrong to me now. He makes another point that is still resonating with me: he posits that the current use of the word empowerment in education is often meant more as “liberal” than “liberating.”

I think Benjamin makes it very clear that there is (and always was) a lot of context connected to the term empowerment but that current use of the term by educators (and by corporations) seems to have emphasized striving to support passions, innovation, design, voice and choice and deemphasized social justice, politics, activism and radicalism.

His essay ends with some sound advice and three questions to consider instead of using the term “empowerment” in a buzzword kind of way:

Screen Shot 2018-04-07 at 2.44.45 PM

Be sure to take some time to read his essay: Empowerwashing Education

Play and Learning (Part I)

Why is it that the older children get, the less play seems to be connected with learning? Personally, I think the two concepts are nearly synonymous. Sometimes I read things that imply that play is great for young children but not so great for older, more serious students. Often, the notion is that all children need more formal instruction and they need to learn knowledge and skills contained in some syllabus or curriculum, something that mere play will not get them. The inference here is that play is informal (and less effective for learning) and instruction is formal (and more effective for learning). At least, that is the inference I make but I strongly disagree with thinking about play that way.

Nevertheless, I try to see the logic in this line of thinking that considers play a low level learning strategy. One needs only to consider any of the most serious professions that often involve life and death decisions, such as medicine and law enforcement or considering other activities where one wrong decision or oversight in planning might mean serious injury or death, such as rock climbing or scuba diving. All of these require the actors to learn knowledge and skills and execute them at a consistently high level of competence. I am guessing (I don’t really know for sure) that training in law enforcement or medicine probably involves highly detailed simulations in which the participants are playing the role they will later actually be in the real world. I would also guess that rock climbers and scuba divers don’t start out by climbing the most difficult faces or diving to record depths. They probably spent a great deal of time training and working up to higher and higher levels of difficulty and danger.

In all of these cases, I think there is a common factor in the training: a level of safety. Perhaps the condition that there is a level of safety could broaden the definition of play for people of every age? That is, that there is a built-in safety factor so that the player can explore and learn without fear of serious consequences. The play still has to have meaningful and real consequences in order for the player learn but maybe not injurious or lethal consequences. In everyday contexts, it is pretty well known that safety (physical and psychological) is a crucial condition for learning. In fact, it is also clear that children who are fearful or anxious experience great difficulty learning and chronic anxiety might impair future learning.


Most mammals play, especially when young. Think of any litter of cubs that you have seen. There are lots of theories as to why mammals play but, surprisingly, very few have been proven by careful observation and research. Two consequences of play in mammals that do seem to be confirmed by research are:

  • development of social competence
  • increased brain mass and neural connections (cognitive development)

In my experience as an educator, my students have taught me how making things equates with playing; creation and play are deeply connected. Further, I think that if people of any age are creating things they are exciting about, and sharing them with others, the experience is very meaningful and highly memorable. Experiences that are personal (but in a social context) and involve the creation of some kind of product are not merely experiences; they are extraordinary experiences.

I think we all learn something from every experience but I am curious about something: is there really such thing as a passive experience? Maybe all experience can be plotted on a continuum of extent of activation or something like that. If you can plot experiences in this way, I have another question: is there a direct relationship between extent of activation and potency of learning? I have written previously about Mihaly Csikszentmihalyi’s concept of flow (1, 2) and I think it is worth mentioning again. To me, flow is a indicator, perhaps the best indicator, of the extent of activation of an experience.

I strongly believe that one can say:

Flow indicates powerful, joyful, natural learning.

just as accurately as one can say:

Powerful, joyful, natural learning induces flow.

Finally, a quote from Fred Rogers:

Children’s play is not just kids’ stuff. Children’s play is rather the stuff of most future inventions. Think how many people played about going to the moon before that was ever a reality. Let your imagination help you to know the truth about your identity.

Learning factories

Here is an excerpt from an interesting blog post called The Invented History of ‘The Factory Model of Education.’ 

Schools might feel like highly de-personalized institutions; they might routinely demand compliance and frequently squelch creativity. But they don’t really look like and they really don’t work like factories.

I disagree. I do agree that there was not as much intentionality, as some people have recently characterized it, to the initial design of both. I do think, however, the same sensibilities and values went into the early design of both factories and education systems. Many similarities continue to exist: siloed subject matter, grade levels, timed work and break periods (with bells to mark them), limited time to learn and to get work done, evaluation of work by superiors, sometimes there are uniforms, strict attendance and rules and consequences, transmission-delivery of knowledge (assembly line), and so on.

Whether the factory model of education is invented history or not, the parallels are there nevertheless.


Imagine you have a new job in a busy factory, on an assembly line where parts continuously come down the line that you need put together. They come really fast but you are new and can’t keep up. Just to reduce your anxiety and embarrassment, you quickly pile a large number of the parts into a big box beside you. Whew! Now, you can breathe. A few minutes later, a bell goes off and new parts are coming down the line. These parts need to be attached to the parts you got before. But those parts are all mixed up and piled up in a big box. There’s no time. And tomorrow, the factory is making something else. You’re getting really far behind but the speed of the assembly line does not slow down. So, in frustration, you quit.

After a bit of searching, you find a new job. This factory also makes things from parts but there is no assembly line. Instead, all the parts needed are organized on shelves in boxes around you. You are expected to start putting the parts together and eventually, you are told, you will get faster with more practice. The person who told you this is the person standing next to you who is doing the same job. You work next to this person, you can ask questions, and you can watch what they do. You like your new job and quite soon, you are very productive. But after a while, it’s repetitive, and ideas you had about doing it differently or creating new products fade away until you feel more like a machine than a person. So, in desperation, you quit.

Finding a new job this time takes much longer. Eventually, you do find one and the place looks nothing like the first two factories. It’s more like a workshop and the people there act more like a team. The workshop is not interested in conformity and standardization. They are interested in new ideas, new designs and new products. They are interested in looking at real problems and issues people face and trying to help people live better lives. They are also very interested in your dreams and passions. You take quite a while to acclimate to this new work environment because you had lost touch with those passions in yourself. Eventually, you realize you have a talent for seeing things in new ways and your ideas are valued and exciting to others. In this new job, you can be who you are not what someone else needs you to be.

Robinson points out that education should be customized for learners and the conditions for learning should be tended to, much like gardeners and farmers tend to their plots and fields, so that growth is not only supported but also flourishes. And individual talents and dreams are highly valued, they form the core of what each person starts with to build on and learn.

How to learn?

Give it a try. Google “how to learn.”

I was expecting to see various learning theories from psychology or philosophical discussions of ways that knowledge forms and develops in the mind. Surely something like assimilation or accommodation would be somewhere in the list…?

Google - How to learn

Google provided me with various links to online courses or articles promising to teach you tips and tricks of quickly memorizing information. There were also numerous tutorials and articles focusing on how to study. Lots of videos, too:

The focus of the video above, for example, is primarily improving your study skills or how to acquire new skills quickly. But there were also strategies to improve your ability to retain information.

My general take on Google search result rankings is that they are usually very pragmatic. I am guessing that that arises from the algorithms used to place them in the order they appear in the results, that is, they will be listed in order of usefulness, reasonableness and everydayness. So, let’s try the same search in Google Scholar and let’s use the ‘since 2016’ to get more recent results:

scholar 2016 how to learn

These results are more like what I was expecting the first time but they are still disappointing. I wonder if other’s experiences are similar to mine when I research. I find exciting, general titles applied to studies that actually look at highly specific affordances or phenomena. Take for example the link above Should we teach students how to learn? Interesting title. That encourages me to read the abstract. As it turns out, the abstract is as disappointing to me as the study. This is not to say the study is flawed or incorrect. The disappointment goes deeper than that.

There is a common assumption shared by most of the information found in my Google searches about “how to learn.” Most of the resources I found assume a transmission, delivery model of instruction. So some questions arise in my mind:

  • If one assumes the transmission, delivery model of instruction, how does that influence one’s beliefs about learning?
  • Are there objective facts about learning?
  • What if we place learning quality on a continuum, how do we assess how powerful, useful or long lasting learning is?

It goes the other way, too. Lots of real, peer reviewed research (but not all) has much to say about learning within the assumption of the transmission, delivery model of instruction. Therefore, one might predict that the reader will infer what learning is and means due to the assumption.

When I reflect back on the most powerful, memorable, and exciting learning experiences I have had in my life, none involved me being a receptacle for knowledge being poured or ‘delivered’ into my mind. The most powerful learning experiences (in a formal education setting) involved me being active player in the learning; there was choice; there was designing or making; there was a project; there was time to work through different versions; there was reflection and discussion with others.

Will Richardson, in his 2015 TEDx talk The Surprising Truth About Learning in Schools, highlights the conditions that lead to powerful and memorable learning:


He mentioned in his talk that people identified these traits nearly every time when reflecting on the memorable, powerful learning experience in their lives.

But what does all of this have to do with how to learn? I am using all of this as a preamble to what I think is a profoundly insightful statement about how to learn:


What is fascinating about this idea is that all new learning happens in terms of learning that has already taken place. Assimilation and accommodation of new concepts are not new ideas, of course. A crucial condition in education is that in order for one to learn new things, one must be well aware of what was learned before and how it connects to new experiences. That is, learners are in a constant state of adaptation of their minds. I think it’s an active process and one that involves continuously testing one’s understandings or creating things (concrete or abstract). This is one of the primary reasons constructionism makes so much sense to me.

I think this constant state of mind adaptation is analogous to living in and maintaining your home. Your home is made up of some number of rooms, each has a purpose, or a set of related purposes. Within each room there are things you need for what you do in that room. Those things are organized and positioned in a practical way; they are useful. And, as those things are regularly used, you learn to use them better and better… but sometimes they break, sometimes they are replaced or redesigned, sometimes discarded. Sometimes you add or install new things into your rooms. Learning isn’t like building a library or a toolbox where books or tools are simply added and stored (it can be but those things will probably be forgotten quickly). Learning new ideas and skills must have a context. They need to be connected to a purpose or function. And they need to be personal… or personalized.

In my home analogy, I am thinking that the rooms are like large, overlapping (or interconnected) domains of knowledge and skills; the contents of each room are models and tools that we use to think, figure out, solve problems, be creative, and so on. Some home designs are open-concept which is the idea that rooms are larger due to fewer walls, and they are rich, diverse environments where many kinds of things happen at once in that space. Other homes are more cellular or subdivided; there is an array of  smaller rooms that are more specific in function.

In education, I think a learning environment that is designed to be authentic, contextual and interdisciplinary will result in an open-concept structure in the minds of the learners that make and communicate there. If children are focused on understanding the connections between things that they see, make, and discuss, then I think their developing minds will be less claustrophobic and there will be fewer arbitrary divisions between what they learn in one instance and what they learn the next.

5 ways to turn the ‘hour of code’ into the ‘year of learning’

Last year I posted an article called Turn the Hour of Code into the Year of Learning. This year, I wanted to share a few ideas about how you might do that. After checking out some hour of code activities with your students (this year, officially, December 4 – 10), take a look at the ideas below – they might help extend the hour of code introductory activity into a long term, project-based learning adventure for you and your students.

1. Learn to code by starting your own coding project

Scratch-New ProjectMany teachers have told me they have thought about ‘doing coding’ with their students but they are hesitant because they don’t know how to code. One strategy that has worked with those brand new to coding is this: commit to three 45-minute coding sessions on your own time, at home, using the Scratch coding environment. Like any user, you create your own account on Scratch so that your projects can be saved and shared (your students should create their own accounts, too, for the same reasons). Then, spend those three, 45-minute sessions making something in Scratch that is enjoyable and interesting to you… hopefully you will choose to make something you are passionate about like an art project, or an animation, or a game, or a digital story.

The idea here is that when it comes time for you to introduce the Scratch environment to your students, you can share with them (authentically) the project that you are working on and excited about. Ideally, you can show them how you coded it and even continue to work on it in front of them, thinking out loud as you go. Don’t worry about designing lessons about each coloured coding block or giving them coding assignments to complete; that’s not the ideal approach. A proven and effective approach is to tell them that there are four “rules” for working on their Scratch projects:

  1. make something that you are passionate about
  2. think of your Scratch work as a project that might take days or weeks to complete
  3. learn by playing, tinkering and experimenting (think growth mindset)
  4. work with each other, your peers, to discuss ideas and share new skills

This is the 4P approach to creative learning outlined by Mitch Resnick in his book, Lifelong Kindergarten and used by his Lifelong Kindergarten group at MIT. (In fact, you can listen to Mitch discuss each topic in these YouTube videos: creative learning, projects, passion, peers, play, creative society). Students will want to work longer and harder on collaborative projects they are passionate about. I’ve seen exactly that happen with countless students, including this one.

In early November of this year, when I outlined these “rules” to a grade five class for their Genius Hour projects, one boy said with a little smile, “those aren’t really rules… they’re sort of fun rules.” He was right; they aren’t rules. They are the foundation of a different learning paradigm and for building a creative, collaborative learning culture.

2. Think of coding as a literacy

MarkZThere is a well known video called What Most Schools Don’t Teach. My favourite response in the video is from Mark Zuckerberg (at 47 seconds). I think his response best characterizes the idea of coding as a literacy. Thinking about coding as a literacy is the essential perspective that educators need, in my view, in order to move forward with helping students to use coding as a tool to express, create and explore ideas and concepts.

Most teachers would agree that reading, writing, speaking and listening are the working components of being literate; competency in each of these components is crucial to accessing and exploring new ideas, expressing one’s ideas, and learning, making, connecting, thinking. Computer programming is another literacy in which people can express ideas and make things by thinking mathematically and computationally.

To me, the video sometimes seems to be saying that every kid should be learning how to code because the world will need more computer programmers in the future or that that skill will be essential in future jobs. But I think its just saying that learning to code at some level of competence will be beneficial to everyone, no matter what you do. Every kid in school won’t become a professional journalist or novelist even though they are learning how to read and write just like every kid who takes piano lessons does not become a concert pianist or piano teacher. Reading words, reading music and reading code are all not only useful skills to develop but learning each also helps you to think, express and understand.

Coding in education is not just about building a skill set. Thinking is such as abstract concept. If you are a teacher, you probably help students to “make thinking visible” in many different ways. To me, that’s a literacy. I think that anything kids create to make their thinking visible, that process and that product, qualifies as a media text. Thinking is more than just ideas… thinking can be feelings, dreams, fears, inventions, problems and solutions. Kids can make music, write stories, code games, build machines, and design new ways to solve problems. Coding, in this perspective, provides another avenue for creation and expression.

3. Plan a design-thinking, project-based learning activity

ScratchConsidering how design-thinking can help students learn is a popular endeavour among teachers right now. There are many great books recently published such as Launch and Invent to Learn. I think of design-thinking as a model for thinking both creatively and critically. Coming up with new ideas to solve a problem is important. But, design thinking also requires reflection and critical thought: How are our solutions solving the problem? Should we continue in that direction? Do we need a rethink? Do we need more information? Do we need to learn new things? Do we need to talk to other people about it? And so on…

I recently shared a long-term project in which I was working with another teacher to create a project-based learning experience for a Grade 4/5 class, rooted in design-thinking. Full details about the project are outlined in this article. Essentially, my teaching partner and I were interested in empowering students to apply their coding skills to create a computer game (using Scratch) for younger students, one that would make learning about fraction concepts fun and easy for them. We intentionally did not start with a design process flowchart. Through ongoing reflection, and a culminating reflection activity, we wanted them to build their own design-thinking process from their shared experience of designing the computer game.

One of the most important things to point out is that our primary focus/goal was not for kids to learn to code. That happened for sure but it wasn’t the main focus. More important was:

  • facilitating the project-based learning environment
  • helping them to share and discuss their ongoing work and learning
  • holding expectations that they were regularly reflective
  • establishing structures for them to be reflective and collaborate
  • supporting their creative and critical thinking efforts
  • maintaining an environment where playing, tinkering, experimenting, and sharing were not only acceptable but desirable

Coding in Scratch formed the context in which all of this took place. We thought of coding more like thinking made concrete and as a medium for expression rather than as a skill per se that simply needed to be learned.

4. Use programmable robots or controller boards

robotsIt wasn’t that long ago that, outside of LEGO Mindstorms (launched in 1998) or LEGO WeDo (launched in 2008), there wasn’t much else commercially available to children, teachers, parents and schools. These were among the first buildable and programmable robots. As the maker movement took root in schools, there has been an explosion of buildable / programmable robots available (e.g., Sphero, Dash & Dot, mBot, Ozobot). There are online stores that carry hundreds of robots and sites that help you choose the right robot for your / your students’ needs.

There are also programmable, or at least tinkerable, controller boards (e.g., Raspberry Pi, BBC micro:bit, Arduino, Makey Makey) that are designed specifically for students to make and build in educational contexts. Again, lots of online stores and sites that help you choose what you need.

Designing, coding and building computer programs that work only on a screen might be all you need. But, you can expand the possibilities and choice for students by exploring and arranging for access to robots and controller boards. In the beginning, programmable robots in education (viz. turtles from Grey Walter and Seymour Papert) where always real, physical, electromechanical robots. Providing access to real programmable robots expands the possibilities for designing, playing, making, thinking and sharing significantly. It also tends to make more sense to younger children who often prefer a concrete object to interact with rather than a virtual (screen-based) one.

5. Offer challenges but maintain student voice & choice

MLC-Nov262017I have always liked the notion of children learning skills and fluency in any domain from authentic immersion. Papert’s idea of a mathland, where children learn to become mathematically literate, has always resonated with me.  I think computers allow for diversity and the ability to individualize the way in which children want to explore, make and share their ideas about mathematics, based on their passions.

I think choice and passion are the priority for learning. Helping students to find what they love and then supporting their projects in that domain is time well spent. Sometimes, though, you can add challenges to the list of choices for students.

I continue to add to a Scratch studio a collection of ‘mathland challenges’ for students to try if they wish. The idea is they can ‘remix’ the Scratch code in a given project to make changes and explore and build concepts. These challenges are often deliberately connected to overall expectations outlined in the Ontario Mathematics curriculum. I did not create these challenges as assignments for students or as puzzles. They are meant to be examples of projects students could choose to explore ideas and concepts.


2D mapping project in Scratch

This blog is a reflection on a Scratch project I have been working on. I wanted to capture, at an overview level, my thinking and progression through this project.

The purpose of this post is exploratory and preliminary. I’ve started a collaborative inquiry with one of the teachers I am working with this year, and his class of grade 5 students on a year-long project to eventually move from generally non-reflective learning to intentional, reflective learning, especially within the domains of mathematical and computational thinking. I will be writing more about that inquiry in a later post.

In my Scratch project, I am trying to use an array in Scratch (called a list) to contain the parameters of a large, virtual map that could be used as an interactive world in which a game or adventure could take place. Ultimately, I want to generate a large map made up of tiles measuring 20×20 pixels. The overall map might be 100×100 tiles in size, perhaps. Initially, I am thinking I need to know at least three things about each tile of the map:

  1. Row position
  2. Column position
  3. Tile attribute ID (a number that would denote both the kind landform and what item, if any, would be available in that tile – e.g., grass, sand, water; grass + flower, sand + flower, water + fish)

Since Scratch only comes with the capability to create one dimension arrays, I decided to try to use three lists simultaneously, one array of values for each attribute; as long as I used the same index number, it would act like a three-dimensional array. As I thought about it more, I realized that this approach would not work. I could not get three lists to work like a matrix of values. What I needed was a two dimensional array that would hold whatever value for the Tile attribute ID. I cannot use a two Scratch lists (using the same index number) as that does not define a 2D matrix of distinct variable containers. I was stuck.

Anyway, quite a while ago, I created a first project that initializes and draws a map made of 18×18 tiles (and each tile was 20×20 pixels, as noted above). That seemed to work okay. The project that creates and draws the map is linked below. Note that you cannot move around in the map; it just creates a map and displays it on the stage.

I recently revisited this Scratch 2D mapping project again. In order to help me think about it, I simplified the problem. I thought of a 10×10-tiled full-size map, displaying 4×4-tiled window portion of the full map. I spent some time again considering how I might create a two dimensional array (using a function block in Scratch) but it was getting very complicated… needlessly complicated for the goals of this project.

I decided to go back to my original idea of using one list (array) in Scratch to store the Tile attribute ID value for each tile of the 10×10 square array of tiles. So, using this linear approach, items 1-10 of the array would correspond to row 1 and columns 1-10; items 11-20 would correspond to row 2, columns 1-10, items 21-30 correspond to row 3 and so on. The 10×10 map grid is simply arranged in a 100 item long list.

In order to display the 4×4 window onto the map, I needed to apply some patterning and algebraic thinking to the function that located the top, left corner (TLC) of the 4×4 grid of tiles. Now that I have written the code successfully, it seems simple now to reflect on it but I needed to think through the values systematically to make sure I had the pattern.

My idea was that the function would be passed one value, namely, the top left corner location of the 4×4 grid to show. The function would essentially determine the correct tiles to show from the linear array and the correct positions on the stage to stamp them. Before I wrote the function, I played around on some grid paper and drew this to get it visually clear:

2D map thinking

After doing this, I felt more confident about how to code the loops in the function and proceeded to write the code. Eventually, the code for the function took shape like this:


The inner loop draws the 4 tiles in the row, the outer loop controls which row is being rendered by the inner loop. I wrote the function in such a way that it could be later expanded to draw a much larger map grid, and a larger window portion to display. The go to x: y: block controls where on the stage the tiles appear.

Here is the project that contains the 10×10 full-size map and the 4×4 display window. You can play with it yourself and see that the it works to only ever show a 4×4 portion of the full 10×10 map. Use the arrow keys to ‘move around’ in the map.

The final task to complete is to write bounds checking code so that the arrow keys do not  move the 4×4 window outside of the 49 possible TLC positions (for the 10×10 grid). The problem is that I did not write the TLC-control variable code (arrow keys) in a way that will make bounds checking easy. I think that part of the code will need to be rewritten to be not only more efficient but also allow for easy expansion later to a larger window size and larger overall map.

With just a few changes, the overall map is now 100×100 and the viewing area size (window) is 20×20 tiles, where each square tile is 16 pixels wide:

This blog post is written to demonstrate the connection between an idea – a large, predefined map area being displayed within a smaller window – and the mathematical and computational thinking behind it.

The Ontario Mathematics Curriculum (Grades 1-8) defines 7 mathematical processes:

  • Problem solving
  • Reasoning and proving
  • Reflecting
  • Selecting tools and computational strategies
  • Connecting
  • Representing
  • Communicating

As I so often observe with students who are working on their Scratch projects, all seven processes are activated during work in project-based, design-thinking based coding-based projects. In my mapping project, without question, each of these processes was engaged at various times during work on the project.

This curriculum also divides mathematical concepts and skills into 5 strands:

  • Number sense and numeration
  • Measurement
  • Geometry and spatial sense
  • Patterning and algebra
  • Data management and probability

In my mapping project, I needed an understanding of and the ability to apply concepts & skills in three key strands: number sense and numeration, geometry and spatial sense, & patterning and algebra. I needed to figure out (and then write the code) how to determine the correct 2D pattern of 4×4 tiles to display from the 1D linear array of values, the correct placement of the 4×4 grid on the screen in response to the arrow-key input, and the proper overlay of the 4×4 grid onto the Cartesian coordinate system the defines the stage in Scratch.

Stay tuned for a later update about the bounds checking code as well as details of the collaborative inquiry with the teacher and his grade 5 students.