Software review: Codeacademy

Guest post by Andrew from Match Next

Learning how to code is all the rage these days. Over 17 million students in the US participated in the ‘Hour of Code’ back in December. Code.org, a computer science-education nonprofit, organized the event to introduce students to computer programming through free hour-long tutorials. The organization is trying to expand participation in computer science and make it a core part of math/science curriculums.

We didn’t participate in the ‘hour,’ but we’re sort of on the programming bandwagon. It makes total sense since the demand for software engineers is skyrocketing (twice as fast as all other occupations, according to the Bureau of Labor Statistics website). But I spend the majority of my time (I’d say at least 85%) looking at ed-tech that might directly help our 4th graders in the ‘meat and potatoes’ subjects - math and ELA - rather than things like computer programming software. This sort of ed-tech really falls into my ‘nice to have’ bucket, not the ‘need to have’ one.

That being said, I’ve dabbled in computer science products as well, and actually tested a couple programs that try to teach kids how to program or think like a programmer. Over the next few weeks, I’ll describe three softwares I’ve found and tried with our kids - Codecademy, Scratch, and Tynker. Today, Codecademy.

So what is it and how do we rate it?

It’s a program that teaches the basics of computer programming. It offers tutorials in six different coding languages: HTML/CSS, jQuery, JavaScript, PHP, Python, and Ruby.*
*disclaimer - I have very little understanding of what these are. I’m a total novice when it comes to programming. This actually helped, because it put me in the same shoes as our kids when I tried it out.

I’d give Codecademy a 4 out of 10 for elementary/early middle school-aged students - not that good for kids in this age group. It was great when we started using it, though. Enthusiasm was high, the program was fun, and our kids loved it. When we started, one of our students even said, “We’re so lucky” because he was having a blast.

But then it went downhill. Lessons got way too hard way too fast, kids started seeing words and concepts that they couldn’t digest, and once enthusiasm started waning, the number of kids wanting to use the program eventually fizzled out.

How it works

It’s a really simple program to navigate and use. It’s Google-compatible, so our students could log into the program with their Gmail accounts. Once you log in, you need to choose one of the six available languages. I chose JavaScript for our students because it’s designed for beginners, plus they liked that it can be used to build internet games. Here’s how Codecademy describes it:

When students begin the course, they’re taken to the lesson screen. The instructional materials are on the left side of the screen. Students type their ‘script’ (the line of the code) in the middle. The result shows up on the right. Here’s what the ‘activity’ pages look like:

As you can see from the first activity in the JavaScript program, I correctly typed my name in the middle column, then it showed up inside the black box on the right side of the page.

Every page is set up this way. There’s only one activity per page (e.g. typing my name), but some pages require multiple lines of code to be completed correctly. That’s really all there is to it. All the courses are set up the same way.

Problems with the program

Two main gripes here.

1. It got way too hard for our students, way too fast. The JavaScript course has 28 activities listed, and our students were losing steam by activity 10. The biggest reason for this was our kids’ abilities to comprehend what the program was telling them about and asking them to do. The program goes from relatively simple activities (e.g. type your name, tell the computer the count the number of letters in a word, etc.), to harder activities requiring JavaScript language. Here’s what the 10th activity looks like:

There’re all sorts of things in that page that our kids couldn’t get. A lot of them didn’t totally understand some of the words like ‘data’ or ‘quantities’ or ‘sequences’, so asking them to apply these concepts to construct a ‘string’ wasn’t happening. Also, there’s a lot of text for them to dig through, and it would’ve helped our students if the information had been broken down more or into multiple pages - I saw that the kids’ bandwidth for too much info in one sitting wasn’t very high.

I’m almost positive that a lot of this stemmed from our age-group of students. The kids I’m working with now are almost finished with 4th grade - that’s typically 9 to 10 years old. I can easily imagine an older student - late middle school and high school - being better able to dig through the tougher activities and really benefiting from the program’s introduction of these coding languages.

2. Codecademy teaches the coding language, but it doesn’t really teach students how to think like a coder. It gives explicit instructions on how to write in a particular programming language and has users do activities in that format, but this process felt more like teaching a dog new tricks rather than teaching a person about a subject. Imagine teaching a student to do long division without actually explaining what ‘division’ is and means.

One smaller gripe:

3. There’s no teacher dashboard. I found myself having to manually track student progress as they got through the activities. It would’ve been helpful to see how my students were progressing through the JavaScript lessons, how many times they typed in incorrect code, how long they spent on each page, etc, all on one screen or dashboard.

Next time: I’ll review one of the other programs I tried with our students. We like it better than Codecademy, but it has it’s own problems that make it tough to use for teaching kids about computer programming. It’s called ‘Scratch.’

--
if you’d like to talk shop: andrew.jeong@matcheducation.org