Java  
Contest Information and Guidelines

2009 AITP NCC Java Competition 

This year’s Java Competition Problem Statement will be taking a generalist approach.  This means that a range of skills will be touched upon, without going into too much detail of any one in particular.  A list of recommended tools and skills are available below to help prepare for what may be on the problem statement. 

Grading Criteria      

  • Completion of Required Functionality 60%

  • Object Oriented Approach 10%

  • Code Testing 10%

  • Code Documentation 10%

  • Other – To be Described on Problem Statement 10%

 

Rules

  • The use of references such as Java API’s, are allowed for the competition.

  • Teams will consist of 1-2 students.

  • One machine will be allowed per team.

  • Competitors cannot seek help from individuals outside their team.

  • Teams are expected to have the necessary Tools and Jars preloaded on their machines prior to the competition.

Platform to be used by judges – The items listed below are what will be available on the judge’s machines for grading.  It is recommended that teams have these tools and at least one of the servers loaded on their machines prior to the competition.  This will best assure that Judges are able to execute the solutions.  Alternative IDE’s, servers, and tools may be used but at the teams’ risk of not being executable by judges.

  • Eclipse IDE for Java EE Developers
  • JDK 5
  • JRE 1.5
  • Apache Tomcat 6.0
  • Websphere Application Server 6.1

Frameworks – The following Frameworks will be allowed for the contest to simplify development.  The Jars required to develop and execute these frameworks will not be provided by the contest.  Teams must bring their own copies of the jars.  The version of the Jars used must comply with the Platform Specifications that are supported for Grading. 

  • JSF (Java Server Faces)
  • Struts

Helpful skills to know that may be on Problem Statement – May not be all inclusive 

Presentation Layer Development – The problem statement will require some User Interface interaction between the application and the user.  The ability to develop the UI as a Graphical User Interface using JSP’s/Servlets or Swing is preferred.  But teams without GUI development experience will still be able to complete the Problem Statement if they have experience with user interaction through the Command Line.   

·         JSP’s/Servlets

·         Swing

·         CSS

·         HTML

 

 Data Layer Development

·         JDBC

·         Java File I/O

·         SQL

 

General

·         MVC (Model View Controller)

·         Exception Handling

·         UML (Unified Modeling Language)

·         Documenting Code – ex.JavaDoc

·         Unit Testing - JUnit 1.3 or 1.4.  It is strongly recommended that teams bring a copy of the JUnit jar to the competition.

·         Knowledge on how to package a .JAR and/or .WAR file using command line or IDE

·         Refactoring

·         Object Oriented Principles (ex. encapsulation, inheritence, polymorphism)