# US 8,137,172 B2 · System and method for programming tournaments

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,137,172 B2
- Document ID: US8137172B2
- Status: Granted
- Kind: B2
- Application number: 12/338,149
- Filed: 2008-12-18
- Published: 2009-04-23
- Granted: 2012-03-20
- Earliest claimed: 2001-01-09
- Assignees: TopCoder, Inc.
- Inventors: Michael Lydon; John M. Hughes
- Web page: https://patentgrep.com/patent/US8137172B2

## CPC

- G09B 7/00: Electrically-operated teaching apparatus or devices working with questions and answers (mechanically operated G09B3/00; computing arrangements G06F)
- G06Q 10/06: Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q 10/06398: {Performance of employee with respect to a job function}
- G06Q 20/085: {involving remote charge determination or related payment systems}
- G06Q 30/02: Marketing; Price estimation or determination; Fundraising
- G06Q 30/0209: {Incentive being awarded or redeemed in connection with the playing of a video game}
- G06Q 40/04: Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
- G07F 17/32: for games, toys, sports, or amusements
- G07F 17/3276: {wherein the players compete, e.g. tournament}
- G09B: EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS (devices for psychotechnics or for testing reaction times A61B5/16; games, sports, amusements A63; projectors, projector screens G03B)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G07F: COIN-FREED OR LIKE APPARATUS (coin sorting G07D3/00; coin testing G07D5/00; {handling coins or paper currencies apart from payment activated apparatus G07D; payment architectures, schemes or protocols G06Q20/00})

## Abstract

This invention relates to a method and apparatus for providing a coding competition. In one embodiment, a method for providing a coding competition includes transmitting a coding problem to contestants, receiving computer code created by a contestant, determining a response of the computer code to test data, and evaluating the response of the computer code to the test data. In another embodiment, a method for evaluating a skill level of a contestant includes electronically communicating a coding problem to contestants, electronically receiving a software program in response to the coding problem from one of the contestants, evaluating the received software program, awarding points to the contestant based on the received software program, and determining a rating for the contestant for the competition based on the number of points awarded to the contestant.

## Claims

### Claim 1

A method for conducting a computer programming tournament, comprising:
registering a contestant with a server by receiving from the contestant an alias for the contestant; and
conducting a computer programming tournament having multiple rounds wherein the winners of each round except a last round are invited to participate in a next round, and wherein one or more early rounds are conducted over the Internet, and a later round is conducted in person with multiple participants in the same location, each round comprising:
communicating via a network a computer programming problem to each of the contestants invited to participate in the round;
receiving submissions via the network from the invited contestants, each being associated with a contestant and comprising computer programming problem solutions;
evaluating the submissions using a competition server computer to determine whether the submission demonstrates a solution to the computer programming problem;
awarding points to the contestants using a competition server computer based on the evaluation of their respective submissions; and
designating as round winner(s) contestant(s) who submitted the submission(s) resulting in the greatest number of points.

### Claim 2 (depends on 1)

The method of claim 1, wherein each contestant has a single alias for use by the contestant in the multiple rounds, and wherein the alias identifies the contestant to other contestants and spectators.

### Claim 3 (depends on 2)

The method of claim 2, wherein the submissions are published along with the respective alias of the submitter.

### Claim 4 (depends on 3)

The method of claim 3, wherein the submissions for each round are published during the round.

### Claim 5 (depends on 3)

The method of claim 3, wherein the submissions for each round are published after a submission deadline for each round.

### Claim 6 (depends on 1)

The method of claim 1, wherein the evaluation is based at least in part on when the submission was submitted.

### Claim 7 (depends on 1)

The method of claim 1, wherein the evaluation is based at least in part on a comparison of expected output data with actual output data.

### Claim 8 (depends on 1)

The method of claim 1, wherein at least two rounds are conducted in person.

### Claim 9 (depends on 8)

The method of claim 8, wherein a semi-final round and a final round are conducted in person.

### Claim 10 (depends on 1)

The method of claim 1, wherein the in-person round can be observed by spectators attending in person and over the Internet.

### Claim 11 (depends on 1)

The method of claim 1, wherein the on-line rounds and the in-person round are conducted using the same competition system.

### Claim 12 (depends on 1)

The method of claim 1, further comprising communicating the computer programming problem to non-participating spectators.

### Claim 13 (depends on 1)

The method of claim 1, wherein the submissions comprise test data.

### Claim 14 (depends on 1)

The method of claim 1, wherein the submissions comprise output data.

### Claim 15 (depends on 1)

The method of claim 1, wherein the submissions comprise source code.

### Claim 16 (depends on 1)

The method of claim 1, wherein the submissions are submitted during a predetermined competition time period.

### Claim 17

A system for conducting a computer programming tournament with an on-line round and an in-person round, comprising:
a registration system for registering contestants for a tournament by associating an alias with each of the contestants; and
a competition system for conducting a computer programming tournament having multiple rounds wherein the winners of each round except a last round are invited to participate in a next round, and wherein a round is conducted among contestants located in different locations and communicating over the Internet, and a later round is conducted in person with multiple contestants present in the same location, comprising:
a communication system for communicating over a network a computer programming problem to each of the contestants invited to particpate in the round;
a submission system for receiving submissions over the network from the invited contestants, each submission associated with a contestant and comprising computer programming problem solutions;
an evaluation system for evaluating each of the submissions using a competition server computer to determine whether the submission demonstrates a solution to the computer programming problem;
a scoring system for awarding points to the contestants using a competition server computer based on the evaluation of their respective submissions; and
a publication system for designating as the winner(s) of each round the contestant(s) who submitted the submission(s) resulting in the greatest number of points, and in all rounds except a final round advancing the winners to the next round.

### Claim 18 (depends on 17)

The system of claim 17, wherein the submissions comprise source code.

### Claim 19 (depends on 17)

The system of claim 17, wherein the submissions comprise data.

### Claim 20 (depends on 17)

The system of claim 17, wherein each contestant has a single alias for use by the contestant in the multiple rounds, and wherein the alias identifies the contestant to other contestants and spectators.
