I’m passing through guided programming courses on Codility these weekends, as much as time allows me.
Couple of notes connected to that experience…
First, the practices are excellent. They start off gently and then get to really interesting problems. I am writing this under the influence of unexpected solution to the one of them which I didn’t see coming for a while as I was banging my head on the desk. :-) That’s the good part.
The bad part?
Codility has one some more or less big issues. Not that it makes it less good or less usable, just creates some hassles with using it.
First, there is a lack of more than 1 predefined test case for every practice. It’s not impossible to make your own additional test cases, but ideally Codility should cover you with at least one example of bigger input data set than the basic one. Especially because input box (at least for Python) doesn’t let you enter programming language expression which would be evaluated and executed. That is understandable, but makes creating own larger test case sets a hassle. There is a room for improvement on this.
Kind of tied to this issue – despite the fact that you are almost discouraged to enter proper input elements for your own test cases, you can’t iterate your solution towards better either. Once you submit your solution, even if you have time left, you can’t go back and improve it. Ideally, you could go back and save the snapshot of the current code so you can revert to it if additional efforts don’t create better.
The code editor works well for the web-based editor and time complexity detection also seems quite polished if not even perfect. I didn’t bump on space complexity issues with my code, so I wouldn’t be able to tell you if space complexity detection also works well. And I’m too lazy to try it.
All in all, sit back Codility, here is your B- (like, 80/100…). It’s not that you don’t deserve at least A-, but there is always room for improvement. ;) I hope we’re even now, you took a lot of my precious free time. And you’ll take some more.
P. S. Yes, my wife probably hates you.