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.
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.
Coding games are also a fun way to get your feet wet in programming. If you have an hour to kill, you can give the simple Hour of Code games a try. Additionally, many schools already use the Minecraft: Educational Edition to teach kids programming basics with coding blocks, and even JavaScript. (You can download this version of Minecraft for free if you have an Office 365 Education account.)
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.
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.

Founded in 2010, Udemy is an online learning platform that can be used as a way to improve or learn job skills. While there are courses you have to pay for, there are plenty of free programming courses, which are taught via video lessons, such as Programming for Entrepreneurs -- teaching Django- the #1 Python Frameworks, APIs, HTML, CSS, + Payments.
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 programming community is full of people who are willing to help the next generation of programmers. GitHub, the online hangout for developers who use Git to manage their coding projects, is designed for online collaboration. Not only do developers host and share their projects with their peers, they also provide code feedback and general advice to the community.
By recreating existing projects, you’ll learn more about the inner workings of your highly customizable device. You might even find yourself inspired to create new ways to use your mini-computer and delve further into the world of code. (You can even enroll in UC Irvine’s The Raspberry Pi Platform and Python Programming for the Raspberry Pi Platform class through Coursera, if you want a little help getting started.)
Scott Morris is Skillcrush's staff writer and content producer. Like all the members of Skillcrush's team, he works remotely (in his case from Napa, CA). He believes that content that's worth reading (and that your audience can find!) creates brands that people follow. He's experienced writing on topics including jobs and technology, digital marketing, career pivots, gender equity, parenting, and popular culture. Before starting his career as a writer and content marketer, he spent 10 years as a full-time parent to his daughters Veronica and Athena.
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.
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)!
Touch typing, or blind typing as some calls it, means that you type without looking at the keyboard. To learn to do that finger position is very important. When you type you must use specific fingers for the same keys all the time as illustrated at the image above. If you don't do that you will soon loose your orientation and make mistakes. When you have found the two home keys, 'F' and 'J', you should strive to type with out looking at the keyboard. Look instead at the two hands at the virtual keyboard on your screen. Don't get frustrated if you do mistakes in the beginning. Every one does. After exercising for some time you will know by heart where the keys are and your touch typing will go much more smooth. 

If you don’t know how to touch type, this is where you need to start. Having the ability to type without looking at the keyboard is the most important factor in achieving a fast typing speed. Even if you have memorized many of the keys, unfamiliar keys will slow you down just like speed bumps on the freeway. Taking your eyes off the screen to peek at the keyboard disrupts your focus and costs you time. You want to be able to keep your eyes on the screen and your fingers moving to the correct keys without thinking. Achieving this kind of flow takes practice. The better you can do it, the faster you will be. Read on to learn how.


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