EdX is another leading online-learning platform that is open source instead of for-profit. It was founded by Harvard University and MIT in 2012, so you know that you’ll learn about cutting-edge technologies and theories. Today, edX includes 53 schools. You probably can’t go wrong with the free Introduction to Computer Science from Harvard University.
The programming community is full of people who are willing to help the next generation of programmers. GitHub, the online hangout for developers who use Git to manage their coding projects, is designed for online collaboration. Not only do developers host and share their projects with their peers, they also provide code feedback and general advice to the community.
Second, Keybr.com measures your keystroke dynamics and collects comprehensive typing statistics. For example, it measures your typing speed for each individual key, and uses this data to generate random words putting emphasis on the weakest key. The more troubles you have with a particular key, the more you will be  typing it. It means, the generating algorithm will put that letter in every word in the next generated lesson. Your typing skills are re-evaluated after every completed lesson, and the next lesson will be adjusted accordingly.

I can’t recommend Harvard’s CS50x Introduction to Computer Science enough. You can audit the course for free via edX and earn a certificate by completing all the assignments, or you can go at your own pace and watch all the lectures posted on Youtube. You can build your own DIY college-level computer science program with this selection of fifteen online courses (many of which are also listed in our Lifehacker U series).
Take a few minutes (or a day) to think about the reasons—the real reasons—why you want to learn a programming language. Be honest with yourself. Are you trying to learn the barest minimum to score a promotion? Are you looking to make a big career change? Do you want to create the next greatest app? Thrill your roommates by programming your various smart devices to do something awesome? 

JUST RELEASED! "Makin' Rocks" covers everything I've leaned after 34 years of hard work and experience making a living building things with my hands. I teach people like you how to create the same amazing water features as a master sculptor like myself! With tons of pictures and hand drawn illustrations from decades of work you will see actual project examples of how things get done. And even how to set up your own faux rock contracting business selling $10,000, $15,000 and $20,000 or more projects! Get this book and get in the game!
Khan Academy is a 501(c)(3) nonprofit organization with the mission of providing a free, world-class education for anyone, anywhere. Khan Academy Kids was created by experienced early learning experts who have created 22 other top-selling titles and received 22 Parents’ Choice Awards, 19 Children’s Technology Review Awards, and a KAPi award for Best Children’s App at the International Consumer Electronics Show. The Khan Academy Kids team is a passionate group of engineers, artists, designers, and educators who joined Khan Academy from Duck Duck Moose, a maker of popular educational apps for kids. Khan Academy Kids is 100% free without ads or subscriptions.
I'm Dave Henderson! For over 34 years, I've made a wonderful living for myself and family of four creating world-class water features using real and faux rock in sunny San Diego as well as professional sand sculptures all around the world. And now I'm taking what I've learned about starting successful businesses, contracting, sculpture, water feature construction, and more, and sharing it with the world. It's my mission to help people like you enjoy more success both in your business and in your personal life.
Third, Keybr.com lets you introduce as few keys as possible to the lesson, adding more keys automatically when it decides that you are proficient at the current level. When you only start learning it generates lessons with words from a very small alphabet of the most frequent letters. When your typing speed for every key in that alphabet reaches certain threshold, the algorithm adds the next most frequent letter to the alphabet. And so on, until the next letter. This way you will learn the most frequent letters first, and the least frequent ones later.
It is more important to have a low error percentage than a higher speed. The low error percentage will be your best guarantee for success in the following lessons. You can follow your progress at the statistics page (just press the button 'Statistics' at the upper right corner) You should strive to do all lessons flawless (or at least with max two percent error) before you go on to the next lesson. If you learn to type flawless a high typing speed will automatically ensue. By the way, the error statistics will only save your best results.
Those who use only two fingers often type as slow as 10 words per minute although some are capable of surprising fast speed with this primitive technique. After these lessons you should be able to type at least 35 to 45 words per minute. After some months of experience and regular typing you can reach 90 words per minute or even higher. As with everything else practice makes perfect. You can follow your own progress by pressing the button 'Statistics' in the top right corner, you will be able to follow your progress online after each lesson.  

This Google project for web developers launched in 2010 to counter Apple’s HTML5. The site is full of tutorials, resources and the latest HTML5 updates. It’s open source, so developers can play around with HTML5 code. Because this site's offerings are more advanced than most introductory courses, you'll need some knowledge and experience before jumping in.
This is our best piece of coding advice: If you can’t figure out why your code is broken, you can always look for solutions online. You’re probably not the first person to make your mistake, after all, and someone on the internet has surely already found a solution to your issue. Just “copy and paste” your error message into Google (or your preferred search engine), add a pair of quotation marks around the entire phrase so that you’re not just searching for keywords, then hit “Enter.” Hopefully, this little trick will lead you to the correct answer.
Do you have a smarthome device like the Amazon Echo? You can put your coding skills to the test by creating customized mini-programs to get more functionality out of your devices’ digital assistants. Amazon’s Alexa may already know many basic voice-command “skills,” like reading the latest news headlines, but you can teach her more complicated tasks by coding in Node.js, Java, Python, C#, or Go. (Or, if you want to start with something easier, try the simpler Alexa skill blueprints site.)
Take a few minutes (or a day) to think about the reasons—the real reasons—why you want to learn a programming language. Be honest with yourself. Are you trying to learn the barest minimum to score a promotion? Are you looking to make a big career change? Do you want to create the next greatest app? Thrill your roommates by programming your various smart devices to do something awesome?
As a self-taught programmer, you might also benefit from books that offer broader advice on the profession. You’ll improve your thinking and habits, traits you can apply to any language you decide to learn. Steve McConnell’s 900-page Code Complete: A Practical Handbook of Software Construction (2nd Edition) is considered the definitive guide for best practices, with data-backed advice on everything from project design to debugging code.
The programming community is full of people who are willing to help the next generation of programmers. GitHub, the online hangout for developers who use Git to manage their coding projects, is designed for online collaboration. Not only do developers host and share their projects with their peers, they also provide code feedback and general advice to the community.

If you want to learn how to code, taking your first steps into this huge universe might seem like a daunting, if not intimidating task. Here’s the big secret: There are plenty of free (and inexpensive) resources you can use to give yourself all the help you need, teach yourself new techniques, and make this learning process fun and exciting—as exciting as coding can get, at least.
Skillcrush’s Free Coding Camp is our totally beginner-friendly intro to tech, techies, and kick-ass careers that you can complete in less than five minutes a day. Delivered straight to your inbox, you will learn how to code in the simplest terms possible—and even get to try writing your own code!—so you can see if learning coding is the right move for you…
×