Review: CSCX, Computer Science by Example

Computer science by example.

Cscx.org is an online site by Rudy Matela. It hosts the book Computer Science by Example written by him, and the online judge which is used to judge the problems from that book. The site opened in 2020, and I actually tried my hand on it, solving some of the problems.

In this review, I will talk about my experience with this site, the book, and the online judge, and the kind of problems it has.

My review.

Let’s talk about the book first. It is a book which talks about computer science topics, and presents several programs as examples, before leaving some exercises for the reader to solve. These exercises are judged by the online judge of the site, where you can upload your source code, and get scored on it. If you pass all the tests, you get a perfect score. Otherwise, you get the errors.

The book is fine, and I even helped out with its editing, though my contribution wasn’t much because by the time I got to it, most of the mistakes were already edited out. the book uses three languages to show you example programs, Python, Haskell, and C.

However, you are free to use more languages with the online judge, such as C++, Racket, JavaScript, and Scheme, to name the few. However, you don’t have the freedom to solve the problems as you see fit.

You get a function signature along with the name, and you must use it as it is given. I tried using pointers where I wasn’t allowed to, and it caused segfault. The problems range from simple printing hello world, to dealing with mathematical equations, to even file reading writing. This is the only challenge site where you get to solve problems related with files.

If you’re a seasoned dev, these problems won’t give you much trouble. But they are challenging for a beginner.

Be warned though that if you use Python, you might need to optimize your programs to avoid out of time or out of memory errors. I used C, so I didn’t have any trouble with either of those, but in Python, there is a lot of that.

Actually, it would have been a wonderful challenge, now that I think about it. I got off easy since I used C. I would have to think more if I was using Python to actually make my programs run faster and with less memory.

Though as wonderful as it is, the book is incomplete. And it hasn’t changed its state in almost two years. Same for the site, no updates for the book even though more chapters and a whole new volume is planned, means no new problems to solve. Also, my final petty complain is, why doesn’t this site have Rust?

Anyway, give it a try if you want to. Just know that you will get bored of it soon enough, because there’s no new content coming constantly like in the case of other coding challenge sites out there.

You can look at the rankings, where I remain on the 16th rank at the time of this writing. I’m the user by the name of Dark Eagle. The rankings haven’t changed much, because I also suspect there is not much traffic to this site. Probably why Rudy is having such a hard time completing the book. It is hard to find motivation when you do not see the results.

Anyway, it is a fun site, you should try it, see how high you can go. But if you want more challenging problems and a site which gets updates regularly, look somewhere else.

Also, check out my web serial here.

Did you find this article valuable?

Support Tanish's technical blog by becoming a sponsor. Any amount is appreciated!