2020 UCF Local Programming Contest


This year's contest will involve multiple online rounds!  This is a change due to Covid-19 so please read the information below carefully!

If you have trouble logging in or some other site-related issues on the day of the rounds, please reach out to us by e-mail at This email address is being protected from spambots. You need JavaScript enabled to view it. or to the public message system at https://tlk.io/ucfprogteam

The contest will consist of four rounds held fully online as follows:

  • Practice Orientation Round (aka "Practice Local Contest").  This will take place Saturday, August 29, 2020 from 2:00-6:00pm ET.  An old set of problems will be posed, and this is an opportunity for contestants and the judges to test the system.  First time competitors can see how the contest will work!  The judges will be online to answer clarifications and address any system issues during this time. 

    In addition, the practice orientation round will remain in an "extended open" state until Wednesday, September 2, 2020 at 11:59pm ET.  This allows you to continue to submit (and receive automated responses from the system) and gives late comers an opportunity to try the system.  However, the score will not be updated, and while the judges will monitor the site it will not be on a 24/7 basis.

    Attendance in this round is not required but is highly encouraged!

  • Local Programming Contest Round 1A.  This round will take place on Saturday, September 5, 2020 from 2:00-6:00pm ET.  This is the first official round where the standings count!  A completely new problem set will be posed to the contestants in this round.

    Based on the results, the coaches will advance some contestants (roughly the top 30 on the scoreboard) to the Final Round.  For others, they will have another chance in Round 1B!

  • Those solving three or more problems from Round 1A have advanced to the Final Round! Congratulations! All others are invited to Round 1B where another 30-ish people will advance to Round 2!

  • Local Programming Contest Round 1B.  This round will take place on Saturday, September 12, 2020 from 2:00-6:00pm ET.  This is your second chance to make the Final Round!  Again, a completely new problem set will be posed.

    If you qualify in Round 1A for the Final Round, you may still participate in this round but you will not be shown on the scoreboard.

    Again, based on the results, the coaches will advance some additional contestants (roughly the top 30 on the scoreboard) to the Final Round.  In addition, if the contestants advanced for Rounds 1A and 1B do not include enough candidates for our Junior Varsity teams, the coaches may go down on the scoreboard to advance enough such candidates for the Final Round.

  • Those solving four or more problems from Round 1B have advanced to the Final Round! Congratulations! All others are invited to join our practices once they start!

  • Local Programming Contest Final Round.  This round will take place on Saturday, September 19, 2020 from 2:00-7:00pm ET. Note that the Final Round is five hours long!  This round is limited to those who advanced from Round 1A and Round 1B.  Again, a completely new set will be posed.

    Based on the results of this contest, the coaches will select the team members for the Varsity and Junior Varsity squads of the UCF Programming Team for the 2020-2021 year.  Note that these may be finalized after a few team practices and/or interviews with individuals (via Zoom). 
If you have any questions, feel free to contact Dr. Orooji at (407) 823-5660 or by using our contact form
 
You may also download an announcement with this information and more, but also be sure to watch the orientation videos below!!

Eligibility

This contest is open to all UCF students.  Please note that you will require access to your Knights Mail account.


Registration

In order to participate, you must register! Please visit the registration form and complete it. You must only register one time and not for each round! Again, please note you must use your Knights Mail account and it is this address where you will receive login information shortly before your first round.

Note that there is no fee to participate!


Format

Contestants are given anywhere between six to twelve (inclusive) programming problems to solve within the given time limit. The person solving the most problems wins. Ties are broken based on the amount of time taken to solve the problems. Contestants have the option of using C/C++, Java, and/or Python on PC’s. Although it is necessary that each student be familiar with either C, C++, Java, or Python the emphasis of the contest is on problem solving rather than on the specific details of the language. Orientation videos will be provided to allow contestants to get instructions.


Contest Programming Environments

In this online version of the UCF Local Programming Contest, you are welcome to use any programming environment you wish.  If you are unfamiliar with any programming environments, we recommend you use the following environments (all easily downloadable for free):

C/C++:
Code::Blocks (be sure to download the version with the MinGW compiler included)
Java:
jGrasp
Python:
Python/IDLE (IDLE comes with Python -- be sure to download a version 3 release such as v3.7.7)

For all problems, solution programs must read input from "standard input" (stdin for C, cin for C++, System.in for Java, and sys.stdin for Python) and output to "standard output" (stdout for C, cout for C++, System.out for Java, and sys.stdout for Python). The programs must not display prompts such as "Enter a value" or "Press a key to continue" nor attempt to use colors or graphical/window output.

Be aware that the judges will be judging in Linux using command lines tools with gcc/g++ 9.3.1, OpenJDK 1.8.0_252, and Python 3.7.7. Specifically, the judges will compile and execute (as appropriate, per language) your submissions as follows (using filename "prog" as an example):

C:
gcc -g -O2 -std=c11 -o prog prog.c -lm
./prog < prog.in > prog.out
C++:
g++ -g -O2 -std=c++11 -o prog prog.cpp -lm
./prog < prog.in > prog.out
Java:
javac prog.java
java -Xss64m -Xmx2048m prog < prog.in > prog.out
Python:
No compilation
python3 prog.py < prog.in > prog.out

Prizes

There are no official prizes, just bragging rights! However, the results will be used to help form the UCF Programming Team (varsity) for the academic year, and potentially to help identify candidates for the UCF Developmental Programming Team (junior varsity).  UCF teams will then train to compete in the International Collegiate Programming Contest and attend regional competition.


Orientation Videos

  • Review of the UCF Programming Team and the International Collegiate Programming Contest:

  • Orientation (Part 1):

  • Orientation (Part 2):