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?
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.
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).

It does not matter how fast you type if you have to go back and fix all your mistakes. Fixing mistakes takes more time than it does to just slow down and take the time you need to type accurately. Fast typing depends on developing precision muscle memory. Allowing yourself to type incorrectly will actually reinforce your bad habits and common mistakes! Slow your typing pace until you can attain 100% accuracy. If you come across a difficult word, slow down further to type it properly. Develop good habits and speed will be your reward.
Based out of New Zealand, Code Avengers provides fun and interactive programming lessons for kids 5 to 14; for schoolteachers wanting to teach coding; for people going into coding professionally; and for creators ages 15 and up. Also offered are one- to three-day "code camps" for students up to 17. These day camps are located in multiple states -- and foreign countries.