Those with access to a computer can learn a programming language online without ever needing to pay 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. No matter what age or level of familiarity with computers you will find that 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. This continues today with 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 to allow students to get code working first, then later focuses on explaining just what it did. 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.
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.
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. Thanks to the internet, 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.” Much of the science behind computer science is taught there with Stanford University provided some excellent courses on topics like Algorithms, Cryptography, and Logic.
Harvard, 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 things like how to build 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 or Stanford’s Engineering Everywhere or other programs.
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.