In this paper we present distributed tasks, a new task type that can be used at programming competitions. In such tasks, a contestant is supposed to write a program which is then simultaneously executed on multiple computing nodes (machines). The instances of the program may communicate and use the joint computing power to solve the task presented to the contestant. We show a framework for running a contest with distributed tasks, that we believe to be accessible to contestants with no previous experience in distributed computing. Moreover, we give examples of distributed tasks that have been used in the last two editions of a Polish programming contest, Algorithmic Engagements, together with their intended solutions. Finally, we discuss the challenges of grading and preparing distributed tasks.
[1]
Luis Héctor.
libinteractive : A Better Way to Write Interactive Tasks
,
2015
.
[2]
Sanjay Ghemawat,et al.
MapReduce: Simplified Data Processing on Large Clusters
,
2004,
OSDI.
[3]
Jakub Radoszewski,et al.
Stimulating Students' Creativity with Tasks Solved Using Precomputation and Visualization
,
2011
.
[4]
Eric A. Brewer,et al.
Harvest, yield, and scalable tolerant systems
,
1999,
Proceedings of the Seventh Workshop on Hot Topics in Operating Systems.
[5]
Dennis Komm.
Teaching the Concept of Online Algorithms
,
2011
.
[6]
Michal FORIŠEK.
Pushing the Boundary of Programming Contests
,
2013
.