scispace - formally typeset
Search or ask a question
Proceedings ArticleDOI

Experience with constructing code hunt contests

TL;DR: This paper describes the experience with contest construction over a period of year and provides guidelines for choosing and making adjustments to the puzzles so that a Code Hunt contest will provide a satisfying trouble-free experience for the contestants.
Abstract: Puzzles are the basic building block of Code Hunt contests. Creating puzzles and choosing suitable puzzles from the puzzle bank turns out to be a complex operation requiring skill and experience. Constructing a varied and interesting mix of puzzles is based on several factors. The major factor is the difficulty of the puzzle, so that the contest can build up from easier puzzles to more difficult ones. For a successful and fun contest aimed at the expected abilities of the contestants, other factors include the language features needed to solve the puzzle, clues to provide when the puzzle is presented to the player, and test cases to seed into the Code Hunt engine. We describe our experience with contest construction over a period of year and provide guidelines for choosing and making adjustments to the puzzles so that a Code Hunt contest will provide a satisfying trouble-free experience for the contestants.

Content maybe subject to copyright    Report

Citations
More filters
Posted Content
TL;DR: This paper reports on the development of a Web platform for peer feedback on programming artifacts through program testing and discusses the development process of the peer-testing platform informed by teachers and students.
Abstract: As part of formative and summative assessments in programming courses, students work on developing programming artifacts following a given specification. These artifacts are evaluated by the teachers. At the end of this evaluation, the students receive feedback and marks. Providing feedback on programming artifacts is time demanding and could make feedback to arrive too late for it to be effective for the students' learning. We propose to combine software testing with peer feedback which has been praised for offering a timely and effective learning activity with program testing. In this paper we report on the development of a Web platform for peer feedback on programming artifacts through program testing. We discuss the development process of our peer-testing platform informed by teachers and students.

3 citations


Cites background from "Experience with constructing code h..."

  • ...By organising puzzles into difficulty levels and combining these to form a contest, Code Hunt creates an incentive to enter the coding-game....

    [...]

  • ...2015; Horspool et al. 2015] which combines multiple programming puzzles of the kind Pex4Fun uses. By organising puzzles into difficulty levels and combining these to form a contest, Code Hunt creates an incentive to enter the coding-game. The levels are re-evaluated using players’ statistics. Beyond being serious games, an interesting aspect of both these systems is the absence of specification in the coding exercises which makes the participants to reflect on testing results to reverse-engineer the secret program. They also limit the feedback given to a small number of inputs and results not to overwhelm the participant with information which is something our platform currently leave to the peer interaction between students to manage. Ruef et al. [2016] introduce the programming contest Build-it, Break-it, Fix-it that uses the concept of a peer security testing to judge the success of various programming assignments....

    [...]

  • ...Pex4Fun later evolved into a new game called Code Hunt [Bishop et al. 2015; Horspool et al. 2015] which combines multiple programming puzzles of the kind Pex4Fun uses....

    [...]

Proceedings Article
23 Oct 2017
TL;DR: In this article, the authors report on the development of a Web platform for peer feedback on programming artifacts through program testing, which has been praised for offering a timely and effective learning activity with program testing.
Abstract: As part of formative and summative assessments in programming courses, students work on developing programming artifacts following a given specification. These artifacts are evaluated by the teachers. At the end of this evaluation, the students receive feedback and marks. Providing feedback on programming artifacts is time demanding and could make feedback to arrive too late for it to be effective for the students' learning. We propose to combine software testing with peer feedback which has been praised for offering a timely and effective learning activity with program testing. In this paper we report on the development of a Web platform for peer feedback on programming artifacts through program testing. We discuss the development process of our peer-testing platform informed by teachers and students.

2 citations

References
More filters
Book ChapterDOI
09 Apr 2008
TL;DR: Pex automatically produces a small test suite with high code coverage for a .NET program by performing a systematic program analysis using dynamic symbolic execution, similar to path-bounded model-checking, to determine test inputs for Parameterized Unit Tests.
Abstract: Pex automatically produces a small test suite with high code coverage for a .NET program. To this end, Pex performs a systematic program analysis (using dynamic symbolic execution, similar to path-bounded model-checking) to determine test inputs for Parameterized Unit Tests. Pex learns the program behavior by monitoring execution traces. Pex uses a constraint solver to produce new test inputs which exercise different program behavior. The result is an automatically generated small test suite which often achieves high code coverage. In one case study, we applied Pex to a core component of the .NET runtime which had already been extensively tested over several years. Pex found errors, including a serious issue.

900 citations


"Experience with constructing code h..." refers background in this paper

  • ...Keywords Programming contests, Code Hunt game, Unit tests...

    [...]

Proceedings ArticleDOI
16 May 2015
TL;DR: This paper describes Code Hunt and the contest experience it offers, and shows some early results that demonstrate how Code Hunt can accurately discriminate between good and bad coders.
Abstract: Mastering a complex skill like programming takes many hours. In order to encourage students to put in these hours, we built Code Hunt, a game that enables players to program against the computer with clues provided as unit tests. The game has become very popular and we are now running worldwide contests where students have a fixed amount of time to solve a set of puzzles. This paper describes Code Hunt and the contest experience it offers. We then show some early results that demonstrate how Code Hunt can accurately discriminate between good and bad coders. The challenges of creating and selecting puzzles for contests are covered. We end up with a short description of our course experience, and some figures that show that Code Hunt is enjoyed by women and men alike.

52 citations

01 Jan 2014
TL;DR: An online platform that allows people to create a contestant profile to compare them to other users of the platform and to discuss about the con - tests they took part in is presented, which aims at increasing the motivation of people when learning to program.
Abstract: Promoting computer science though programming is widespread all around the world. However, there are not always enough human resources to support trainings and teaching of pro- gramming. At the same time, online programming contests have also spread and are getting ac- cessible to people at large. This paper is about how it is possible to use online programming contests to build trainings and to support the teaching of programming. The paper first reviews how programming contests can be classified. It then proposes classification criteria and applies them to a selection of existing online programming contests. Based on that classification criteria and review, the paper discusses how such contests can be used to build programming trainings and also to support teaching. Finally, the paper presents an online platform that allows people to create a contestant profile to compare them to other users of the platform and to discuss about the con - tests they took part in. All this work aims at increasing the motivation of people when learning to program and at promoting computer science among young people, with limited human resources and using online social connections between people.

29 citations