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.
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.
Coding is all in the details, which is why you need to “celebrate small victories,” as one of our programming professors put it. It takes practice to make each element work on its own, as well as constant testing to ensure each line of code will work with all the rest—without errors. If you don’t do seemingly minor things right like closing a HTML tag, you’d be stuck debugging a simple syntax error rather than writing more impressive and complex code.
Codewars adds some quirk to the proceedings by offering free coding classes with a martial arts theme. Solving specific coding “katas” (a term for training exercises in karate) will earn you ranks and honors as you move your way to becoming a bonafide coder. Who said learning to code online couldn’t be fun? Codewars also offers one of the more diverse lists of programming languages. Choose free coding classes on:
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.
Luckily, institutions like the Flatiron School and The Grace Hopper Program offer scholarships or deferred tuition to make these bootcamps more affordable for under-represented groups like minorities and women in tech. Check out Course Report for a comprehensive breakdown of the many online and in-person bootcamps—including detailed reviews from their alums, which can help you decide whether a bootcamp is going to help you achieve your programming dreams.
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.
That's a great list, Kevin. However, nearly all above-mentioned course/tutorial providers provide content for nearly all programming languages/frameworks. Hence a newbie learner would be confused which learning platform to choose out of the lot. For ex. if one is interested in learning Python, all the above-mentioned platforms provide Python courses/tutorials. To solve this dilemma, Hackr.io (https://hackr.io) is the programming community where learners can find the best online programming courses and tutorials recommended by the community. PS: Sorry for the self-promotion ( Am Hackr co-founder) but I thought of informing the readers about the possible solution.
This free online typing tutor was designed to help you learn to type as fast and easy as possible. Try a few lessons a day and you'll start to notice your fingers naturally move to the right keys. Even if it seems at times that you are making no improvement, keep on working at it and you will learn to type without looking! Remember to take breaks often though - its good for the body and for the learning!
Once you figure out why you want to code, you can more easily pinpoint which programming language you should tackle. While there is no single “best” programming language to learn, some languages are more user-friendly than others. HTML and CSS are considered the easiest entry points into the coding world, but they are only really useful for developing basic websites.
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).

Also, something that I've found is that if you go wrong somewhere instead of mindlessly searching for the error (assuming there are multiple or you don't know the error's location) just start from the beginning and go down seeing that if this works. If you see a break and something disconnects, in all probability that's where the error is. It's all logic.


On the other hand, if you’re a mid-career professional looking to transition into a tech career, a short-term coding bootcamp might make more sense than going into debt for a second degree. If all you want to do is build websites or push your Raspberry Pi to its limits, a combination of interactive tutorials and free online courses might be enough to get you going.
A lot of people type with two fingers, and thus type around 10 - 15 words per minute. After completion of this course you should be able to type at least 45 words per minute, and even faster if you type often. If you at your job type nine hours a week you will be able to save the six out of these nine hours provided you triple your typing speed. That will be nearly 300 hours saved a year or seven weeks extra holy days a year. If you have 30 years left before you go on pension the course will save you about 230 weeks work. Are you self employed you will be able to stop working four years early. Or, if you could convert your increased typing speed into a pay raise, you could get four years extra payment before retirement. Learning how to touch type is probably one of the best educations you could invest in. And it won't cost you any money. You can here: calculate your own personal benefit from improving your typing speed. How ever it works out for you, you have probably never met a person who regretted spending some time improving his or her typing speed.
Whether you’re an adult looking to transition into the tech industry, a student looking to learn the latest language, or a hobbyist who just wants to understand how software and services work, all you need is a computer and internet access to start your programming journey. But before you take a flying leap into The Matrix, here are our best tips and resources to set you off on the right foot.
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.
Created in 2006 by educator Salman Khan, Khan Academy is one of the original free online-learning institutions. With step-by-step video tutorials, you can  learn how to program drawings, animations and games using JavaScript and ProcessingJS, or learn how to create webpages with HTML and CSS. See, especially, Khan's "Hour of Code," designed to introduce students to one hour of computer science and computer programming.

Codeasy is probably the newest one from the whole list. It is quite interesting educational course because it drives a new concept to computer science studying. You start learning there by reading an adventure story about fighting machines in the future. On your way, you’ll meet challenges that require real coding to solve. The final goal is to save the world from machine invasion. And as a very important side effect – become a software developer.

Udemy bills itself as an online learning marketplace, hosting 130,000+ user-created courses on all kinds of topics (including over 2,000 coding-related classes). While some of Udemy’s offerings are paid (costing $20-$200 per course), there are plenty of free coding classes as well, including some shorter Tech 101-type courses that teach code for beginners.


TypeLift provides a visual keyboard to help you learn to type in a quick and simple way. Coloured keys show you the right finger-key-combinations and the basic positions. Visual markers show you how to reach every key on your keyboard. So you don’t have to search on your „real“ keyboard anymore from the start. However, advanced users can disable settings on the visual keyboard to improve their personal learning curve.
Learn using videos, interactive exercises, and in-depth articles in math (arithmetic, pre-algebra, algebra, geometry, trigonometry, statistics, calculus, linear algebra), science (biology, chemistry, physics), economics (microeconomics, macroeconomics), humanities (art history, civics, finance, US history, US government and politics, world history), and more (including computer science principles)!
On the other hand, if you’re a mid-career professional looking to transition into a tech career, a short-term coding bootcamp might make more sense than going into debt for a second degree. If all you want to do is build websites or push your Raspberry Pi to its limits, a combination of interactive tutorials and free online courses might be enough to get you going.
×