Review of Online Programming Courses
Languages come and go, software development methodologies mutate and ebb almost before they are established, but many of the techniques of learning to program predate widespread access to computers.
Today, many organizations claim to be able to teach you programming over the internet, some for a price, others for free. Some of these paid programs claim to be equivalent-- or even better than a diploma from a community college. In this article I will investigate these claims, and attempt to give to an objective viewpoint on what you may expect to learn, and how the average employer will value these kind of courses on a resume.
Alternatives / Supplements
But first I want to show you the alternatives to online programming courses (or more traditional schooling). The chief alternative is to teach yourself. This can be done either by studying code, or with the assistance of the many fine books available.
To the right I have selected a number of books that will help you.
If you can make your way through the volumes of The Art of Computer Programming you will have better education than 99% of University Computer Science graduates. This book is mentally challenging and advanced, but self contained. Technically, no knowledge is required before diving right in. However, given the intellectual difficulty of this book, you may wish work your way through the simpler books I have suggested first. By gaining the more 'practical' programming skill from these books, you may be better equipped to approach The Art of Computer Programming, or you may realize it is beyond you.
You may think that you cannot get a job by working your way through a set of books. This is false.
"If you think you're a really good programmer . . . read (Knuth's) Art of Computer Programming . . . You should definitely send me a résumé if you can read the whole thing."
Free Online Programming Courses
Free online programming courses should only be considered as an additional resource for self-teaching. You will find that these programs are invariably missing key pieces. Using these online programming 'courses' / resources as a supplement to textbook based learning is a great alternative to paid online programming courses. When you are stuck in a difficult section of The Art of Computer Programming, for example, you can look up free video tutorials and other resources on the topic, to aid your learning.
OpenCourseWare initiatives are particularly useful for obtaining university level material for free.
Paid Online Programming Courses
Paid online programming courses are a great way to add some structure to your learning. Contrary to a traditional programming or computer science course, however, you will find that employers may ignore, or even look unfavorably upon this kind of education on a resume unless it bares the name of an accredited university. Completing certifications is a great, relatively inexpensive way of obtaining some solid credentials to prove you have the skills you claim.
The real question when evaluating paid online programming courses is to compare the value added over free resources by the paid program compared with the cost of the program.
The best quality programs are those associated with an accredited university or college. Additionally, there are some well known, more specialized programs offered by some better known institutions (you will recognize the names of these organizations).
My advice, in the end, is to attempt to learn yourself with books, then to turn to free online programming courses and materials when you need them, and finally apply for one of the paid online programming courses that fits you, if you feel it appropriate.