So, I posted not so long back about trying to pick up some MOOCs again, particularly on the science side of things. The first to start (on New Year’s Day) was Harvard’s CS50 (branded CS50x on EdX). It’s taught primarily by the wonderful and funny David Malan (@davidjmalan), and it is self-paced with a “hard” deadline of 31 December 2014, giving you great flexibility in how quickly you take each ‘week’. I’m currently midway through Week 1, which is the ‘Intro to C’ week, and I’m a little behind, but not too far…
The course aims to be more practical than theoretical, getting you stuck into producing programmes very early on. Week 0 uses Scratch to introduce some of the logic and thoughts processes behind getting computers to do what seems easy or obvious, and because it is relatively intuitive and easy to work with, it offers a neat sense of accomplishment early on. My Week 0 Scratch project is up on the Scratch.MIT website, so do head over and play it if you’re interested (it’s cat and laser-pointer themed). You can also just play around with Scratch without doing CS50, if you fancy it!
I won’t lie: getting started is a little bit exhausting. [Confession time: as an undergrad, about six years ago, I sat in the first lecture of CS50 and ran away after twenty minutes. I think I have at least learnt a little bit of persistence in the intervening years!]
The course is run via an amalgamation of other sites, so that Week 0 is a bit of an onslaught: Reddit for discussion forums; follow @CS50 on Twitter; begin to navigate CS50.net and the EdX site, which is not always wonderfully constructed; sign up with and use MIT’s Scratch website for the first problem set; etc. Then, in Week 1, there is the kerfuffle of downloading the CS50 ‘appliance’, which is a specially designed programme that allows all students to do their programming in the same environment, but which involves downloading two separate things and registering on a further, third-party website.
However, once you’re into it all, it becomes much easier. The appliance is really worthwhile, and I can see that it makes things a lot easier for the staff, particularly in such a large class. I cannot imagine the workload involved in marking problem sets not only from Harvard undergrads, but all those taking the course via EdX in its various certificated/non-certificated forms.
The intro lectures to C build on the more intuitive world of Scratch in order to make the transition easier. I have watched the lectures but not the section (the more in-depth lesson taught by the teaching assistants), and I right now have a sense of where I need to go in completing the problem set, but I’m not there yet. Still, I’m having fun trying to figure it out.
As and when I have further thoughts and projects to share, I’ll post them here.