Pinterest Stumbleupon Whatsapp
Advertisement

From the title, you probably think I’ve got some major beef with Codecademy. I don’t.

In many ways, I admire them. Since 2011, they’ve introduced countless millions to the noble craft of software development Codecademy - Hands Down The Easiest Way To Code Codecademy - Hands Down The Easiest Way To Code Codecademy is a new website slash interactive programming tutorial that walks you through the basics of JavaScript. While it hasn't been around very long, the site has already been generating a lot of buzz on... Read More , and have launched the careers of thousands of developers. That number looks set to soar with the release of their first Java course. But at the same time, their product – and to be more precise, their teaching methods – leave a lot to be desired, and are leaving thousands frustrated, and unsure of where to progress with their formative development skills.

So, what’s so terribly wrong with Codecademy?

And how can you, as a journeyman coder, circumvent these flaws to reach your programming potential?

Problem One: It Doesn’t Teach the Mindset

Being a programmer is more than simply being able to regurgitate syntax. It’s about having a particular mindset, where you are able to systematically breakdown a problem into individual and logical steps, and then recreate that in a language that the computer understands.

You need to be able to look at a problem at a grand scale, and understand how each step you take affects the rest of the program. Moreover, you need to be able to tolerate a high level of frustration, and be able to persevere when you hit a mental brick wall 5 Ways to Beat Programmer's Block Right Now 5 Ways to Beat Programmer's Block Right Now Every programmer encounters an array of negative emotions over the course of their journey, and if left unchecked, these emotions can have a profound impact on progress -- even causing some to give up entirely. Read More . You need to be able to be able to research bugs and error messages, and communicate your problem to others. Simply put, you need to be able to think like a coder.

Advertisement

 Codecademy does not teach you to think like a coder.

Rather, it teaches you the basics of a number of programming languages, without any real instruction on how you’d apply them to real-life problems.

So, how can you get that invaluable experience?

Personally, I’m a big fan of Project Euler and Reddit’s Daily Programmer SubReddit, which features enough mind-bending programming puzzles to sink anyone’s teeth into. I’m a big fan of the latter, because you’re encouraged to share your code in order to receive feedback from other members of the community.

ProgrammingChallenge

The Daily Programmer subreddit, as the name suggests, comes with daily puzzles for all skill levels, from absolute beginners to hardened code jockeys.

Problem Two: Blink and You’ll Miss It

One of my biggest frustrations with Codecademy’s approach to teaching is that it feels so incredibly transient. You learn something, then you complete a challenge, and you scarcely revisit that topic again. Blink, and you’ll miss it.

CodeAcademy2

It’s unlike the approach taken by Duolingo Learn A Language And Translate For Practice With Duolingo (Now Open To All!) Learn A Language And Translate For Practice With Duolingo (Now Open To All!) The internet has given us some fantastic tools for language learning, and Duolingo is the latest site to give it a go. It's just come out of closed beta and is now available for everyone... Read More , for example, where you have to regularly revise and reinforce what you’ve learned in order to progress.

So, if you want to cement your progress, you’re going to have to do some deliberate practice outside of Codecademy. One of the best ways to do that is to simply write code. Many programmers – and I include myself in that cadre – also swear by deliberate notetaking and regular revision with flashcards.

Paper flash cards are cheap and effective. In fact, you can buy 1,000 on Amazon for less than thirteen dollars.

Oxford Blank Index Cards, 3" x 5", White, 10 Packs of 100 (30) Oxford Blank Index Cards, 3" x 5", White, 10 Packs of 100 (30) Blank on both sides Buy Now At Amazon $3.50

For those digitally inclined, there’s also a number of apps you can use. I’m a huge fan of Anki, simply because of how customizable it is. It boasts thousands of community-built flashcards, and is extensible through its powerful and well-documented application programming interface (API).

For mobile users, there are also lots of flashcard applications for Android 6 Flash Card Apps for Android, Compared: Which Is the Best? 6 Flash Card Apps for Android, Compared: Which Is the Best? Flashcards are an incredibly useful tool for studying, but they aren't always convenient to make and carry around; that's where your smartphone comes in. Read More , and for the iPhone Ace Your Next Exam Using Flashcard Apps for iPhone or iPad Ace Your Next Exam Using Flashcard Apps for iPhone or iPad If you want to start acing school exams, you're probably going to want to start using flashcards. Read More . You can also use Google Sheets How To Make Digital Flashcards With Google Docs Spreadsheets How To Make Digital Flashcards With Google Docs Spreadsheets Read More to make them!

I’m currently using CodeCode.Ninja – which, full disclosure, was built by my friend and former MakeUseOf writer Erez Zukerman. This subscription service is built with programmers in mind, and you can build a living, flash-card based knowledge base of everything you need to know.

CodeCodeNinja

What I like about the approach taken by CodeCode.Ninja is that to progress through your deck, you’re forced to deliberately type out the answer to each card. This, I’ve found, helps build up your muscle memory.

Problem Three: Syntax is Not Programming

Again, Codecademy will teach you the syntax of a programming language, but for the most part it won’t tell you how to apply it. Which is why you often see questions like this, which was posted on the aforementioned LearnProgramming subredddit.

WhereToStart

The introductory JavaScript What is JavaScript, And Can the Internet Exist Without It? What is JavaScript, And Can the Internet Exist Without It? JavaScript is one of those things many take for granted. Everybody uses it. Read More course doesn’t teach you how to embed a script in a webpage to add interactivity to otherwise flat, static HTML. The Java course doesn’t teach you how to compile your code in order to run it. Hey, it doesn’t even tell you that Java is a compiled language, or the difference between a compiled language and an interpreted language.

There’s other stuff that’s skimmed over. Codecademy doesn’t teach you how to write code that’s clean Arduino and Raspberry Pi Beginner? Here's How To Write Clean Code Arduino and Raspberry Pi Beginner? Here's How To Write Clean Code Read More , and stylized in order to be readable and easy to understand. It doesn’t teach you how to write code that’s self-documenting. It doesn’t teach you about package management, and how to use other people’s code in your own code.

This is something you can only overcome by leaving the safe harbors of Codecademy at the first possible opportunity. By writing code, and learning on your own steam.

Problem Four: Too Much Cake, Not Enough Vegetables

The reason why Codecademy is successful is because it takes coding, and transforms it into addictive bite-sized pieces that are easy to accomplish, and offer instantaneous feedback. It’s the candy of coding.

programmingboolean

The problem is, learning to be a developer often means that you have to learn about things that are important, but from the offset aren’t terribly exciting, or for that matter, easy. You don’t learn about the theory of programming. The stuff that Donald Knuth spent thousands of pages – and the best part of two decades – writing about in The Art of Computer Programming.

The Art of Computer Programming, Volumes 1-4A Boxed Set The Art of Computer Programming, Volumes 1-4A Boxed Set Volume 1: Fundamental Algorithms Buy Now At Amazon $216.57

Codecademy essentially shields you from the sticky, complicated part of programming. There’s no way around this, other than by being disciplined, and doing your own research. If you don’t know what you should be looking at, consider asking more established developers for guidance.

 Codecademy Isn’t That Bad

There’s a lot to like about Codecademy. They’ve introduced thousands to the fundamentals of computer science. But there’s a lot of room for improvement, too.

Have you used Codecademy? Did it hurt or hinder you? Tell me about it in the comments below.

Leave a Reply

Your email address will not be published. Required fields are marked *