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.
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.
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.)
AGupieWare is an independent app developer that surveyed computer-science programs from some of the leading institutions in the U.S. It then created a similar curriculum based on the free courses offered by Stanford, MIT, Carnegie Mellon, Berkeley and Columbia. The program was then broken into 15 courses: three introductory classes, seven core classes and five electives.

Here you’ll learn HTML5, CSS3, JavaScript, Databases, React.js, Node.js, and others by networking and joining this nonprofit's community of professionals and students. You’ll even work together on your coding skills so that you can build apps for free. Here’s the catch: You’re learning those skills and building helps to help solve real-world problems. Code is available to nonprofits.
×