Mastering typing skills takes training and practice. Practice on a regular schedule, 10 minutes to an hour per session, depending on your energy and focus level. As Vince Lombardi said, “Practice doesn’t make perfect, perfect practice makes perfect,” so it is important that you practice at a time and place where you can maintain focus and accuracy. Eliminate any potential distractions. If you find yourself making lots of errors, slow down and find a way to regain your focus or call it a day. The goal of practicing is to build muscle memory. You do not want to “learn” bad habits and mistakes.
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).
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.
Code Avengers are based in New Zealand. They also offer Code Camps where there’s 1 to 3 days of coding training. These camps are located all over the world and in various states in the US.  You can learn coding languages such as C++, HTML, Python, game design and many many more. They also offer these courses in multiple languages, making it accessible to all.

The free typing lessons supply the complete "How to type" package. Animated keyboard layout and the typing tutor graphic hands are used to correct mis-typing by showing the right way to type for your learning and practice experience. Lessons' difficulty gradually raises as it starts from only 2 characters and ends with the entire keyboard. When the lesson ends, you can learn a lot from the practice trends: WPM, accuracy and errors distribution. 

You may have enough experience typing to know most of the common keys - the letters, the space bar, enter, and I’ll bet you know that backspace! But you might be uncomfortable with some of the keys you don’t use as frequently. Do you have to slow down and look at the keyboard to type a number or symbol? If you program or work with spreadsheets you will use the symbol keys frequently. If you are a gamer there are probably CTRL, ALT and function keys that you fumble for in the heat of the battle. In fact, most all programs can be used more productively when you know the key combo shortcuts for doing common tasks. Hitting these awkward keys and combos accurately allows you to maintain focus on what you are doing, so make sure you include them in your typing practice.
Instead, Keybr.com generates random, but readable and pronounceable words using the phonetic rules of your native language. These words look almost natural, and often they really are. Typing sensible text is much easier than repeating random letters, and it helps you to remember frequent key combinations. The latest point is very important. For example, it’s almost impossible for the letter ‘W’ to follow the ‘Z’ in English, and you will never type this combination in Keybr.com. Instead, you will type more common words, such as «the,» «that,» «with,» and so on. And soon you will learn how to type the «th» combo really fast.
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.
×