Ian Ozsvald picture

This is Ian Ozsvald's blog (@IanOzsvald), I'm an entrepreneurial geek, a Data Science/ML/NLP/AI consultant, author of O'Reilly's High Performance Python book, co-organiser of PyDataLondon, a Pythonista, co-founder of ShowMeDo and also a Londoner. Here's a little more about me.

High Performance Python book with O'Reilly

View Ian Ozsvald's profile on LinkedIn

ModelInsight Data Science Consultancy London Protecting your bits. Open Rights Group


15 September 2009 - 0:44‘Learning by solving tests’ – a website we could do with?

I’ve often wondered why we don’t see more test-driven websites which test our knowledge of the subject matter.  A great example is the Python Challenge website, Nadav Samet built a great tool to test our Python knowledge – you have to be able to code (only some of the tests really need Python) to solve each stage of the tests.

To do well in that Challenge you have to enjoy problem solving and keep hacking away, you can’t cheat so you just have to be persistent.

Why don’t we see this sort of site more frequently?  How about one for learning to code?  In the Python Challenge you set your answer to be the url of the next question – if you get it right you progress – but you never submit any code.

Why about using something like Crunchy to let me submit snippets of Python which run either locally or perhaps remotely in a secured, cut-down Python environment where my code is uploaded and evaluated.  Sure, it gets hard if the code is non-trivial, but many learner-level problems can be solved with relatively trivial code snippets.  Wouldn’t this help people learn faster?  Having feedback when you get it wrong pointing at articles or example answers would be lovely to help you progress.

I often feel stupid when I realise that arguably the world’s most popular programming language – Javascript – is entirely foreign to me.  I can solve hard A.I. problems and have just spent 4 years working on one for the physics industry (using Python, Matlab and C++) but I can’t write a single line of Javascript.  I don’t ‘need’ Javascript so I never set out to learn it, I would love to have at least a passing ability to read and write it though.

If the above ‘challenge’ idea was applied to a site where talented people wrote interesting tests, I’m sure many of us would join (and pay?) to advance our knowledge.  We’d do it for fun and the intellectual stimulation, knowing that I’m learning on an ad-hoc basis and solving tasks (and gaining points and rep?) would be a nice motivator.

I suspect that if I could submit my own challenges and they were rated as ‘challenging and good’ by others, I’d also earn a useful reputation for myself (a bit like Stack Overflow does for problem solving).

Maybe the challenges could be embedded into your own site, ShowMeDo.com might use them to introduce people to the basics of programming where the tutorial videos helped people answer the questions.

Maybe you’d use the challenges to force people to prove their competence at certain topics before e.g. they could join certain forums.

If you have an opinion of whether this is a crazy idea (or not), I’d love to hear it…

Ian applies Data Science as an AI/Data Scientist for companies in ModelInsight, sign-up for Data Science tutorials in London. Historically Ian ran Mor Consulting. He also founded the image and text annotation API Annotate.io, co-authored SocialTies, programs Python, authored The Screencasting Handbook, lives in London and is a consumer of fine coffees.

1 Comment | Tags: Life