The contest has ended! Thanks to all of the participating teams! We'll announce the finalists by March 31st, at the latest.

2 March 2017

A new X-Large test is now in place. All existing submissions will show an X-Large test score of 361.
All new submissions will run against the X-Large test and will show their actual run-times. Good luck!

18 February 2017

The large test case is now live. We also have released a data set, similar to the large test case but smaller in size,
that is available for download here.

16 February 2017

We are planning to introduce a new Large test case until 18/2. Between now and then you may see some changes to the dashboard and leaderboard. We will make another announcement when the new test is live.
Existing submissions will not be re-tested against the new large case. Instead, we will preserve their relative rankings by treating them as if they had passed the new test in the maximum allowed time +1 sec. Once the new test is live, all subsequent submissions will be tested against it. If you'd like your current code to be tested against the large case, just re-submit it after the new test has gone live.
When we introduce the new test, we will also be lowering the testing time limits for the small and medium tests to 2 minutes.

6 February, 2017

Team registration, the dashboard and the
leaderboard are now available. Good Luck!

2 February, 2017

The 2017 ACM Sigmod Programming Contest is now launched! The task description and a reference implementation are available, while team registration will open in a few days.

Contest Overview

Student teams from degree-granting institutions are invited to compete in the annual SIGMOD programming contest.
This year, the subject of the contest is N-gram queries over dynamic datasets.
The winning team will be awarded a prize of USD
$7,000, and there will be an additional prize of USD
$3,000 for the runner-up.
Teams' submissions will be judged on their overall performance on a supplied workload. One member of each of the top 5 teams
will receive a travel grant to attend the SIGMOD 2017 conference.

Task Overview

An N-gram of words is a contiguous sequence of N words (https://en.wikipedia.org/wiki/N-gram). For this year's contest, the task is to filter a stream of documents using a set of N-grams of interest and, for each document, return where in it one of the N-grams is found
The input to the task will have two parts: first, an initial set of N-grams, which may be processed and indexed; second, a series of queries (documents) and N-gram updates (insertions or deletions), arbitrarily interleaved. For each N-gram insertion or deletion, the set
of N-grams of interest is updated accordingly. For each new query (document) arriving, the task is to
return as fast as possible the N-grams of the currently up-to-date set that are found in the document.
These should be presented in order of their first appearance in the document. If one N-gram is a prefix
of another and the larger one is in the document, then the shorter one is presented first. Note that in
answering each query, all insertions/deletions preceding the query must be taken into account.