Thursday, July 10, 2014

Codecademy - Learn Computer Programming

What is Codecademy?

Codecademy is a website where you can take multiple courses in different programming languages.  As of 6/26/2014 they offer HTML/CSS, JavaScript, jQuery, PHP, Python, and Ruby.

Are there payment options on Codecademy?

No.  Everything can be accessed without payment, and there are no 'payment in lieu of time' options.

How it works

Signing up

Signing up is simple; you can sign up by linking your Facebook or Google+ account, or you can just sign up using email.  You set up a username and password for yourself, then you choose one of the languages you want to learn.


Each programming language has the same sort of format in the lessons - there are the lesson 'lectures' in the left tab of the screen, with your current lesson title on the top and the exercise instructions on the bottom of that tab.  Most of your screen is black, usually with a few lines of code already on there and line numbers so you can tell where you may need to fix a bug, or an error in the program.  On the top right of the black screen will be an output box.  Whatever you 'print' or send to the output will be shown there.

Each course is like an online lesson.  You have lectures on each topic, sometimes with examples of how syntax of code looks like.  At the bottom are instructions for an exercise.  It will be directly tied to the lesson, and you have to write the code before submitting it, at which point the site will run your code and output whatever you meant to output, given that you've written the correct code.  If you write incorrect code, an error will occur, and usually you will get more hints on what you need to fix/add to your code.  You can also click "Get a Hint!" which will usually tell you precisely what you need to do.

Lessons are grouped into sections.  Those familiar with some programming will know that a lot of the computer languages will have variable sections, conditional sections (if/else if/else), loops sections, and more.  Each section builds upon itself; for instance, it's very hard to write a method, or a block of code meant for a single purpose, if you don't know how to use variables effectively.

Languages Available

Right now you can learn HTML/CSS, JavaScript, jQuery, PHP, Python, and Ruby.  If you are a complete beginner, I highly recommend taking the HTML lessons, then moving onto JavaScript and jQuery, then picking any of the other three to program with.  HTML and CSS are great for formatting websites, but JavaScript is a very basic way to program, which will give you an idea for the general formatting most languages use.


Great website.  I'm an extremely big fan of sites that teach to computer programming, since that's one of the biggest skills one can self-learn, and self-learn reliably.  So really, any website that teaches one how to do this for free is automatically a winner.

I really enjoy the format of the lessons.  The lessons are taught in conversational tone and instructions on each lesson is easy to follow.  The site uses a lot of repetition so you really learn all of the objectives.

My one complaint is that it uses a lot of repetition, so if you already know parts of a programming language, you can't skip ahead and you have to wade through a lot of exercises.


This website is absolutely perfect for beginners, but it can be good for intermediate level programmers as well.