Your answer can help determine which programming language(s) you should master, as well as what sort of commitment (in time and money) your goal may require. For example, if your dream is to create the next great operating system or a killer alternative to PhotoShop , you would benefit from a formal computer science education that teaches you C++, as well as more complex topics like data structure, algorithms and memory allocation.
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)!
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.
JUST RELEASED! "Makin' Rocks" covers everything I've leaned after 34 years of hard work and experience making a living building things with my hands. I teach people like you how to create the same amazing water features as a master sculptor like myself! With tons of pictures and hand drawn illustrations from decades of work you will see actual project examples of how things get done. And even how to set up your own faux rock contracting business selling $10,000, $15,000 and $20,000 or more projects! Get this book and get in the game!
Codewars adds some quirk to the proceedings by offering free coding classes with a martial arts theme. Solving specific coding “katas” (a term for training exercises in karate) will earn you ranks and honors as you move your way to becoming a bonafide coder. Who said learning to code online couldn’t be fun? Codewars also offers one of the more diverse lists of programming languages. Choose free coding classes on:
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.
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.
Spend an afternoon brushing up on statistics. Discover how the Krebs cycle works. Learn about the fundamentals of music notation. Get a head start on next semester's geometry fundamentals. Prepare for the SAT, GMAT, LSAT, MCAT, NCLEX-RN, and AP exams. Or, if you're feeling particularly adventurous, learn how fire-stick farming changes the landscape of Australia.

If you want to better understand the relationship between hardware and software, then you’d enjoy the Piper Computer Kit 2, which has you building a Raspberry Pi-powered computer. Using this DIY laptop, you can learn to code through its custom Minecraft Story Mode challenges, use the drag-and-drop Blockly language to learn physical computing, or just pick up some basic Python from the pre-installed lessons.
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.
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?
×