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.
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).
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!
No matter how many certificates and coding workshops you complete, or how many programming languages you learn, the proof of your coding skills will be in your programming project. While your personal project doesn’t have to be as ambitious as creating the next Google Maps, it should be something you’d want to work on 24/7 to constantly improve and expand its scope.
Those who use only two fingers often type as slow as 10 words per minute although some are capable of surprising fast speed with this primitive technique. After these lessons you should be able to type at least 35 to 45 words per minute. After some months of experience and regular typing you can reach 90 words per minute or even higher. As with everything else practice makes perfect. You can follow your own progress by pressing the button 'Statistics' in the top right corner, you will be able to follow your progress online after each lesson.
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:
It is more important to have a low error percentage than a higher speed. The low error percentage will be your best guarantee for success in the following lessons. You can follow your progress at the statistics page (just press the button 'Statistics' at the upper right corner) You should strive to do all lessons flawless (or at least with max two percent error) before you go on to the next lesson. If you learn to type flawless a high typing speed will automatically ensue. By the way, the error statistics will only save your best results.
When you reverse-engineer someone else’s code, testing each line to see how it works, you get a better understanding of the big picture. Thanks to the tons and tons of open-source code that’s out there, you can learn just about anything by examining someone else’s (flawless) work. Just remember to share your code back with the community if inspiration strikes and you improve a part of the program you were fiddling with.
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.
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)!
Want more one-on-one coaching and career prep without doing a full-time bootcamp? Try signing up for the subscription-model certification courses from Udacity or Treehouse, where you have the opportunity to ask a tutor for help instead of suffering your coding mistakes or questions alone. You can’t do much better than the $19 coding classes from Udemy (even less, when there’s a sale)—even full-time bootcamp and computer science students sign up for these classes to supplement their learning.
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.
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.
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.