I’ve now completed the first two weeks of 6.00x and so far I’ve found it to be fairly straightforward fare – which given my background is a relief! Week 1 had no marked problem set, as we were asked to install a specific version of Python – this one.
So week 2′s problem set has been the first real test, consisting of writing three small modules of code using some simple algorithms. The first problem required writing code to show the impact of making minimum payments on a credit card balance. The second required code to calculate to the nearest $10 the minimum monthly payment required to clear the balance in a year. The third problem was identical – but required an implementation of the bisection method to calculate to the nearest cent the minimum monthly payment so that the program would complete its computation within a reasonable amount of time.
Unlike 6.002x, the course team aren’t publishing lectures and problem sets a week in advance, so this is going to make the course more difficult to plan around life in general. That seems a step backwards to me, as does the implementation of the discussion forums using what I assume is some kind of AJAX interface. I’ve largely ignored them so far as it’s just too tedious to use – especially on a slow connection or an iPad. Worse than this however is that the incredibly useful tagging functionality used in 6.002x discussion forum also appears to have been removed as well. But at least the ridiculous karma system from 6.002x has gone and has been replaced with a simple ‘upvote’ system, allowing useful discussions to still be found while not allowing the abuse of power that was sometimes evident.
The big advance on 6.002x is that the slides used in the video lectures aren’t handwritten – and so are actually legible. However, at the moment, the Python code windows are a bit blurry and hard to read. The course team have promised that this aspect will be improved in later lectures.
So all in all, one step forwards and two or three back compared to the delivery of 6.002x. But the content so far is everything that I’d expect from a first year university level introduction to computation and programming, so I’ll be sticking with it.