Yo it's Alan, and I will be covering Computer Science!
General:
Computer Science is a 60 question written test with 45 minutes to complete it + a 2 hour programming test
The language of the test is Java
Students must remain seated and may not turn in papers until the full time has finished
Written portion: Each question is worth 6 points and you are allowed to skip
Written portion: Each question you miss, you lose 2 points, so only answer the questions you know.
Written portion: Each school is allowed to bring a minimum of 3 and a maximum of 6 students in a team
Written portion: % accuracy will be used in the case of a tie with the higher one being allowed to move on
Programming portion: 3 students who took the written portion must take the programming portion to
Programming portion: All teams should bring a computer (with all necessary cables, a USB stick, and programming software)
Programming portion: Teams are allowed to bring use up to 2 note free programming textbooks
Programming portion: Each question is worth 60 points and you are allowed to skip
Programming portion: If a question submitted is wrong the team may try again with a 5 points deduction for each failed attempt (ex. if a team fails twice before getting it right the team will be awarded 50 points)
Programming portion: If a question is ultimately wrong by the end of the competition no points will be awarded or deducted (ex. if a team fails twice and then skips it no points will be given or deducted from the final score)
Individuals who score in the top 3 for the written portion are able to advance to the next level. Additionally, the top 3 written scores of each team will be added together to the programming score for an overall team score where the first place team will be able to advance.
The main thing the written portion of the test will ask is to find errors in various code snippets and find values once a program has run. There will be some questions that detract from this such as it may ask you to find a number's hexadecimal value and vice versa, but most questions will ask about a mini program. The last 3 questions will always be open ended and could ask about anything or even have you draw something (I was once asked to draw a binary tree for a data set)
In the programming portion you will be asked to actually code out the solutions to some problems. You will be given a packet of all the programming questions you are expected to solve. The questions are written like this:
* * * * * * * * * *
XYZ person wants to write a code that will sort a set of numbers from smallest to largest, but XYZ does not want to sort any sets larger than 5 values and instead write "Too long.". Write a program that would do this.
Sample Input
5, 8, 14, 1, 0, 7
865, 5019, 307
1.8, 6.7, 2, 4.41, 2.2
Sample Output
Too long.
307, 865, 5019
1.8, 2, 2.2, 4.41, 6.7
* * * * * * * * * *
After you write your code you will upload it to a thumbstick and hand it to the judges who will then run your code against a massive data set which will check your outputs to the correct outputs. If even one output is wrong your attempt will come back as incorrect. Furthermore, the judges will tell you what type of error they received (runtime, wrong output, etc.)
The questions generally follow a pattern every year such as the first question always being an ASCII art drawing that you only need to use println() for. Also the second question usually just being a loop of some sort.