Introduction to Programming Team

Created by Tyler Burnham

What is Programming Team?

Programming Team is a group of people that practice and compete in competitions held thought the year. The goal is to solve all the problems in as little time as possible.

How does the competition work?

General Rules

  • One Computer
  • Fixed Time Limit
  • Problem Set

Small College

Unicorns!

Small College

  • 3 Hours
  • Teams of 4
  • Only smaller university's compete.
  • Only two people allowed in the room at a time.
  • Easier Problems

ACM

ACM!

ACM

  • 5 Hours
  • Teams of 3
  • We compete against GA Tech and UCF.
  • 5 Simultaneous Locations
  • > 30 Schools Participating
  • All three can sit at the computer.
  • Much Harder Problems

Mercer Competition

Mercer!

Mercer Competition

  • In the spring
  • 5 Hours
  • Teams of 3
  • Held at Mercer
  • Lots of problems of all types

Scoring

Teams with the most problems solved win. In the case of a tie all the problem submission times are added and any incorrect submissions add 20 additional minutes for each.

Example For One Problem

  • You submit the problem twice, but get the problem wrong (time limit exceeded, presentation error, etc.)
  • You finally get it right the third time, 45 minutes after the competition has started
  • As a result, you would get 20 penalty points for the first incorrect submission, 20 for the second, and 45 for the correct submission, totalling 85 points
  • So, it's best to get the problem as quickly as possible and without making any mistakes

Example For Two Teams

Consider the following two teams:

  • Team A has solved 5 problems, with a total of 600 penalty points
  • Team B has solved 4 problems, with a total of 500 penalty points

Team A would win in this case, because they solved more problems

Another Two Team Example

Consider this case instead:

  • Team A has solved 5 problems, with a total of 600 penalty points
  • Team B fixed a bug and has now solved 5 problems, with a total of 550 penalty points

Now, Team B would be the winner because in the case that two teams have the same number of solved problems, the team with the least number of penalty points breaks the tie.

Problem Types

  • String Manipulation
  • Math
  • Graph Theory
  • Computational Geometry
  • Combinatorics
  • Dynamic Programming
  • And More...

Why is this important?

New Skills

  • Coding on paper
  • Coding quickly and under pressure
  • Teamwork
  • Lots of coding knowledge you may never learn in class

Jobs

Major tech companies like Google, Facebook, Microsoft, Amazon, etc, all interview and hire based on very similar methods and problems.

Useful Books