I don’t believe there are any true replacements for getting your hands dirty in code and making mistakes while doing so; however, I still like having having fun when learning new things.
In recent years, a number of websites popped up to make education more accessible and enjoyable. I acknowledge that official documentation and textbooks are more reliable than third-party resources, but documentation is often sparse, and textbooks drown their readers in detail. In both cases, readers are left with more to be desired. I would like to share with you two of my favorite educational websites.
Coursera partners with top universities and organizations worldwide to offer courses online for anyone to take. The very best part is that it is 100% free.
Coursera currently has nearly 150 different Computer Science courses, but they also offer 400+ courses in pretty much anything you could want including, but not limited to, Art, Biology, Business, Economics, Humanities, Law, Mathematics, Medicine, Music, and Physics. Coursera is the perfect place to go to if you’ve always wanted to learn more about a subject, but never had the time, money, or opportunity.
When participating in a course, you get out what you put in. Courses are run like an actual class, with video lectures featuring a real professor from the sponsoring university. There are homework assignments, projects, and tests, but all of them are optional. One of the best features is the discussion forums, where you can interact with other students, the professor, or a teaching assistant. For some courses, there are recommended optional books for the classes. I was impressed to find that many of these books were the exact same as the ones I used in my undergraduate classes at Michigan State University.
When not to use Coursera
- You want to take a course on “X” right now.
- Since courses are run like real classes with a time schedule, you may have to wait many months for the course you want to take to be offered again. Fortunately, I have seen quite a few “self-study” courses added, and most courses have the material available for viewing at anytime.
- You want to get a degree.
- I believe Cousera calls them “courses” and not “classes” for a reason. If you score well in a course, you can earn a “Statement of Accomplishment” or a “Verified Certificate,” but you don’t earn any college credit for completing a course.
- You want to learn the latest and greatest programming framework.
- Coursera is very academic. They offer specific classes on Artificial Intelligence, Networks, Algorithms, Security, Compilers, Mobile Development, and many more, but you probably won’t find anything on Django, Angular, Backbone, Ruby on Rails, or anything of the like.
Honestly, I am floored by the quality of Coursera. I kept expecting there to be a catch, because it seemed simply too good to be true. I am looking forward to seeing how much it develops in the years to come.
If you are looking to learn the latest and greatest web programming framework and best practices, CodeSchool is the place to go. Lately, I’ve noticed their efforts to diversify the courses they offer. So, in addition to a lot of web tech, they now have classes on R, Git, SQL, and iOS.
I personally like CodeSchool more than the popular Codecademy because it has more content for intermediate and advanced developers. On the downside, it comes at a price of $29 per month, though many introductory courses are free.
CodeSchool doesn’t operate like Coursera; they have “paths” composed of related technologies. A single course in a path is typically composed of approximately five videos with challenge exercises at the end of each one. Compared to other websites, I found their videos to be consistently of higher quality and, at times, a little corny but significantly more humorous. Think of “Uncle Bob” toned down a few notches.
When not to use CodeSchool
- You want to learn through doing a project.
- CodeSchool lacks project-based material, though they are making efforts with their new “Soup to Bits” project-based videos. Most courses take place in a built-in browser console, rather than in the text editor on the user’s local machine.
- You want a large library to choose from for your money.
- CodeSchool’s main selling point is their ability to take concepts beyond the beginner level, but their library size in comparison to competitors is a bit smaller.
I personally haven’t tried taking any courses on the following websites (except for Codecademy), but they may be worth a gander if CodeSchool and Coursera don’t have what you’re looking for:
While neither CodeSchool nor Coursera will transform you from a novice to a full-stack developer, they can give you a solid introduction. And you’ll have fun doing it.