Online Courses

Online courses are an increasingly common way for universities and professionals to teach programming and computer science in a structured format. New courses appear all the time, so it is useful to revisit these resources regularly.

  • Codecademy: offers free online courses in several languages. It often focuses on basic syntax, so you may want to combine it with additional tutorials afterward. It mainly emphasizes web development, Ruby, and Python.
  • OpenClassrooms: offers free and paid online courses in a range of subjects and programming languages.
  • Coursera: offers online courses from many well-known universities across a wide range of fields.
  • Udacity: offers computer science courses taught by industry experts, with both free courses and paid programs.
  • edX: a joint effort by MIT, Harvard, and Berkeley to provide free online versions of some of their courses.
  • OpenCulture: collects free lecture-based resources, often available through iTunes or YouTube.
  • MIT OpenCourseWare: provides course materials taught at MIT. Much of the content is rigorous and fast-paced.
  • Khan Academy: contains introductory resources on programming and computer science, along with many other subjects.
  • Stanford Engineering Everywhere: offers static course materials taught at Stanford.

The following websites also offer a wide variety of tutorials, but usually require payment or registration:

  • Team Treehouse: focused on web and iOS development.
  • Lynda: includes courses in design, animation, video, business, and more.
  • PluralSight: similar to Lynda, but with a stronger focus on developers and IT courses.
  • General Assembly: also offers courses in design, business, media, and technology.

In general, edX, OpenCulture, MIT OpenCourseWare, and Stanford Engineering Everywhere tend to offer more rigorous and demanding courses, while Codecademy and Khan Academy provide a gentler introduction. Coursera, Udacity, and OpenClassrooms usually sit somewhere in between.