The class includes written materials, lecture videos, and lots of code exercises to practice Python coding. These materials are used within Google to introduce Python to people who have just a little programming experience.

Tutorials are presented as videos, making them easy to follow / see what's going on at each step. Many people find this format less daunting and easier to take in than traditional text based tutorials.

Think Python is a free book designed for those with no background in programming. It starts with basic concepts of programming, and is carefully designed to define all terms when they are first used and to develop each new concept in a logical progression. Larger pieces, like recursion and object-o...

Rather than merely test for code correctness, Exercism uses peer review to improve general programming techniques. Users are encouraged to comment on others' solutions, and refine their own based on feedback.

Unlike many code practice websites, Exercism requires the user to develop and test entirely offline, submitting only the finished code. This promotes familiarity with essential tools and workflow, not just the bare language.

Explains what everything is before you must use it, unlike Codecademy, which just kind of tells you to do stuff. To figure out what everything is exactly, you must either look at the glossary or google it.

Not only do they offer Python, CSS and HTML, and all the works, they offer them in context packages, where you can work on a project that utilizes one or the other. Also, there are different recommended tracks for different purposes - web designer, etc.

Users can publish their solutions for different problems and other users can review the code and give their opinions on how they would have solved the problem. Sometimes, some of the most active users get their code reviewed by Guido Van Rossum (the creator of the Python language) himself.

New missions can be created and uploaded using GitHub. After that is done, it's suggested to CheckiO and if it fills all the requirements after being reviewed by a CheckiO team member, it's pulled into the game.

After each video, there are a series of challenges that give you a chance to apply what you just learned. The great thing about these challenges are that they force you to think through a problem, and use the new skills to solve it. It's not just regurgitating facts; it requires some effort.

While you can jump into any video you like, there is also the option to follow a path for what you are wanting to learn. These give a nice direction if you are wanting to improve on a particular area and guide you into what to do next. They currently offer Ruby, Javascript, HTML/CSS, and iOS.

Many courses offered at Coursera are from well known universities (such as Stanford and Princeton) and instructed by their professors. Often the material taught in the Coursera courses is material from the actual university course.

Coursera offers over 1000 courses on a variety of different topics. Courses are offered on learning to code and specific languages, but there is also a large selection of courses that would be beneficial to someone wanting to learn more about computer science as well (algorithms, data science, comp...

Coursera offers courses from all around the world, resulting in courses taught in English, French, Spanish, Chinese, Russian, Turkish and a long list of others. Transcriptions for a large number of languages are offered for each course.

Courses are run on set dates, though some courses provide access to the material whether or not the course is running (however, there will be far less student activity in the forums when the course is not running). Some courses only make their material available when the course is running, so you...

While you used to be able to take courses for free and earn a statement of accomplishment, this is no longer the case. You can only audit the courses if you are not paying. Coursera makes it seem like you should also do the quizzes, but the submit button says "Upgrade to submit".

Right from the start, users write code. They start small in an environment that has constant feedback and gradually progress to more complex concepts. Users can see code results instantly, giving great feedback.

Codeacademy doesn't overwhelm beginners with information. It gives bite-sized information, the bare minimum needed to finish a task and get to the next one. As the course progresses, it slowly fills in background information.

Codecademy is great for providing a hands-on approach, but there is a lack of context regarding how to start a project in real life. While users may learn how to code using Codecademy's interface, they may not have any idea how to code independently.

The content of the lessons is aimed very much at people just starting to learn how to code. This is perfect for beginners but if you want to use Codecademy to refresh your knowledge the lessons are not designed to be quickly done.

The only reason to learn Python 2 these days is if you have to workout on legacy Python 2 software, and upgrading to Python 3 is not an option. Telling newcomers to learn a outdated, and soon to be unsupported version of the language is detrimental.

The book often suggests looking up details on the web instead of providing them. Additionally, no resources are suggested where to look up such information. As a result the quality of explanation of details can vary based on used resource.

The course formats are flexible enough that instructors are able to employ their own styles so long as exercises are offered in consistent intervals and student progress is measurable. The instructors communicate very clearly and are very approachable.

Trying to figure out what language or tool to learn can be frustrating. TreeHouse groups their courses into learning tracks so you have more guidance, based on what type of development you want to do. Some of the tracks they offer: Web Design, Front-end Development, Full-Stack Javascript, and PHP D...

Treehouse has multiple teachers in order to provide such a variety of content. However there is a lack of consistency with teaching styles - Some courses provide content that is well explained and goes at a reasonable pace. Other courses can be quite hard to follow. The challenges are also inconsis...