Pedagogical Experiences of Competitive Elements in an Algorithms Course


  • Fredrik Heintz
  • Tommy Färnqvist


Computer science education, Programming competitions, Skill acquisition, Deliberate practise


We claim that competitive elements can improve the quality of programming and algorithms courses. To test this, we used our experience from organising national and international programming competitions to design and evaluate two different contests in an introductory algorithms course. The first contest turned lab assignments into a competition, where two groups ran competitions and two were control groups and did not compete. The second, voluntary, contest, consisting of 15 international programming competition style problems, was designed to support student skill acquisition by providing them with opportunities for deliberate practise. We found that competitive elements do influence student behaviour and our main conclusions from the experiment are that students really like competitions, that the competition design is very important for the resulting behaviour of the students, and that active students perform better on exams.
We also report on an extra-curricular activity in the form of a semester long programming competition as a way of supporting student's deliberate practise in computer programming.