I recently completed with my first Hour of Code experiment with a young friend. I intentionally did not explore too much beforehand, wanting to experience the learning process alongside the girl (I will call her Z). I was curious what I would learn by watching a young digital native engage with coding.
Z is 10 years old, and currently a fourth grader at a Waldorf school. Waldorf schools discourage children’s use of technology at school and home. Her family takes an inspiring approach to this recommendation. They choose to not completely swear off technology, but rather to have regular conversations about when and why technology can be appropriate. Thus, Z does not use computers or watch media at school, but she engages in these things very minimally and very mindfully at home. This provides an interesting context for coding with her: She is technically a digital native, but does not actually engage with digital media herself very often. Here’s a little bit more about her:
She loves animals, and wants to be a vet when she grows up.
She is endlessly creative and self-motivated, loves art, theater and making all different types of things.
She insists on solving real world math problems in her head when they present themselves (before adults can tell her the answer).
She is compassionate and thoughtful. As long as I’ve known her, she has used gift-getting holidays as opportunities to raise money for animal charities.
She loves reading, and has been known to read a novel per day.
We began by watching the Hour of Code Video Introduction together, which got her excited about being one of “10 million” students to try “An Hour of Code” (and the number is currently much higher).
I sat at a Thanksgiving dinner table about a week and a half ago with a group of friends. We were enjoying our feast and chatting about this and that. Since most of us at the table were either teachers, spouses of teachers, or children…you can imagine how our conversation kept drifting back to issues in education. I started telling one friend about my goal of learning to code, and she asked a simple question:
“What IS coding anyway?”
This question provoked a little nervous tingle, as I realized this was the first time I had been asked to explain something about coding to another teacher. I had to stop, rewind my brain to just over two months ago when I started to explore this very question, and try to conceive an answer that would make sense to someone with the same background and lack of technical expertise as myself. My response was something like this:
“Coding is very basically giving your computer a set of instructions that you write in a programming language. The computer then responds by doing what you told it to do.”
I was relieved when this came out of my mouth and I realized that it largely made sense. This conversation also made me realize that could be important to spend some more time considering what that coding really is, and ponder some ways to synthesize and explain it to people who might not have any background, or might never have had any interest before.
When I was first learning to code, I would Google things like “programming for beginners”, “what is coding?” and “learning to code”. My search efforts would return tons of great resources for people who already know a little bit about computers, and are not completely intimidated by words like “algorithm”. Many of the search results assume you know what a “console” is, are already comfortable with words like “variables” and “data types”, or what a “platform” is. If you don’t already know these things, do not worry about them! I think there is a level of beginner explanation that is just plain difficult to find. Just to be clear, I recognize that there are tons of great beginner resources out there…I just found myself wishing for an even more novice level of basic description. With this in mind, I’m going to attempt to offer my own supplement, and explain programming in a way that makes sense to me and might appeal to a broad array of non-programmers.
This seems like a particularly relevant thing to do now, since this isComputer Science Education Week (Dec. 8 – 14). All this week, millions of children around the world will participate in “An Hour of Code“. This is a challenge to teachers, administrators, community members, and families to offer children “a one-hour introduction to computer science, designed to demystify code and show that anybody can learn the basics.”Code.orgis organizing and promoting this challenge, and they offer tons of great resources on their website.
Note: Although some argue that there are differences, I use “coding” and “programming” interchangeably throughout this post in reference to “the act of writing computer programs”.
Keep reading if:
You have ever wondered about coding/programming
You have never wondered about coding/programming (because it is never too late to start!)
You have tried to look up coding and programming before, and didn’t gain a whole lot of understanding
You do not consider yourself very tech-savvy or computer literate
You are curious about how someone who meets the above criteria might explain programming
You are curious what children are actually learning from beginner tutorials
As the 2014 Hour of Code challenge offered by Code.org draws near (Dec. 8-12), I wanted to spend a little time with the history of what has gotten us to the place we are in today. To many educators, the ideas of edtech and coding in schools still seems far off and mysterious. However, the innovators who embrace these ideas are incorporating them into learning experiences and seeing children become inspired and motivated by code.
From 1980 to 2003, technology moved forward, but what moved backward? Examined through the lens of two thinkers: Seymour Papert and Why the Lucky Stiff
Papert and _why are indeed very different types of thinkers. Papert was a scholar, rooted in academia and with time logged collaborating with constructivist learning theorist Jean Piaget. _why was a self-proclaimed “freelance professor”, who created art, code, and everything in between as tools for social provocation and advocacy. I refer to them both in the past tense because while both are still alive, neither are actively engaged in the contemporary public conversation. Their work and legacies are what live on and serve as inspiration.
In 2003, _why wrote an essay titled: The Little Coder’s Predicament, specifically calling to task all the companies who have systematically been adding layers of features, regulation and security to their technology. These anti-piracy measures had resulted in a societal distancing from the understanding of code, and a lack of ability to access actual code.
…I’m thinking a toy language for consoles and desktops alike could be monumental…
…You’ve got to be able to write a single line of code and see a result. We need some instant results to give absolute beginners confidence…
…Tinkering with hardware is learning. Lobotomizing and renovating is meaningful, magical. On behalf of those who prefer to code, I make these wishes. Not to take away jobs from the Phillips screwdriver…. (2003 essay)
In my post on the Logo, I share that Papert advocated for his dream of children being able to program. He called for easy and accessible tools almost 20 years before _why’s plea. In his essay, _why reminisced about the era of being able to program directly from your Commodore 64, or Atari 800 (which was the very same era that Papert was working on Logo with his MIT team). So what happened between Papert’s call for accessibility in 1980 and _why’s call for accessibility in 2003?
Advancement. Piracy. Fear.
Innovation has driven a more user-friendly experience. However, the more user-friendly the experience, the deeper the code becomes buried. Companies are creating better and better tools, and protecting them more and more fiercely. The more protections, the harder the code is to access. Everything in technology has gotten faster, better, closer, more useable, more understandable…except the code. In the 2003 environment in which _why wrote his article, there were many barriers to children getting involved in coding because it was so hard to get to the code and be able to play with it.
This is my last post about Barbie, I promise! I just couldn’t resist using to Feminist Hacker Barbie site to look at the bright side before this whole internet controversy dissolves away. At the end of the day, this book gave us the opportunity to start a meaningful dialogue about gender roles, so let’s keep talking about it! (This is for Alex…thanks for the idea!)Continue reading →
Do you view yourself as bad at math? Bad with technology? Incapable of understanding computer code?
Great news! These things are only true if you continue to believe them! If you change your messages to yourself, you will be more than capable of being good at math, good with technology, and capable of understanding computer code (among any number of other possible things you could choose to learn).
These are my original goals identified two months ago when I started this project:
Goal #1: Learn to code
Goal #2: Write a blog about my learning in order to process my thinking, share with other people, and gain insights from readers.
I have learned a great deal since I started working toward these goals almost 2 months ago, but have recently identified an unexpected outcome: I’ve begun to consume and process my technological experiences differently. (Clarification: This outcome was unexpected to me…not necessarily anyone else!) Continue reading →