Java, Programming

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”
    • 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
    • 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.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.