UTS Programming Competition 2014
From ProgSoc Wiki
The 2014 UTS Programming Competition (sponsored by the School of Computing and Communications, Faculty of Engineering and IT, and WiseTech Global) will see entrants race the clock to solve as many problems as they can over four hours. The problems will range from simple beginner level problems, to more challenging problems. A free pizza lunch will be provided on the day!
Registration for this competition is free and open to all UTS students (from any faculty) and ProgSoc members. We encourage both beginners and more experienced programmers to compete. Entrants may enter as individuals, or as teams of two or three. Prizes will be awarded to the best individuals and teams. All entrants will receive certificates of participation. To find out how to register, please check the Registration section below.
The competition will be held on:
Saturday 8th March 2014, 10.30AM - 3:30PM EST
The room location is:
City Campus, Building 10, Level 3, outside Room 430
Competition programming languages:
- Java (Java SE Runtime Environment build 1.6.0)
- C (gcc version 4.5.1)
- C++ (gcc version 4.5.1)
Marking of answers:
Only the output of your code will be assessed for correctness.
Solutions to problems that are uploaded to the marking system are called submissions. Each submission is judged as accepted or rejected and the individual/team is notified of the results as soon as possible. Note: you have to submit the source code of your program (i.e. do not submit a compiled program or the output of your program). The marking system can compile submissions.
A submission can have the following results:
|CORRECT||The submission passed all tests: you solved this problem!|
|COMPILER-ERROR||There was an error when compiling your program.|
|TIMELIMIT||Your program took longer than the maximum allowed time for this problem. Therefore it has been aborted. This might indicate that your program hangs in a loop or that your solution is not efficient enough.|
|RUN-ERROR||There was an error during the execution of your program. This can have a lot of different causes like division by zero, incorrectly addressing memory (e.g. by indexing arrays out of bounds), trying to use more memory than the limit, etc. Also check that your program exits with exit code 0!|
|NO-OUTPUT||Your program did not generate any output. Check that you write to standard out.|
|WRONG-ANSWER||The output of your program was incorrect. This can happen simply because your solution is not correct, but remember that your output must comply exactly with the Problem Task.|
|TOO-LATE||You submitted after the competition ended! Your submission is stored but will not be processed any more.|
See the left side of this image to get an idea of what the marking system looks like.
Rankings are determined by the following (in order):
- The most number of problems solved (i.e. correct accepted submissions).
- Lowest total elapsed time for solved problems.
Individuals and teams (of 2 or 3 people) will be able to register online by following this link. Registrations will close on Friday 7 March at 5:00PM AEST.
We will be hosting an information session to provide more information about the competition, and to provide a chance to practise using the competition software.
The information/practice session will be held on:
Thursday 6 March 2014, 6.00PM - 8:00PM EST
The meeting place is:
Outside the ProgSoc room (City Campus, Building 10, Level 3, Room 380). We shall move to an available lab after we are gathered.
|Start time||End time||Activity|
|6:15PM||8:00PM||Logging in on the competition system and working on practice problems|
For the people who cannot make it to the start of the information session due to schedule conflicts, we can also answer questions about the competition and assist with logging in on the competition system throughout the session.
Who Can Enter
- Current UTS students
- Both undergraduate and postgraduate students are eligible
- Students from ALL faculties are welcome
- Progsoc members
Cash prizes (prize pool of $5,500):
- First place individual - $1,500
- Second place individual - $750
- Third place individual - $500
- First place group - $1,500
- Second place group - $750
- Third place group - $500
Additional prizes include:
- WiseTech merchandise for all entrants
- Sponsorship for the prestigious IBM ACM International Collegiate Programming Contest (eligible UTS teams only). Note that eligibility requirements apply.
- Entrants will have a total of 4 hours to solve as many problems as possible.
- Entrants are free to leave the room at any time for breaks.
- The competition clock will not be paused for lunch breaks.
- Printed reference materials, including books, may be taken into the room. Use of online resources is prohibited. The only use of the Internet is to access the competition/marking system.
- Mobile phones must be switched off or put on flight mode for the duration of the contest, and either placed in bags or given to competition staff for safekeeping.
- Each team will have access to one PC running Linux.
- Solutions must be coded in either C, C++, or Java. Solutions that exec shell commands or spawn a shell to run some other scripting language will be rejected.
- Solutions must not be obfuscated, and should clearly show the algorithm used to solve the problem.
- Supervisors cannot answer any questions related to the competition problems. However, you can request for clarification using the marking system and a judge will get back to you. (See the right side of this image)
- The judges' decision is final.
To cater for a variety of ability levels, the competition problem set will consist of a mix of easy problems and difficult problems.
These will be set at the level of Project Euler problems.
Example: Write a program that adds all the natural numbers (i.e. positive integers) below one thousand that are multiples of 3 or 5.
For more easy practice problems: Euler Problem Set
These will be set at the level of ACM ICPC Regional Competition Problems. A few examples:
- Problem 3, 2006 South Pacific Regional Competition - Simple Encryption
- Problem A, 2008 South Pacific Regional Competition - Being Late
More ACM problems can be found at:
Test your solutions on the ACM-ICPC Live Archive Online Judge.
FAQ (Frequently Asked Questions)
Can I use C#, Python, or my all-time favourite language ever in the competition?
This year's competition will only accept Java, C or C++ solutions. Yes, it's time to hit the textbooks again if it's been a while. Look on the bright side, if you decide to participate in the ACM-ICPC South Pacific Regional Contest, you've done your basic revision already! They only accept Java, C or C++ too.
Do we supply input via standard input, files, or arguments on the command line?
All input will be from standard input, and all output will be to standard output. No arguments will be passed to your program at the command line. No files will be opened for reading or writing.
I have a feeling the system may say my solution is incorrect even though I've met the expected output. Why?
The marking system is a machine, not a person, and will treat the extra output of your solution, such as human-friendly prompts, as 'incorrect'; it is whitespace-sensitive and case-sensitive.
How is the 'total elapsed time' calculated in this contest?
When a correct submission is made to the adjudicators, the number of minutes elapsed since the beginning of the contest at the time of the correct submission is recorded.
Do we program on provided computers or use our own?
We'll be using a computer lab in building 10, same as the rooms you'd use for web systems and programming fundamentals. The lab computers will be used, keeps the competition fair.
Can we use Windows on the lab computers?
No. Linux (Red Hat, to be exact) will be used, which is the default, on the computer labs. If you have not used the lab computers in Building 10 before, it is recommended you do so before the competition. If you choose to ignore this recommendation and choose Windows at login during the competition, you are wasting precious time -- it will not work; Windows will not load. And even if you did, you will need to be mindful of carriage return differences between Windows and Linux systems in your output (i.e. \n instead of \r\n).