skip to main content
Department of Computer Science University of Colorado Boulder
cu: home | engineering | mycuinfo | about | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | mobile | contact cs
home · undergraduate program · senior project · projects · 

Senior Project - LeaderBoard


Athletic Event Scheduling Engine

Senior Project: 2003-2004
Jason Craig, Cody Munger, Michael Pratt and Benjamin Stookey
Boulder, CO

Every day hundreds of sporting events are taking place just within a single town ranging from one-day tournaments to rolling leagues. Each one of these requires a great deal of planning and scheduling. Most of the scheduling for these is still done purely by hand or using simple macros in a program like Excel. Event coordinators spend much of their time handing scheduling conflicts when they could be promoting or finding competitors and sponsors. Code Contractors is a startup company committed to producing quality software that makes complicated tasks easier. The goal of the project was to develop an athletic scheduling engine that simplifies the entire process of scheduling athletic events.

Scheduling by itself is a tricky algorithm, but handling other concerns such as switching playing fields at the last minute, accommodating for competitors that arrive late, rescheduling matches, and making sure one team in a league doesn't play at 11 o'clock in the evening every week while another plays at 6 o'clock can be very intricate. There are also many formats required to handle a wide range of sports from tennis ladders to hockey leagues to round robin soccer tournaments.

Several local groups were interested in this product and guided the design. A few basic elements were needed in the final product:

  • The system needed to be extremely versatile. In addition to creating optimal schedules that meet a large number of criteria, the system needed to easily handle typical circumstances that occur once the schedule is complete.

  • The system needed to function with the web, but not necessarily on the web, i.e. the coordinator should be able to manage an event without access to the Internet, but schedules and results should be posted on the web for use by teams and others involved in the event.

  • The interface needed to be simple to use, allowing the coordinator to simply specify the various factors that affect the schedule (number of teams, site availability, event format, etc.), rather than being concerned with how a schedule that satisfies these constraints is produced.

The initial focus of the project was on in-house league formats. However, the user interface is designed to organize the users' data efficiently and intuitively and can be easily extended to support almost any kind of athletic event. The scheduling system was developed in Java, while web-based components were developed in HTML.

Configuring a Session
Configuring a Session
Modifying a Schedule
Modifying a Schedule
Public User Website
Public User Website
See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
Send email to

Engineering Center Office Tower
ECOT 717
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2012 Regents of the University of Colorado
Privacy · Legal · Trademarks
May 5, 2012 (14:07)