The history of Peach

Version 1

We started with the first version of peach (then called PEACH/vs) in early 2001. The basic idea was to create a simple website where our students could upload their programming homework assignments.

We got the idea from software that was used for programming contests, specifically PC². This is a Java application used by the ACM programming contest (which we hosted in 1999, and therefor had some experience with it) where contestants would supply their solution to some programming problem and a jury would (manually) evaluate the quality of the submission.

The first version of Peach was very simple: it allowed our students to register and select a course. This course had some assignments and they could upload a single file solution for these assignments. There was no checking done on these submissions whatsoever. Teachers and teaching assistants could log in to the system with a special account where they could print the submitted programs and provide feedback on it.

We chose for a web based solution, written in PHP (version 3 at the time) and it had to work with Internet Explorer 4 (used by most of our students) and Netscape 4 (used by most of the staff).

This version went live in september 2001 and was used for our first year programming course. New features were soon added: already in the third week of the course Peach was able to compile that single file submission and run a few test cases on it, providing automated feedback on the quality of the submission. This tool (called the Peach Daemon) was written in C.

Version 2

In the course of a few years, Peach grew. Already in 2002 version 2 was released. It was a revised version of the first peach code, containing a new user interface, database and testing backend. It allowed multi file submissions, as well as more complicated testing scenarios.

This version of Peach was not only used at our institution but also at institutions in Finland and India. Also, we didn’t only use it for our programming education anymore but also for other courses (eg. to collect essays) and for the Dutch Informatics Olympiads programming contest.

The web based backend of Peach 2 was still written in PHP, the second daemon was written in a (then) relatively unknown language called Python.

Some usage statistics of the earlier versions of Peach:

Until # Courses
+ Contests
# Active
Users
# Submissions
Aug. 2002 7 174 1808
Aug. 2003 18 483 5990
Aug. 2004 28 727 10509
Aug. 2005 38 937 14327
Aug. 2006 50 1158 18622
Aug. 2007 65 1673 24313

Version 3

I will talk about the history of the third (and current) version of Peach in a future posting.

Tags: ,

Leave a Reply