Final Thoughts on Codeacademy’s Learn JavaScript Course

I’ve worked on the web for well over a decade, but times change. I have an extremely spotty knowledge of JavaScript, an increasingly used technology on the web. 2018 is the year I’m hoping to really learn JavaScript. As I learn, I want to share my experiences and lessons as someone with experience trying to advance their skills. These posts will have technical content mixed in out of necessity, but I hope to provide big-picture thoughts that anyone can learn from in each post too.

After sharing some thoughts a while back as I got started with Codeacademy’s Learn JavaScript course, I wrapped things up yesterday. Then I cancelled my subscription.

Let’s start with the good stuff first though.

The Good Parts of My Codeacademy Experience

I was motivated to complete the course and the step-by-step format helped me keep up some decent momentum.

I learned a lot of basic and newer JavaScript syntax.

I probably spent at least 20 hours looking at and writing JavaScript.

That last one really was my primary goal, so in that way I undoubtedly succeeded.

Updates on Browser Support Concern

One concern I raised when I got started was how browser support would be covered. In the end while it wasn’t particularly in-depth or covered at length, there was a “Unit” about browser support. I still wish they had mentioned it sooner, but my fears didn’t come to fruition, at least on that point.

My Biggest Frustrations

But I ran into a whole bunch of things…

Straight Up Typos and Mistakes

Let’s start with this: If I am going to pay you for educational materials, I expect you to have proofread the instructions.

I don’t think that’s unreasonable, and the number of typos, ambiguous instructions, inaccurate instructions, or code that didn’t result in what it should have, left me really fed up with Codeacademy.

For instance, here was an instruction I simply gave up trying to understand:

.then() should take a single parameter, articlesArray, and called renderNews(), passing articlesArray to renderNews() as an argument.

You don’t have to understand any of the technical language to see that this sentence’s grammar just doesn’t add up.

In another situation—and yes, I triple-checked the instructions—an exercise resulted in the following sentence:

Some of these were easy to work through, but every error decreased my faith in the interface and what I was learning.

Ridiculously Picky Instructions

Imagine you’re taking a quiz…

Question 1: Write a sentence.Question 2: 2 + 2 = __

When you get your quiz back, you’re surprised to see you got both questions wrong! Here’s your feedback:

Question 1: I’m sorry, you didn’t write “This is the only acceptable sentence for this answer.”Question 2: Your answer was in pencil. It should be in pen.

That would be ridiculous but parallels my experiences. In many cases, I found that if I didn’t use their preferred syntax (which was changing throughout, given the different authors) my answers were judged to be “wrong”, even if they worked to produce the expected results.

The way code was evaluated to determine if it was correct was lacking in many cases. An answer wasn’t correct even if it produced the right results. It had to be written the way they wanted. (And again, that changed at times.)

And yes, in one case, I was told simply to “Write an error message”, but it wasn’t right unless I used their preferred language in the error.

Duplicate Projects (that are mostly done for you)

One of the things you pay for are extra freeform projects. However, many of them were extremely similar to each other, often just asking you to complete nearly identical tasks with different data. It’s possible that some people would find that repetition more helpful than I did, but it got extremely tedious.

In later projects, I found that much of the code was already written for me, so I was writing code for and relying on other code that I could have written myself. I took this course because I wanted to write code, so it was odd that so much code was written for me. I found it especially odd that in most cases I wasn’t even encouraged to review the code provided.

JavaScript in a Vacuum

This course is in a series where it follows HTML and CSS courses, yet even though some projects relied on HTML and CSS, there was both:

Very little writing of HTML (none of CSS).

No coursework about integrating HTML and JavaScript.

The following courses in the series cover this information, but it was odd how HTML and CSS code was provided for us rather than having us write it.

Similarly, certain JavaScript concepts like classes or extended objects disappeared from projects after the relevant lesson was completed. The learning did not build on itself.

The Gut Punch: Broken Bug Reports

I spent tons of time writing detailed bug reports documenting many of the issues as I came across them. Probably 20 or so reports in, I was devastated to find a hidden error suggesting none of the reports were submitted. The form appeared to be working, but I don’t think a single report got through.

That was kind of the last straw for me. The code on the site itself wasn’t even working properly, so what exactly was I learning to do? My one post in the forum didn’t get any responses and I generally felt very alone on my coding journey, culminating in learning that none of my bug reports were received.

Big Picture: Course has run. Time to move on.

To repeat: I did learn some stuff, but I’m not quite sure how much yet. Between the instructions and some other pedagogical gripes, I’m very unconvinced that a novice could gain much from this course. It teaches you to write code but not to code.

I can’t say that I regret doing this, but I’m really glad it’s done. I’m looking forward to trying out a new course, hopefully one with fewer typos.

This has been a very revealing review on the practical issues of code academy. I’ll begin courses this fall in GUI, javascript, and other misc. topics on coding. I’ve found that Cleverprogrammer.com is a great resource for courses on coding. Do you have any other suggestion rather than code academy?

Glad you found the review useful, Chase! I haven’t found any fabulous alternatives. I’ve enjoyed the Javascript30.com series, though it’s very different and doesn’t include any introduction or primer material. The same person makes some more “course-like” series though that could be worth checking out.