Computer programming is an invaluable skill for anyone who would like to build and design computer programs, software, or phone or tablet apps. Fortunately, you don’t have to enroll in an in-seat college to learn how to think like a programmer and pick up the skills you need. It’s possible—and not uncommon—to learn how to program online from the comfort of your own home. Many websites present educational courses that can be accessed for free and are beneficial to both novice coders and experienced coders looking to pick up a few new professional tricks.
Selecting a Free Programming Website
Choose Code Academy if you’re a novice programmer.
- If you like the style of Code Academy, also check out a couple of similar (and also free) online programming sites. For example, see Code.org, at http://www.code.org. Also see the Code School, at http://www.codeschool.com.
Take courses through the Kahn Academy if you’d like video tutorial.
For visual learners looking to pick up some programming skills online, Kahn Academy may be the best option. It’s free, and the Kahn Academy classes include step-by-step programming instruction and follow-along videos to watch.
- Learn more and check out a few classes online at https://www.khanacademy.org/computing/computer-programming.
Look into MIT Open Courseware if you’d like to move beyond the basics.
The Massachusetts Institute of Technology posts syllabi online from old courses. This provides a terrific resource for curious programmers who want to learn from instructors at the highest level. While this isn’t the best option for beginners—the courses don’t let you engage with instructors, and you may not be able to access all course materials—the OCW is a great resource for more experienced programmers looking to fill out their programming knowledge.
- Find out more online at https://ocw.mit.edu/index.htm.
Learning on Pay Programming Sites
Select Udacity to work with a personal programming coach.
If you’re not quite comfortable jumping into online programming coursework without supervision or assistance, Udacity may be the right site for you. You’ll be assigned a personal coach to work with online. The coach will help you navigate the website’s guided programming courses. But, Udacity isn’t free; you do have to pay for their services.
- Classes can cost as much as $999 USD. Check out the Udacity website for more information at: https://www.udacity.com.
Opt for Udemy if you’re interested in a huge course selection.
The site offers over 55,000 courses, the majority of which delve into aspects of coding and programming. The classes are taught by experts in the field, although many require payment to take. Udemy also offers plenty of beginner, intro-level courses for free. If you want a site with a large number of specific courses, go with Udemy.
- Also, be on the lookout for Udemy’s frequent sales. While the courses are affordably priced (starting at $10 USD) to begin with, sales can lower the cost of the courses by 50-85%.
- Find out more online at https://www.udemy.com/.
Choose Code Avengers if you’d like to work in a language other than English.
Code Avengers is based in New Zealand, and in addition to English, offers programming courses in Russian, Dutch, Spanish, Turkish, Italian, and Portuguese. The site focuses on teaching common coding languages like Python, Java Script, and HTML + CSS. The site offers a free trial period, during which you can take classes free of charge.
- Code Avengers also offers classes designed specifically for young programmers ages 5-16.
- Try a free test period and find out more at: https://www.codeavengers.com/.
Taking a Programming Course
Select a programming course that interests you.
For example, if you are interested in designing stylish websites, look for courses in topics like HTML/CSS, jQuery, or Ajax. If you’re looking to start your own online entrepreneurship, then PHP and MySQL are a good choice for this.
- Most small online business ventures are built using these open source (and often free) technologies.
Focus on Java to learn the most popular language.
Java is used on over 7 billion devices worldwide (including Android cell phones), and so is a natural starting point for anyone learning to program. The language is in high demand, with many hiring employers specifically requesting that their prospective programmers use Java.
- Courses in Java are available through every online learning site.
- Aside from instructional websites, there are many online Java communities that will help novice programmers, including a massive Java community on LinkedIn.
Take a course in C, C#, or C++ to learn 3 interrelated languages.
Once you’ve chosen an instructional website, the next major decision will be selecting a programming language to learn. C is one of the oldest and most consistently used languages. C++ allows users to create programs for a wide variety of platforms, while C# (pronounced C sharp) is the most modern iteration of the langauge.
- All of the instructional websites already mentioned will offer courses in all 3 of these languages.
Learn SQL if you’d like to work in data management.
SQL is a popular coding language for entrepreneurs and others who work in fields that require managing and using substantial amounts of data. The language allows you to set up and manage databases.
- While SQL isn’t quite as versatile as Java or C, it’s highly in demand for professional programmers and coders. Most employers require their data-processing programmers to be fluent in SQL.
Choose Python if you’d like an easier option to start out with.
Python isn’t quite as challenging to learn as some of the other coding languages, like Java or C++. It’s commonly used to build websites and build databases, and is also versatile enough to build games and software.
- Over time, most programmers learn many languages. In that sense, it doesn’t matter too much what your first language is, as long as you pick up additional languages once you’ve learned your first.
Play around with the sample code that a course provides you.
Most online courses will show you sample code, to help you understand what certain coding keystrokes and texts do. So, rather than simply looking at the code, tinker and change it, then see what results your tinkering has had. This will help you pick up given concepts more quickly.
- This is especially important if your course is heavy on reading. Reading about coding and actually coding are very different processes.
- Implement the sample code from your course to make sure you truly understand the coding principles that you’re learning.
Don’t be afraid to ask for help if you’re confused.
It can be easy to feel confused by the programming coursework in online, at-home classes. If you’re stuck on a coding problem or unclear about an aspect of the course, reach out to the instructor or to one of your peers. For example, if you’re stuck trying to write a specific line of code, work on it alone for about 20 minutes. Then, if you’re still stumped, reach out to your instructor for help.
- If you’re taking a self-guided online class, check out a coding forum to get in touch with experienced coders who should be willing to answer your coding questions.
- For example, check out the forum “Stack Overflow” at: https://stackoverflow.com/.
- You can also look into the online forum “Code Project” at: https://www.codeproject.com/.
Supplementing Your Learning on Your Own at Home
Practice coding on a daily basis to improve your skills.
Whenever you can find time, just sit and start practicing coding computer programs from a basic level. The more you engage with the code itself, the faster you’ll pick up coding knowledge. Also try writing out your code by hand. If you apply for a programming job, you’ll be asked to code by hand in the interview.
- However, you don’t need to mentally exhaust yourself to learn code. If you’re getting frustrated or becoming more and more confused, take a break for 30 minutes.
Read programming books to familiarize yourself with coding.
If you’re not much of a kinesthetic or tactile learner but gain knowledge mostly through visual means and reading, programming books will be a great to learn about coding. These books break down not only the mechanics of coding, but also the history and theories behind coding languages. If you’re interested, check out titles including:
- What is HTML 5?, by Brett McLaughlin.
- PHP Essentials, by Julie Meloni.
- Think Python, by Allen Downey.
- Learn Ruby the Hard Way, by Zed Shaw.
Use a children’s app to master the basics of coding.
Kid-focused coding apps can be useful to adults who are learning to code online at home. The apps break coding down into its simplest components, and present information in a way that’s heavy on graphics and easy to process. This can help you catch up to speed if you’re struggling in your class and can cement the basics of coding in your mind.
- If you’re interested, check out kid-focused coding apps like “Scratch,” “Tynker,” “Hopscotch,” and “Cargo-Bot.” These should be available on all major app stores.
Play an online coding game to immerse yourself in coding.
If you like the idea of learning coding through fun, playful instruction, check out a coding game. Many games exist online that you can play for free. These games can supplement the knowledge that you’re gaining in your programming class. If you’d rather build games than play them, a number of online coding tutorials walk you through the process of creating your own online game.
- Check out Code Combat online at: https://codecombat.com/.
- You can also look into CodinGame at: https://www.codingame.com/start.
- To construct code for your own game online, visit Game Maven at: http://www.crunchzilla.com/game-maven.
- The terms “coding” and “programming” are essentially interchangeable. “Programming” is an umbrella term that includes the more technically-oriented “coding.”
- There are many additional online programming sites. To get an idea of some of the online resources to check out Girl Develop It, at http://girldevelopit.com.
- You won’t need to break the bank to learn computer programming online. For developing skills in computer science, all you need is a PC, proper compilers (which are available for free), and a reliable internet connection.