120 likes | 240 Views
Troy/CSU DH . Troy High/CSU DH Programming Contest. Rules. Have Fun Five person teams Two computers per team Results are based on passing test data. No prewritten code should be used. Access to a Java API is recommend internet access should not be presumed bring lots of scratch paper
E N D
Troy/CSU DH Troy High/CSU DH Programming Contest
Rules • Have Fun • Five person teams • Two computers per team • Results are based on passing test data. • No prewritten code should be used. • Access to a Java API is recommend • internet access should not be presumed • bring lots of scratch paper • none available • HAVE FUN !!!!
Contest Timeline Times Activities • 7:30 Check in • register • set up computers • 9:00 Contest Prompts issued electronically • 9:15 Questions about prompts answered • 11:30 Team files submitted for scoring • 12:00 Lunch • 1:00 Awards Timeline estimates and subject to change
Contest Guidelines • All Programs shall be written in Java 1.5 (Tiger). Problem statements will be consistent with the Advance Placement Computer Science A (AP SC A) Curriculum. • Teams are warned to avoid Java 1.4 code that does not compile in Java 1.5. One example of such code is the: • Integer.compareTo(Object obj)
Contest Guidelines • All programs will be auto-tested (JUnit) using Jam Tester. (More information can be found at www.jamtester.com). • Each problem will come with a folder • The folder will contain partially/fully defined classes and a JUnit Testing file.
More on JUnit • See http://programmingcontest.troyhigh.com/writingalab.htmfor more information on JUnit with the following disclaimers: • Java 1.5 is now being used • The constructor may have any primitive or class item as a parameter (not restricted to String) • Your class may or may not instance variable • The name of the methods may vary and the return type may also vary (primitives or class) • The spirit of http://programmingcontest.troyhigh.com/ is still be adhered to.
More on Programming Testing • Each problem will require method(s) to be implemented. These methods will be tested by the JUnit file using the JamTester tool. • Helper methods are allowed. • A sample test is given in the JUnit file. More test methods may be created, • The original file must compile without error for a solution to be tested.
How Solutions are Tested • For each problem, a sample test method has been given in the accompanying JUnit file. • The final test has 9 additional test methods (a total of 10) that will be graded by JamTester. • A perfect score would be a score of 100! *Subject to change without prior notification
Testing Process • Each team will be given: • A packet containing a hard copy of: • Each programming problem. • The JUnit file with one test method for each programming problem. • Each class used by each programming problem. • a CD • A folder containing an electronic copy (word) of each programming problem.. • A folder containing an electronic copy: • The JUnit file used to test each programming problem. • Each class used by each programming problem.
Scoring, Winning, and …. • Total score (test methods passed) is used to determine team score. • High Score wins • Ties – see next slide
Tie Breaker??? • Ties are broken in the following manner: • Each problem will be assigned a ranking, and high score on each individual problem will be used until one team is eliminated. • If all scores are equal, then each problem will be checked in reverse order starting at the top of each problem. The first team to miss a problem that another team does NOT is eliminated. • Once a team is eliminated from the tie, go back to tie breaker (1) and repeat until only one team is left. • Pray we never get this far! - Judges will decide?
Testable Material • Topics consistent with the AP CS A course including (but not limited to) array, ArrayList, String and recursion. • While knowledge of AP CS AB curriculum and Data Structures such Map and Sets is not require, it may simplify some solutions. • Ability to read and use an API. • Ability to convert between ALL number bases.