Learn a Computer Programming Language Online for Free

It's Never Too Late to Learn How to Program

Man working on a laptop in a coffee shop
Oli Kellett/ Taxi/ Getty Images

Many new graduates find frustration in today’s job market as employers increasingly focus on hiring employees with concrete skills rather than diplomas alone. Even those looking to work in non-computer related fields will often find that regardless of major, graduates now need coding skills and many employers give priority to applicants with some knowledge of HTML or Javascript. Learning a programming language is an excellent way to improve your resume and make yourself more marketable.

Those with access to a computer can learn a programming language online without paying to attend a university course. Learning to program at a beginner level can be surprisingly intuitive and a great introduction to a career with technology. Regardless of age or level of familiarity with computers, there is a way for you to study and learn online.

e-Books from Universities and More

For the last few decades, books have been used as one of the primary means of learning to program. There are many books available for free, often in digital versions online. One popular series is called  Learn Code the Hard Way and uses a code immersion strategy that allows students to perform code work first, and then explains what happened. Contrary to the name, this approach is very effective at reducing the difficulty of explaining programming concepts to novice coders.

For those looking to get started with the basics of programming rather than focusing on a specific language, MIT offers a free text called  Structure and Interpretation of Computer Programs.

This text is offered alongside free assignments and course instruction to allow a student to learn to use Scheme to understand many important computer science principles.

Online Tutorials

Interactive tutorials are a smart choice for those with a tight schedule that want to steadily improve with a few minutes time a day rather than setting aside a large block of time all at once.

A great example of an interactive tutorial for learning programming is Hackety Hack, which provides an easy way to learn the basics of programming using the Ruby language. Those looking for a different language prefer starting with an easier language like Javascript or Python. Javascript is often considered an essential language for anyone looking to work with web pages and can be explored using the interactive tool provided on  CodeAcademy. Python is well regarded as a simple-to-learn language of great use to those who need to develop more complex systems than Javascript allows for. LearnPython is a good interactive tool for those who want to start programming in Python.

Free, Interactive Online Programming Courses

In contrast to the single-serving format provided by interactive tutorials, many people prefer to learn in Massively Open Online Courses—a format similar to those provided at universities. Many courses have been put online to offer interactive methods to take a full course on programming. Coursera provides content from 16 different universities and has been used by more than one million “Courserians.” One of the participating schools is Stanford University, which provides excellent courses on such topics as algorithms, cryptography, and logic.

Harvard, UC Berkeley, and MIT have teamed up to offer a large number of courses on the edX website. With courses like software as a service (SAS) and Artificial Intelligence, the edX system is an excellent source of modern instruction on fairly new technologies. Udacity is a smaller and more basic provider of interactive courseware, with instruction on such topics as building a blog, testing software and building a search engine. In addition to providing online courses, Udacity also hosts meetups in 346 cities around the world for those that benefit from in-person interactions as well.

Static Programming OpenCourseWare

Interactive courses are sometimes too advanced for those who need lots of time or are unfamiliar with technology. For those in such a situation, another alternative is to try static OpenCourseWare materials such as those provided by MIT’s Open Courseware, Stanford’s Engineering Everywhere or many other programs.

Learn More

Whatever your method of learning, once you have identified your schedule and what fits your study style, you will be surprised at how quickly you can pick up a new skill and make yourself more marketable.

Updated/edited by Terri Williams