NCC 2000 Java
AITP Annual Java Competition Event


AITP NCC Java Competition Event
Java Contest Problem Statement - 2000

This resource page is provided to help student contestants prepare for the annual AITP National Collegiate Conference Java programming competition event. The problem statement was used in the first Java contest held at the 2000 Tampa, Florida conference.

Problem Statement Topics

Part 1: Introduction to the AITP NCC Java Competition Event
Part 2: Rationale behind the problem statement design
Part 3: Student Contestant Information
Part 4: Faculty Information
Part 5: Contest Briefing AITP NCC 2000 Java Contest Briefing
Part 6: Problem Statement AITP NCC 2000 Java Problem Statement
Part 7: Contest Commentary
Part 8: Copyright and License Issues

Part 1: Introduction to the AITP NCC Java Competition Event

The problem statement presented was developed by a senior enterprise Java development team coordinated by ASR Strategic Resources (ASR) with faculty input from the University of Texas at Arlington (UTA). The development team consisted of three developers (including the contest coordinator). The initial design was worked out over several days using Rational Rose between UTA (Dr. Craig Slinkman) in the United States and ASR (Don Baldwin) in Sweden. The volunteers responsible for developing the problem statement are listed below:

Don Baldwin Java Contest Coordinator
Craig Slinkman, Ph.D. Faculty Problem Statement Design
Ulf Hedlund Java Developer
Anders Nyström Java Developer

The design took four hours of actual programming time to implement the entire working application. During coding, TogetherJ was used in order to keep the UML model and the Java source code synchronized. Only two of the Java classes implemented for the problem statement were selected for the competition event.


Part 2: Rationale behind the problem statement design

The problem statement presented at the AITP NCC 2000 Java Competition Event was designed to meet three primary requirements: First, the problem statement needed to reflect what a first semester Java curriculum should cover. Second, the problem statement needed to be solvable by a student contestant within the time allocated for the contest. Third, the problem statement should provide additional educational value - ideally as a case study in Java design and programming technique.

The problem statements designed for the AITP NCC Java competition events are based on an industry perspective. First, real-world projects contain many classes and do not rely on monolithic class designs that either stand alone or that rely extensively on inner classes. Second, UML notation is used in industry to document the class design and application functionality. Industry expects students that graduate with either a computer science or information technology degree from a technical trade school or University to know programming basics. A structured curriculum should teach object-oriented design, basic UML notation, and basic SQL and database knowledge prior to teaching a programming language. Real-world software development requires a working knowledge of these fundamentals; consequently, the Java problem statements utilize UML models and incorporate an SQL compliant database.

It is important to remember that the problem statement has been designed to be used in a programming contest for college students. The programming contest and educational requirements create a different design approach compared to designing a commercial application. The 2000 problem statement represents a balance between a solvable contest solution, a Java educational tool, and a realistic design approach relying on class collaboration.


Part 3: Student Contestant Information

Each year a great gathering takes place to find out which schools and which students are the best Java programmers.

Do you have what it takes?

The typical contestant is motivated, passionate about Java, and interested in programming. The problem statements are designed to be challenging, but not impossible to solve.

Are you ready?

To prepare for the national competition, we suggest that you participate in a regional AITP competition event; however, there is no requirement to have previously competed in an AITP regional or national programming competition event. The AITP regional competition events take place in the fall while the annual national competition event is scheduled for the spring.

The teams that have performed best in past AITP NCC Java competition events spent time programming and experimenting on their own to supplement what they learned in class.


The Java competition is broken down into two parts. The first part consists of a briefing while the second part consists of the actual contest.


  1. Contest packets are handed out
  2. Contestants open their packets at the same time
  3. A working solution is demonstrated
  4. Contestants may review the contest materials and ask any questions
  5. Contestants are taken to the computer lab where the contest will take place


  1. Contestants are assigned a computer
  2. Contestants implement a solution
  3. Contestants print out any required output
  4. Contestants copy their solution to a floppy disk
  5. Contestants turn in any required printed output and the solution on floppy disk to the contest proctor

During the 2001 contest the briefing and contest took place in the same room. When this situation takes place, all of the contest related information is preinstalled on the lab computers to speed up the briefing process.


Part 4: Faculty Information

The application designed for the AITP NCC 2000 Java competition event was designed as a showcase to demonstrate what industry expects from a Java programmer graduating from a technical school or University (2 or 4 year degree program). Many educational institutions teach adequate SQL database, object-oriented design using the Unified Modeling Language (UML), and the Java skills required to successfully complete the problem statement in the allotted time. One of the goals for posting the problem statement solution is to help educators evaluate their own institution's Java curriculum.

A number of educators and schools have expressed an interest in obtaining a Java case study that can be used to teach an object-oriented design approach to Java that uses UML. The 2000 Java problem statement meets this requirement.

