The nature of free learning

Whilst I’m in a confessional sort of mood, I felt moved to write about one of my chief vices in life, exploring and learning. My particular brand of inquisitive curiosity has often lost me some time when I’ve let myself get distracted by an ooh, shiny!

Shiny web systems engaging students with top-notch content

The internet’s been most complicit by making it easy to indulge myself by following tangent after tangent (Nerd Sniping). Until recently, most opportunities to learn online are just reading, be it text on a web page or some code from a repo. That changed for me last year when a few keen professors at Stanford University decided to put their energy behind a collection of online versions of their classes.

It’s been a year or 20 since I was last at school, so my idea of the state of the art of learning is somewhat out of date, but I’m still impressed how a small smattering of technology can go a long way. I don’t find much mystery behind building the web delivery mechanisms, so I have to wonder why now was the right time for this to gain critical mass, when companies pushing online training software have struggled for years. I suspect it’s a combination of technology and the Silicon Valley effect.

These weren’t just putting a camera into their lecture theatres, like some people have tried before but really applied themselves to presenting the materials such that the pupils really got to engage with the course content.

Primary instruction comes from lectures designed for the screen, bits of powerpoint, pieces to camera and good old chalk and talk. These are typically cut up into bite sized chunks and interspersed with little (1 or 2 question quizzes) timed to wake up the viewers at home. Then there are the tests, because everybody likes getting scores at the end of the term. So far, these have been open book exams to test understanding, not memory, but they’re not invigilated so it’s hard to use them as a basis for an accredited qualification. I know I haven’t sat an exam since the 1990s, but I always struggled at memorising formulae and being able to refer to notes and text books was a personal revelation.

Learning at “web scale”

When I took part in last autumn’s Introduction to Artificial Intelligence, the biggest sense of participation came from the structure to the course, with deadlines to keep things moving forwards at a syncronised pace, homework to make sure you actually finished the week’s content and a couple of exams to check things had sunk in. I was testing myself to see if I could knuckle down for a couple of evenings a week to see if I could still do proper learning.

It turns out that that focus generates quite a lot of energy and excitement, which meant a community sprang up amongst the 150-odd thousand pupils, facilitated by an OSQA site aiqus and the ubquititous reddit. Also, just knowing there are several dozen thousand other people doing what I was doing had a certain cool factor.

I was reading some blog posts on the nature of Peer Instruction the other day. Two things sprang to mind about it, revision theory aside, nothing helps cement learning more than teaching it to somebody else and it just plain gets people’s brains working, rather than just sitting back and letting it wash over and through them. Think back to a good conference you’ve been to. Can you remember more from the passive talks or from the heated discussions in the queues between sessions, or down the pub afterwards?

Who’s running this show now?

Citation needed, but I strongly suspect that we’ve got Sebastian Thrun to thank for a lot of this. Throughout the AI class, he struck me as being the sort of person who’s enthusiasm was infectious and wouldn’t take no for an answer. He and Peter Norvig pretty much went ahead with AI class regardless of the consequences, rather than delaying kick off until everybody’s concerns had been addressed.

The other major class was in Machine Learning, given by Andrew Ng who is another huge name in Academia.

So far, these two classes have succeeded in acting as prototypes for their respective software platforms. AI-class handled most of its content in house (using Amazon EC2 for hosting) but left its video to Youtube to handle, which means it didn’t need to worry about CDN. At the time its company was known as Know-IT Labs, now it’s launched full scale into Udacity. I get the feeling that this organisation is spreading its content along personal lines, finding people through personal contacts who can be talked into doing it because it’s fun as well as useful.

MI-class has evolved into Coursera and has a similar technology stack, but it handles the videos in house using HTML 5 and its own CDN (currently cloudfront I think). They’ve engaged content from many different universities and have already established a big portfolio of classes, which is very impressive given the time involved. I’ve got much less experience with Coursera, so I haven’t got much grounding to base an opinion on, but I suspect their approach is slightly more calm and collected.

I’ve had excellent experiences using both software stacks and cannot really recommend one over the other, though I marginally prefer being able to find the videos afterwards on Youtube.

Neither are confining themselves to the techy world of maths and computer science and I’m not alone at being excited when when more classes become available and for free at that!

So why’s Dav bothering with all this, he’s already got a degree after all?

I’ve grown up with computers and for better and for worse, my approach is intuitive and reactionary. I’ve picked up a huge amount of software engineering (amongst other fields) through experience in the school of JFDI with after-hours classes of ‘oh dearie me it’s broken, understand it all and fix it all now now now’ but I’ve studied relatively little computer science over the years.

This has left me in the interesting situation of being good at what I do, but I know I don’t have all the tools I want to use when teaching and coaching others. Everybody has a favourite way of learning, some people like to do things by example, others by being given the problem, a box of tools and their reference guides, others by formal training courses and some like to understand the theory before putting it into practice.

Intro to AI was a really good overview for me of the field of applicable computer science, just definings its scope really, coupled with a healthy dollop of stats revision (Bayes, where have you been all my life?). I’m not sure I’ve got the time yet for Andrew Ng’s full on Machine Learning course, but Tim Roughgarden’s Algorithms: Design and Analysis class is proving to be right up my street. I’m familiar with the end results of the content, but it’s very useful to see the workings that got there. I hope to be able to re-use that sort of approach, if only when discussing the finer points when dissecting a particularly horrible query execution plan.

I’m not as fluent in Python as I perhaps should be, and it seems to be the defacto language for teaching programming in these days, so these have been good excuses to practice a little. ESRI picked python to replace VBA in their ArcGIS suite of software, so hey, maps!

Oh, and did I mention learning’s fun and I don’t have to do it for anything other than kicks and giggles?

Who have I left out?

I would be doing the world a disservice if I did’t mention Khan Academy who have got a libary of over 3000 videos, structured into a linked syllabus tree that takes you from elementary all the way through to post-graduate level details. I dipped into a couple of their modules on probability when I was studying AI, but I haven’t really explored their content much beyond going ‘wow’.

I should also mention MIT’s OpenCourseWare who have been putting their course materials freely online since 2002. Indeed it was this discussion on slashdot that sowed the seeds in my mind for participating now.