dtutor.org: a call to action

Ivan Kazmenko gassa at mail.ru
Sun May 5 15:38:57 PDT 2013


> I. Features to be supported
>
>     Problems - Staged ICPC problems for users to attempt. 
> Solutions may
> be submitted online for comparison against previously submitted
> solutions to determine efficiency ranking and users may choose 
> to create
> and account to keep track of progress.
>
>     Online Judge - to be used to determine accuracy and 
> efficiency of
> submitted solutions to problems and planned programming 
> contests.

You mean algorithmic contests like ACM ICPC, right?  There are a 
few online judges supporting the D programming language which 
already have all other necessary infrastructure (problem archive, 
online judge and server itself, etc).

First, there's Codeforces (http://codeforces.com).  There are 
already hundreds of algorithmic problems in the problem archive 
which can be solved individually or by participating in "virtual" 
past contests.  New contests (5 problems, 2 hour duration) are 
held, like, weekly.  The online judge supports a number of 
programming languages.  They recently upgraded the D compiler to 
the current DMD 2.062 (Windows version).

Then there's Sphere Online Judge (http://spoj.pl).  They support 
48 programming languages, their D version is listed as GDC 4.1.3 
which as I understand is pretty old (D1?).

And then there is a number of mathematical and/or algorithmic 
online contest sites where one runs the code locally on given 
inputs and submits only the result.  Examples of these are 
Project Euler (http://projecteuler.net) and Rosalind 
(http://rosalind.info).  After you successfully solve a problem, 
you usually get access to a forum where people post and discuss 
their approaches in different programming languages, trying to 
show the strengths of their tools.

An online judge dedicated to D seems like a fun idea at first.  
Still, things usually go the other way around.  Much effort is 
put into getting an online judge up and running.  It is far from 
trivial to constantly add good algorithmic problems.  But once 
you have these two, adding support for a programming language is 
a matter of hours.

Regarding programming contests, there's another flavor of them: 
instead of solving small math/algo problems in a limited time 
frame, the competitors can design or develop a small-ish software 
component and submit them for a formal review.  The judging 
criteria should however be precise enough (i.e. carefully 
prepared by someone having a clear general picture).  This could 
even turn into a successful business model, the presentation at 
http://bsr.london.edu/files/1357/who-needs-employees.pdf‎ seems 
to describe it in more detail.  It may happen that a similar 
model could be adopted to some parts of D development, provided 
that some of the current developers will like the idea and be 
really willing to try it.

-----

Ivan Kazmenko.


More information about the Digitalmars-d mailing list