Each year, student contestants and faculty express concern that their institution does not teach object-oriented design, UML, SQL, and Java skills at a level needed to complete the problem statement. In both the Java and Visual Basic NCC competition events, approximately 25% of the students quit because they are either unable to understand where to begin or do not have the knowledge and skills required to solve the problem statement. On the other hand, at least 25% of the student contestants typically do have the required knowledge and skills. The AITP is committed to promoting education by bringing together academia and industry. If your school needs assistance, we invite you to contact us.


Part 5: Contest Briefing

The AITP NCC 2000 Java Competition Event Briefing is provided below:

AITP NCC 2000 Java Problem Statement Briefing

Contest Briefing Presentation PDF Document
Contest Briefing Presentation ZIP File (PPT)
Problem Statement PDF Document
Problem Statement Score Sheet PDF Document


Part 6: Problem Statement

The AITP NCC 2000 Java Competition Event Problem Statement is provided below:

AITP NCC 2000 Java Problem Statement Part 1

  • Each team has up to 15 minutes to solve this portion of the problem statement.
  • Each team will be provided a solution to Part 1 when they hand in their solution or at the end of 15 minutes, whichever occurs first.
  • Teams that do not hand in a solution to Part 1 will receive a score of zero on this portion of the competition.
Problem Statement Files - Part 1 ZIP File

AITP NCC 2000 Java Problem Statement Part 2

  • Each team has the remaining time left in the competition to turn in a solution for Part 2.
Problem Statement Files - Part 2 ZIP File
Solution to Part 1 PDF Document


Part 7: Contest Commentary

The AITP 2000 NCC was the first year for the Java competition event. Of the participating teams, a quarter dropped out within the first thirty minutes because they did had never learned the Java skills required to solve the problem statement. Of the teams that dropped out initially, one had only worked with applets while the other teams had never seen UML or worked with multiple class applications before. About half of the teams lasted until the end of the competition with a quarter of the teams submitting solid solutions.


Student contestant and faculty comments:

  • An interesting issue that came up involved a psychological element. One of the teams was boasting how good they were in Java. When this team left the competition with an hour left to go, the other teams thought they had completed the solution. One team that was showing promise gave up and quit at this point. Unfortunately for them, the boasting team had given up since they had never worked with a database before and did not know SQL. The moral here is to take all of the time that you need - and not let other teams psych you out.

  • Several faculty and students commented that they had no idea that Java was being taught at such a level in other schools, which gave them a solid case to improve their own school Java curriculum.

  • An issue was also raised that questions were not answered during the contest. It should be noted that this policy is covered in the AITP NCC Java contest rules. Essentially, it would be unfair to answer a specific question from one team once the contest has already started. Also, part of the concept behind a contest is to see how well a team can solve a problem given a standardized problem statement. The contest briefing provides a venue for reviewing the problem statement, taking a look at a working solution, and asking any questions. The problem statement is taken from an existing working solution to make sure that there are no serious issues.


Student contestants have provided several suggestions on competing in the Java competition event:

  • Since each team can have up to two members, make sure your team has two members! This makes it much easier to compete by allowing you to share responsibilities. For instance, one team member can work on design issues while another codes.

  • Pay attention to the briefing! There is a lot of information covered. Don't get lost in the details. Have one team member review the problem statement while the other team member takes notes on the briefing. This gives you more time to find out if there are any questions that you need to ask while still letting you see what the solution looks like.

  • Bring paper and pencils so you can work out design details before you start keying in code. This helps you think through your solution, which can avoid going down a wrong path. Time is limited so use it wisely.

  • Do not waste time adding complex or elaborate functionality. Solve the basics and then go back and enhance it. It is too easy to suddenly get stuck and you may find out that you needed the extra time.

The 2000 NCC Java contest was a challenge and the teams that placed and earned honorable mention earned it. There are sufficient resources provided on this web site to prepare you for the AITP NCC Java Competition Event.

Good Luck!


Part 8: Copyright and License Issues

The AITP NCC 2000 problem statement source code, executables, database, supporting documentation, and downloads hereinafter referred to as the "AITP NCC 2000 Java Competition Application" are protected by international copyright 2000 by ASR Strategic Resources, LLC and Auldenfire Sweden AB.

Permission to use the AITP NCC 2000 Java Competition Application royalty free is hereby granted to the AITP, AITP members, and education institutions (both faculty and students) for nonprofit use. Any commercial or for profit use must be approved in writing by the copyright holders and will require appropriate license agreements.

Auldenfire is a registered trademark of Auldenfire, LLC.


For further information, questions, and comments please contact the
AITP NCC Java Competition Event Coordinator by e-mail:

Don Baldwin





Privacy and
Legal Notices


Past Contests
NCC 2002 Java
NCC 2001 Java
NCC 2000 Java


Copyright © 2001 - 2007 Aurenav LLC - e-mail: