Welcome to AlgoBOWL

Students compete in groups to create the best heuristic to an NP-hard problem.

How it Works

Students are placed in groups and receive an NP-hard problem. They are asked to design a good heuristic to the problem, create an input to the problem, and a program which, given an input and output, will verify if the output is a valid solution to the input.

Stage 1: Input Upload

Groups upload their inputs to the problem and select a team name.

Stage 2: Output Upload

Groups run all inputs on their solution program and upload their outputs to the site.

Stage 3: Verification

Groups verify that each solution to their input from all other groups is valid.

Stage 4: Resolution

Groups with rejections may upload new outputs for a penalty, or protest rejections.

Stage 5: Open Verification

All outputs for all inputs become available, and teams may protest any verification.

Stage 6: Evaluation

Everyone evaluates their teammates effort to be considered in their grade.


Grades are assigned according to the following percentages:

Input Uploaded 5%
Input Difficulty 10%
Valid Outputs 50%
Verification Accuracy 20%
Rankings 15%, assigned by rank within benchmark:
  • Below benchmark 1: Between 0% and 5%
  • Below benchmark 2: Between 5% and 10%
  • Above benchmark 2: Between 10% and 15%

This rubric is designed in such a way that approximately 80% of the grade can be received without a competitive solution.

Your individualized grade is a scaled version of your group grade based on evaluation responses from others in your group.


All deadlines for each stage of the competition are strict. Since this is a whole-class project, we need input upload to be complete before output upload may begin, we need output upload to be complete before verification can begin, etc. Students are encouraged to upload early to avoid missing deadlines. The site will not allow you to participate in a competition stage after it ends.

If you miss a deadline due to an approved absence, you should contact your instructor to provide an alternative activity for that portion of the grade.