What is a MOOC?
A MOOC, or massive open online course, is a course that is available online, usually free of cost and self-paced, that is offered by institutes of higher education. There are a variety of websites that offer these courses, namely Edx.org and Coursera.
Why Take a MOOC?
When I began studying computer science, I really did not want to go back to school at all. This was due to a variety of reasons, the biggest being that I had already spent a ton of money on pharmacy school and as such have enormous student loans. This really pushed me towards the self-study approach. However, self-study did not pan out and I ended up biting the bullet and going back to school.
However, I am a firm believer that one can in fact teach themselves how to program and write quality software without getting a formal degree. In fact, I believe you could teach yourself what you need to know for the majority of professions that exist.
The first MOOCs that I took, I believe, were from Stanford Online. I don’t believe these courses are available anymore, but they taught programming with Scratch and Java. Since then, I’ve taken a lot of online courses and MOOCs. Some good. Some bad. Here are the ones that I believe are the best:
My Top 3 MOOCs
- CS50 – Harvard on Edx
CS50 is hands down, the best MOOC that I’ve ever done, and I think in a large part, taking this course really drove home the idea that programming was something that I really wanted to do. The professor is insanely engaging and able to convey knowledge in a way that I have never found in any classroom that I’ve ever been in. Maybe that’s just how it is at Harvard, and if so, I guess it’s easy to see why it’s consistently rated as one of the best or the best university in the country/world.
CS50 uses C to teach introductory computer science topics and branches out to teaching about algorithms, data structures. Newer iterations of CS50 teach web programming and other specializations.
- How to Code: UBCx
This is a combination of two courses: How to Code: Complex Data and How to Code: Simple Data that are offered by University of British Columbia as part of a “micromasters” track on edx called the “Software Development Micromasters”. The how to code series uses this horrendous programming language based in Racket, but teaches you to really think about how to tackle solving a problem with code.
- Algorithms Part I and Part II
This is a really great, free course on algorithms available on Coursera and offered through Princeton. One thing that I really do not like about Coursera’s platform is that the courses are not self-paced, or they are semi self-paced and only open up at certain times and attempt to have students complete work before deadlines. For me, a MOOC is self-paced, the whole reason we are taking them is because we don’t want the school experience, we’re learning at our pace.
That aside, Algorithms does a really great job teaching a lot of different algorithms that we did not even cover in the course that I paid 2000 dollars for at OSU. Each module has a coding assignment that puts what you learned to the test.