If you’re interested in starting a career in computer science but aren’t quite sure where to start, Harvard’s CS50x is a very good place to begin.

CS50 is Harvard’s Introduction to Computer Science course, and the CS50x edition of this course is a free online version of it. Which means that ALL the course material is uploaded online and anybody is able to audit the course at no charge. I completed the course last year, and completing it was one of my proudest accomplishments during my self-learning path.

The CS50x edition generally is the recorded lectures from the year before, so if you start CS50x in 2015, you will be watching the lectures as they happened in 2014. This is of course not a problem at all, as the material itself doesn’t necessarily change, and the heart of the course is all about learning the key fundamentals about Comp Sci, all while teaching you how to code along the way.

Learn By Doing, Not By Following…

During my years of attempting to teach myself computer science and how to be a developer I have come across and attempted numerous avenues and online tutorials. But there was something about those other courses which didn’t ‘stick’ with me, and after a while I came to the conclusion that generally these courses teaches you how to do a specific thing to a very precise problem. But once you have completed the tutorial or coursework you don’t often feel skilled or equipped enough to venture on your own still.

That is where CS50 is different. To be honest, I didn’t really expect anything less from a Harvard course compared to some other online learning site, but there’s something else which makes CS50 special and that is the quality of the lectures and more specifically, the lecturer himself, Professor David J Malan, and his amazing team of course staff.

cs50-crew400

David is an infectiously passionate lecturer, who clearly enjoys what he does. All of his classes are engaging and fun, and the way he explains things hasn’t yet been matched compared to the other online courses I’ve seen.

But the lecturer of course needs good content to teach, and the content you’ll learn is wide array of topics to really give you the best base knowledge and understanding how computers work, while teaching you how to code.

Throughout the course you will cover topics such as,

  • How computers work,
  • abstraction,
  • algorithms,
  • data structures,
  • encapsulation,
  • resource management,
  • security,
  • software engineering,
  • and web development.

While learning some development languages, including

  • C,
  • PHP,
  • JavaScript plus SQL,
  • CSS,
  • and HTML

It may seem like a lot, and in theory, it is, but rest assured, the course work is aimed at complete beginners to computer science and assumes you have had no previous programming experience. Because of this, David explains things from the ground up, building up your knowledge brick by brick so that by the end of the 12 week course, you are able to write your very own program for your final project.

The Challenges, And The Reward That Follows

A word of slight caution though, this course expects that you WANT to learn and the material and assignments along the way encourage it. At the end of each week you will be presented with a Problem Set, pulling on the topics that was discussed in the lectures leading up to it. The problem sets are all interesting and inspired by real-world domains of biology, cryptography, finance, forensics, and gaming.

The problem sets are designed to be challenging. And you WILL be challenged. But this makes your success all that more rewarding, and is totally worth it.

Don’t be completely put off though, while things will get tough there is an incredibly vibrant and friendly CS50 community on Facebook who are a post and a question away from helping you out and guiding you on the right path. Just don’t expect them to hold you hand for you. This course is about self-learning, and you won’t gain anything by other’s doing the work for you. So always try the best you can at the solution before looking for further help. You’ll feel more accomplished that way. ;)

Screen Shot 2015-03-15 at 2.16.38 PM

The Official CS50 Facebook group. With currently over 50 000 other self-learning students like yourself, the community is active and vibrant and many people who you might make new friends with once the course is over. :)

 

So how do you sign-up? Will just head over to the edX website, and enroll for the current year. It is self-paced, but ensure you start sooner that later. It’s ’12 weeks’ worth of lectures, but you want to give yourself time to work on the solutions. If you want to aim for a certificate for your completion, be sure to submit all your assignments by the end of the year.

If you’re looking for a good entry point into Computer Science and an introduction to the world of coding, I cannot recommend this course enough. If you start, I wish you good luck, and maybe see you in the Facebook Community! :)

If you have any other questions or comments about this course, please feel free to ask below!

2