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. 

That's a great list, Kevin. However, nearly all above-mentioned course/tutorial providers provide content for nearly all programming languages/frameworks. Hence a newbie learner would be confused which learning platform to choose out of the lot. For ex. if one is interested in learning Python, all the above-mentioned platforms provide Python courses/tutorials. To solve this dilemma, Hackr.io (https://hackr.io) is the programming community where learners can find the best online programming courses and tutorials recommended by the community. PS: Sorry for the self-promotion ( Am Hackr co-founder) but I thought of informing the readers about the possible solution.

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.

Instead of hyper-focusing on learning a specific programming language, you can also learn to problem solve in a way that a computer will understand. In other words, improve your skills at concepts like pattern recognition, algorithms, and abstractions. There’s also lingo, like loops, which are bound to pop up in any language you use. The better you understand these principles, the easier it will be to learn the next language (and design better products or projects as a result).
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?