There are lots of places online to learn software programming. The question is less about where you might learn a language and more what skills do you need to learn? Clearly you need to learn a language. But you also should learn a few skills to make your knowledge work. For example, many programmers need to learn Github to manage their programming files and workflow.
You also might need to learn structured query language, SQL, a language to manage data in databases. And regular expressions can make it easier to find data using code. And lots of programmers use a command line interface (CLI) to work with servers as part of their programming.
This article reviews a few online coding schools with links at the bottom to explore a wide range of options to learn languages and related technologies like Github.
Perhaps the neatest part about these resources? Age doesn’t matter. A motivated eight year old or a parent (or teacher) with time, interest, and perseverance can learn with these tools.
Several online schools teach programming by playing games. You learn a bit of code, practice, in some cases earn points, and slowly extend your learning. Coding Game provides a wide range of games, as well as contests and coding matches between students.
Similar online schools to check out are checkio and CodeWars. The CodeWars site is unusual because members create katas, short lessons, to highlight solutions to common problems they’ve faced as programmers. There’s also fun games like Erase All Kittens where you save kittens by typing and learning HTML and CSS, as well as Run Marco!, the Foos, and Tynker.
Perhaps the most unusual way to learn game programming is Handmade Hero. It’s a collection of 200 plus videos that document the real life process of creating a game. There are lots of details you might only learn on the job or by watching over someone’s shoulder as with these videos.
Learn Python the Hard Way
Zed Shaw, a programmer and writer, created this amazingly thorough online book with videos to take you step by step through learning Python, a good first language to learn because of its simple syntax and power. There is a book version for $29.95 which also is a great way to support this resource.
The Learn the Hard Way series includes detailed tutorials for Ruby, C, SQL, regular expressions (regex), and command line interface (CLI) software. SQL, regex, and CLI are key skills all programmers need to master to become professionals. Each course assumes you have no prior knowledge of the language or its details, which is extremely helpful for beginners.
CodeHS, Codecademy, and a number of other online schools also provide interactive and/or lecture courses to learn a variety of programming languages. Some of these schools also provide tutors for personal help solving problems as you learn.
In addition to interactive courses provided by Codecademy, Lynda.com provides detailed video tutorials with downloadable materials to teach programming languages. Each course runs about an hour and is taught by an expert recruited by Lynda.com. Courses include free videos, to let you see whether the material interests you, and are available with a monthly fee. The fee also allows you to use any of their courses on thousands of topics.
Similar video-based training services you might consider are Pluralsight, Skillshare, and Treehouse.
Below you’ll find links to all the services mentioned in this article plus related information, for example, Github courses.
Learn Python the Hard Way
Learn Ruby the Hard Way
Learn C the Hard Way
Learn Regex the Hard Way
Learn SQL the Hard Way
Learn CLI (Command Line Crash Course)
Search for the term ‘programming’ to find courses sorted by programming languages, game programming, functional programming, system programming, and so on. The also own Code School, linked above.
Resources to Learn Programming
How to Think Like a Computer Scientist
Erase All Kittens
Hack into levels, written in HTML and CSS (the languages of websites), in order to complete the game.
Erase All Kittens, the Foos, Tynker, and Run Marco!
Reviews of these four games which teach coding in a fun offbeat way.
A free course from Code School, this course teaches the basics of Git to manage files created as part of programming software applications.