Spending a Sunday on CodingBat.com

I've played a bit with Project Euler but all of their problems are math-centric, which is nice but not exactly what I'm looking for: some real-world programming problems to get back into the coding field.

So asking my friend Google, I found CodingBat: it has a Python section with several tasks to complete. I must say they are some kinda trivial to solve, once you know some idiomatic Python code, but some are a bit more interesting. If you're a junior Python coder, or want to get a grip on the language, give it a look.

Oh, and if you know some website that would give me some real-world programming coding problems (something that would be useful on the job, not just coding for fun), I would love to hear you.


armagon said...

http://rosalind.info - bioinformatics, but haven't really checked the problems out yet.

Marco Rodrigues said...

Maybe you can find something at http://www.codecademy.com/pt/tracks/python

Thomas Koch said...

Hi Sandro,

if you find interessting exercises I'd be thankful if you'd add them to http://wiki.zum.de/Python#Aufgaben - It's a wiki sharing resources for german teachers.

On the other hand: Why not solve real problems?

- http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=python-debian
- a python parser/writer for debian/copyright
- http://bugs.debian.org/693692
- I was also thinking about rewriting parts of maven-repo-helper and maven-debian-helper in python.

Regards, Thomas Koch

Sandro Tosi said...

@Marco: I'm going a look to codacademy - I just hope it's not that easy in the first sections

mpomme said...

In my experience, real world coding problems very seldom involve writing algorithms.
Much more often, it's your designing / refactoring skills which are needed (when it's not simply bug hunting skills).

Conversely, if you do work on an algorithm, it surely involves some kind of maths (if only for time / space complexity estimation).

For the later, tutorials and problems from topcoder are quite good: http://community.topcoder.com/tc
Codility also regurarly publish interesting problems, and their solution some time later: http://blog.codility.com/search/label/certificate
This kind of practice is also quite efficient for technical interviews (e.g. MS/Google-like recruiting tests)

For the former, i know no substitute to real world practice, so I would follow Thomas advice !
Alternatively, make up a toy/NIH application "just for fun", and if possible compare your code with some other open source applications.

Marco Rodrigues said...

@Sandro - I think it's not so easy after some exercices =)