UIL Computer Science Programming Competitions Tips and Suggestion
This is referencing to UIL computer science programming contests in Texas with PC^2
Common Misconceptions:
- “Let’s do 1,2,3 first”
- DO NOT GO IN ORDER
- There is no pattern in the order of the problems. The last problem might be the easiest. If it looks too hard, skip it and do another one.
- “You have plenty of time!”
- There is never enough time, especially on the keyboard. Make sure the keyboard is being used the entire time. If you encounter a logical error and you need to think it through, let someone else start their code.
- “It’s too hard!”
- Don’t give up. Remember 2 hours is a lot of time and you have 3 minds working together. Collaborate!
Common Errors:
- Reread All Problems
- Make sure you know what the program is asking for before writing your code.
- Packages
- DO NOT USE PACKAGES
- This screws with the grader which will cause your program to fail even before running.
- New Lines (every where!)/ Formatting
- Make sure you have EXACTLY the correct format of the output. An extra new line will cause the program to FAIL. This sometimes happens when you have 2 new line characters at the end of your output. That will cause the program to FAIL.
- Test Cases:
- The default test cases don’t test ALL boundary cases.
- The judges data is different from the test cases given to you!
- If you keep getting errors, it might be because you didn’t account for all the possible cases.
- Change the data file and see if you can find places where you didn’t account for stuff.
Suggestions (Although these aren’t that important, here are my thoughts on a few things)
- Bring a monitor, keyboard, and mouse
- Small screens and a trackpad mouse will slow you down considerably and cause carpal tunnel.
- Printers
- While you could bring a printer, I prefer big monitors which allow for a 2 tab view (one for the active coder and one for the debugger)
- Use Eclipse or IntelliJ.
- A full function IDE provides adequate debugging and code completion tools that are vital to help you finish problems as quickly as possible.
Advanced Suggestions:
- Rarely do you have to optimize your code for timeouts (your code doesn’t have to run the quickest to get all the points). However be careful with stack overflows.
- Avoid similar variable names, and copy-pasting if functions, especially if the statements are very intricate. Accidentally misspelling/mistyping similar variables will give you big headaches in the future.