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 is Computer 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.org is 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
Continue reading →