This week, millions of adults and youth are “celebrating” learning to code by actually sitting down to learn some aspect of code for one hour. This event (known as Hour of Code) has gotten a lot of hype, which I think it deserves. As I was updating my apps today I noticed that, front and center in Apple’s App Store, was a featured section for apps and resources specifically geared to help parents and teachers learn/teach code. I had heard of Codeacademy (and the app was free), so that’s the one I tried.
Full disclaimer: I am not a computer programmer. I never took a Computer Science class and everything I know (which isn’t really a lot) I’ve learned on the job, the good ol’ fashioned way: trial and error. They didn’t have fancy, fun, free apps to teach code when I was coming up. But I figured it might get my kids interested, so I took it for a spin.
It starts out easy, explaining things as it goes, with a place to enter one value and a green “RUN” button. There are 5 exercises: Getting Started, Data Types, Variables, Comparisons, and If/Else. This app is all text, so whoever uses it has to at least know how to read and do basic math (luckily I met the requirements). My 8-year-old was able to easily complete the first few steps. Even though there are no graphics or moving parts, she seemed pretty excited when the green text popped up affirming she had completed the step properly. At the end of each section is a congratulatory screen with a score and a button to move on.
My daughter didn’t finish the “course” but I did, and I have to say that it jumped up in complexity pretty steeply. There were a couple steps I had to really think about the logic and syntax, so it probably would have become pretty frustrating for someone younger. My main criticism is that after completing a step or exercise, it would say something like, “Nice job! You know how to code!” but the majority of code is written out for you. I don’t think any beginner could write out the basic code from scratch even after running through this a few times, so it may give a false sense of accomplishment. One thing it does do well though is introduce some basic terms/functions and how they work, in an easy-to-use, clean interface.
Overall, I liked the app and thought it served it’s purpose. I think some more dynamic visual elements would better capture younger kids’ attention or would better suit kids that don’t automatically want to problem-solve or take something apart and see how it works.