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).
You need to be patient with yourself; don’t expect to code the next Fortnite after just a few months of study or a few bootcamps. Coding an error-free wedding RSVP form on a website, or making a simple-yet-correct number prediction game, is already a significant achievement for a beginner. If you get stuck, don’t give up. You should absolutely look for help everywhere you can find it, but also know when to take a break to avoid burnout. And then try, try again.
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.
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.
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.
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.
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.
You should do your touch typing lessons as often as you are capable of without hurting your fingers! As with everything else, regular training gives the best result. Most people will probably get the best result by distributing the lessons to several days in the week rather the doing a lot of exercises in one day. It is a good idea to put your touch type training into a calendar to be sure to remember to do them. If you don't have a calendar you can use the Google calendar which is free and easy to use. In this way it is easier to remember to do your exercises.
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.
With your index fingers you can feel a bump on the keys 'F' and 'J'. When you type you must get back to these two keys as soon as a key has been pressed on the keyboard so that you know all the time where you are on the keyboard. If you don't find the keys 'F' and 'J' again you will get lost and make a lot of mistakes. For the same reasons the first lessons are done without ever moving your fingers from these two keys.
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.
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.

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.
×