So far it's an interesting course. When I signed up I thought we only had 12 weeks to complete it, but it turns out we have an entire year. Which is great because I started a full-time job three days after CS50x started! I've been putting off writing about it, but I want to get started. My progress is slow, as I'm working 50+hrs/week and trying to keep up with everything else (car broke down the first week, then the truck, you get the picture).
I'm going to do a post on each Problem Set, and try to describe and explain the issues I ran into and how I solved them, without violating the cs50x policy of course (no complete solutions will be available here). Remember, I'm new at this, so my solution may not be the most efficient nor elegant by any means. But it should work.
OverviewThe lectures have a lively feel to them and are available in many formats, I have been streaming the videos from the courseware page and occasionally downloading the mp3's to listen to on the way to work.
The shorts are really cool 5-10min explanations of things related to the course. Did you know that in ASCII to change from capital to lower case (and vise versa) only one bit changes? Yep, it was in a short.
The appliance is a virtual machine running Linux with a selection of tools to help you. I used virtualbox under Arch Linux, but it runs on Windows, Linux and Mac. It could be really slow on old or low-powered systems. it's a bit slow on my HTPC, but OK on my laptop. It took a while to get everything running smoothly, but that was mostly vitrualbox issues rather than appliance problems.
The problem sets start easy (scratch) and get harder really fast, but it's supposed to be a challenge right? There is a standard edition and a hacker edition, only the standard counts toward completing the course, so I've concentrated on them. I'll go back and do the hackers as time permits (or when I'm procrastinating on the final project).
The final project is a dilemma for me, so far all the ideas I've had fit one of these categories: too simple, too complicated, already been done, or not sufficiently interesting to me. Hopefully I'll come up with a good idea before I'm through with problem sets.