1 / 4
Sep 2004

What is SPOJ?

That is, the info page13 says who it's developed by, and what it's composed of, and that as a side-effect it has an informative value consisting of several assets, but I can't find (there, or on the linked project page, or any of the several pages I've tried) what it's for--what the goal is, what it's supposed to accomplish. Is it intended to provide comparison of languages? Is it intended to provide comparison of programmers? If so, why?

Or is it just a solution (an online code judge) in search of a problem?

  • created

    Sep '04
  • last reply

    Nov '04
  • 3

    replies

  • 1.3k

    views

  • 3

    users

  • 1

    link

This is a very interesting question, to which there are many answers.

The system was originally created, because we wanted to apply an online judge in the teaching of students. Several universities in Poland, including Warsaw University, Wroclaw University, and Poznan University of Technology have already been doing likewise for the last two or three years. Quite naturally, we tried to make our system more functional smile. The elements we have been attempting to add are those that potential users wanted to see in other, older online judges (including acm.uva.es), but couldn't have.

At present, the system is created for 1) students and lecturers of universities and 2) members of a wider programming community, interested in algorithmics and programming contests. The site admins belong to both groups at the same time, and our bond with group 2) is probably as strong or even stronger, since it comes from interest/passion/(call it what you like), and not just geographical location.

The system is aimed at different users, and it is our hope that they may use it to a purpose that suits them best, e.g.:

  • young people & beginner programmers are encouraged to take a shine to algorithmics;
  • our students are given a chance to do their homework, honestly, thoroughly, and without cheating smiling_imp ;
  • ACM contest pros can solve tasks without being cramped by the restraints of too few programming languages, or an inconvenient user interface;
  • enthusiasts of functional or object oriented programming can solve contest problems in their favourite language;
  • any persons willing to share an interesting task with the rest of the SPOJ community can do so nearly automatically (one mail to the admins requesting problemsetter's priviliges is eneough),
  • last, but not least, (starting from October onwards) any person, wishing to organise a programming contest, with nearly any rules they may decide upon, may do so at any time they choose, without the help of system admins.
In the years (or months) to come, the system may potentially be adapted to allow for programming leagues, competing and fighting programs, etc., thus remarkably extending its functionality

I hope this answers your question at least to some extent. I wouldn't like to go into detail over existential issues like "why should I want to solve tasks without a prize?" or "why should you create free software without even inserting a PayPal link?", since there is no way a point of view, once fixed in these matters, can be changed.

2 months later

it could also be used more widely.
Some universities already supply programming packages implemented
by students.
This work can be distributed like done here. You have an overview
about the open tasks and the several implementations in several
languages and their running times.

So far it's mainly for "contest" -like problems but could maybe be
extended later to more typical applications ?!?

The advantage is that it's permanently updated and supported and anyone can contribute