Previously I’d seen the MITx offering that was due to roll out later this year, and was looking forward to seeing what it had to offer.
However, thanks to an old work colleague sharing a link on Facebook, I discovered Coursera, who are now already offering FREE courses on a variety of subjects, provided by top US universities including Princeton University, Stanford University, University of California, Berkeley, University of Michigan-Ann Arbor, and University of Pennsylvania. It’s not to be sniffed at.
When I then mentioned this to current work colleagues, I was pointed in the direction of yet another provider of free education: Udacity. As the Coursera courses hadn’t actually started at the time, I enrolled on a course that I thought would be a simple and relevant introduction into their courses: “Intro to Computer Science: Building a Search Engine” (CS101).
The course introduces some basic concepts of topics such as hardware, programming in Python, and the internet, and though it had already started a few weeks earlier, I was confident enough with the material that I watched the videos and went through the quizzes, questions and homework quite quickly. By the end, and with time running out before the exam, I ended up skipping some of the final units and homework.
I was fairly confident that I would pass the exam, having attempted 11 of the 12 questions. Assuming I’d got them all right, my reward would have been a certificate of the highest distinction, but alas, I succumbed to a mistake that a man of my experience and profession should have avoided!
On one particular test I used the provided example tests to validate my solution, and it passed. But what I failed to do was provide my own “unit test” that would validate a further possible input. The moral of the story: Always make sure you write unit tests for your code, for all inputs, even irregular ones, and not just the expected use. Probably just as well I signed up for another Udacity course, “Software Testing: How to make software fail”. Perhaps I’ll learn a thing or two.
So what did I get for my efforts? This: