I can look at code and talk about it with some comprehension. I can name some languages and write an app with swimming mermaids in Bitsbox. I know what coding is, and I've even looked at, dissected, and used code in limited ways. But I'm not fluent by any means.
To do my job as an technology educator, I don't need to generate code like a professional programmer. In fact, my special perspective on how learning to code benefits anyone helps me be an advocate for kids and adults alike who are beginning their coding curiosity. I can be especially helpful if their goals are to make things and enjoy code and gain literacy, without driving towards a professional path or paycheck because I too think code is cool, but never thought it was a professional destination for me.
What I learned about coding as a kid
In the 1980s, as an elementary school student, I attended a summer school enrichment program. Each student could pick a morning class and an afternoon class. My morning class was LOGO, so I learned to type commands into a box on a screen and make things happen on the screen.
In truth, I was truly excited about my afternoon theatrical production class. But my dad was a self-proclaimed math enthusiast and said that LOGO would be "cool math on a computer screen."
I spent most of my mornings drawing boxes, then circles, and then flowers with the LOGO turtle. I learned that turning the turtle 180 versus 270 degrees mattered when generating the next path and shape.
Screen shot of LOGO in action.
LOGO is like Bitsbox in that it does have kids typing actual code and commands. What I remember most was the process of getting my ideas from my head to executing on a screen:
- Drawing a shape on a piece of paper
- Figuring out how and where the turtle would need to "move" to produce that shape
- Calculating steps and turns
- Converting those steps and turns into coded instructions
- Waiting to see what had and hadn't worked as I had planned
Without knowing it, these steps were an introduction to the process of design-test-revise that coders use.
Other than LOGO, my computing experience was limited. In high school and college, I typed papers and made bar graphs on a Mac Classic II — the first computer to live in our house. But I didn't do any other coding. College was the time when computing became important, but gradually — it was the late '90s after all. The college I attended still used paper card catalogues, and computer science was still a very specialized choice for a course of study. I actually didn't get a computer of my own until my senior year when I bought a used Macintosh LC.
My (mis)adventures with MATLAB
A decade later, when I went to graduate school for my M.S. degree in cognitive psychology, I actually wrote my own code in MATLAB to help run an experiment. But writing that code was painful.
In my experiment, every test subject needed to hear one sentence and see two pictures of possible interpretations of that sentence. So, sentences like, "The cow kicked the horse" and "The cow got kicked" would show two pictures, each with a cow and a horse. In one illustration, the cow is doing the kicking, and in another, the horse is doing the kicking.
Every recorded sentence (120 of them!) needed to have two pictures associated with it as possible interpretations. The pictures needed to appear at the exact same time, but be randomized as to which was on the left and which was on the right. Also, the 120 sentences (and their associated pictures) had to play randomly.
I could write this design on paper. I could explain it to my psychology lab undergraduate students. I could even whiteboard the design. However, the precision to make this design execute on a computer screen required a computer program. And it has to be said: writing this code made me want to lie down and cry almost every day.
MATLAB is not known for its user friendliness, and I spent most of that year feeling that MATLAB was taunting me like the popular kids in middle school, "Who do you think you are, writing a computer program to run your experiment? See that bug? You don't belong in this club."
I wrote the program for my experiment mostly by visiting my school's MATLAB expert four times a week, asking him for help, and then baking for him in thanks.
How do I use code in my job as an educator?
None of my previous experiences suggested that coding would have such impact on my professional life today, nor did my degrees in linguistics and psychology. When I'm teaching kids about STEM in the classroom or library, I help the young coders who run into problems and assist the educators who have decided to integrate coding with their instruction using Bitsbox or tools like it.
Just this week, I put on my Educator hat and spent two hours helping teachers write their own simple apps. The task sounds simple:
- Write an app that starts with an orange background.
- Make a character appear.
- Make the character move across the screen when you tap it.
Like me and my MATLAB experiment, every teacher in the room had clear thoughts they could describe on paper. However, many teachers needed help as they started typing and running their code. If you're an experienced coder, this task may seem trivial, but if you're not, there's quite a bit going on here. You don't create the app simply by writing sequenced instructions, although that's a part of how code works.
With Bitsbox, I taught the teachers how code creates cause-and-effect relationships in order to make simple things happen on-screen.
A lot of us are on this ride now, figuring out what programming is or learning to code. I continue to fill in my own incomplete coding education, and I champion how learning to code benefits kids.
With Bitsbox, everyone is welcome to the coding club. To start coding, you don't need to know a thing about how code works or know what you want to do with the code that you learn. All you need is a Bitsbox app, an internet connection, and a little curiosity.