UTS Programming Competition 2012

From ProgSoc Wiki

(Difference between revisions)
Jump to: navigation, search
(Prizes)
(Prizes)
 
(53 intermediate revisions not shown)
Line 1: Line 1:
-
The 2012 Programming Competition, sponsored by Google, will see entrants race the clock to solve a small number of problems over four hours. The problems will range from simple problems, to more challenging problems. A '''free pizza lunch''' will be provided on the day!
+
<!-- __NOTOC__ -->
 +
==Link to report==
 +
The UTS Programming Competition 2012 is over! Go to [[UTS Programming Competition 2012 Report]] to read the report, including winners and final standings.
-
The free competition is 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.
+
==Intro==
 +
The 2012 Programming Competition (sponsored by the School of Computing and Communications, Faculty of Engineering & IT, and Google) 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|Registration]] section below'''.
==Details==
==Details==
'''The competition will be held on:'''
'''The competition will be held on:'''
-
:11 August 2012 at 10.30am - 3:30pm EST
+
 
 +
Saturday 11 August 2012 from 10.30AM - 3:30PM EST
'''The room location is:'''
'''The room location is:'''
-
:CB10.03.TBA
+
 
 +
City Campus, Building 10, Level 3, Room 440
'''Competition programming languages:'''
'''Competition programming languages:'''
-
:*Java
+
*Java (Java SE Runtime Environment build 1.6.0)
-
:*C
+
*C (gcc version 4.5.1)
-
:*C++
+
*C++ (gcc version 4.5.1)
'''Marking of answers:'''
'''Marking of answers:'''
-
:Only the output of your code will be assessed for correctness. However, the judges will be looking at all submitted code to ensure ...
+
 
 +
Only the output of your code will be assessed for correctness. The methods used for evaluation of submitted solutions and ranking of teams will be similar to those used in the ACM International Collegiate Programming Competition:
 +
 
 +
Solutions to problems submitted are called runs. Each run is judged as accepted or rejected and the team is notified of the results as soon as possible.
 +
 
 +
Programs that compile, run, and produce output within the time limit are judged as follows:
 +
 
 +
#Trailing spaces and tabs, and trailing blank lines are trimmed.
 +
#This output is compared with a similarly trimmed model answer.
 +
#If the output and model answer are identical, then the solution is accepted.
 +
#If not identical, all lines are stripped of their white space, all empty lines are removed and all text is converted to upper case.
 +
#This new output is compared with a similarly treated model answer.
 +
#If the new output and model answer are now identical, then the rejection message is Output Format Error.
 +
#If not identical, the rejection message is Wrong Answer.
 +
#Only the first error encountered in a submission will be notified.
 +
 
 +
Team rankings are determined by the following (in order):
 +
#The most number of problems solved (accepted submissions)
 +
#Lowest total elapsed time for solved problems
 +
#Lowest penalty time for rejected submissions
==Registration==
==Registration==
-
Individuals and teams can register their interest at [link].
+
Individuals and teams (of 2 or 3 people) will be able to register their teams online by following this link: http://bit.ly/utsprogcomp_rego.
 +
'''The registration deadline is Thursday 9 August, 5PM.'''
-
===Information Session===
+
===Information/Practice Session===
-
We will be hosting an information session to provide more information about the competition. We will also be going through examples of problems.
+
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.
-
''Details TBA.''
+
'''The information/practice session will be held on:'''
 +
 
 +
Thursday, 2nd of August from 4PM to 8PM
 +
 
 +
'''The room location is:'''
 +
 
 +
City Campus, Building 10, Level 3, Room 440 (same location as on the day of the competition)
 +
 
 +
'''Agenda:'''
 +
{| class="wikitable"
 +
|-
 +
! Start time !! End time !! Activity
 +
|-
 +
| 4:00PM || 4:15PM || Information Session
 +
|-
 +
| 4:15PM || 4:30PM || Logging in on the competition system
 +
|-
 +
| 4:30PM || 8:00PM || Working on practice problems
 +
|}
 +
 
 +
For the people who cannot make it for the information session due to schedule conflicts, we can also answer questions about the competition and assist with logging in on the competition system after 4:30PM.
 +
 
 +
[[Practice_Session|Instructions for Practice Session]]
===Who Can Enter===
===Who Can Enter===
Line 36: Line 85:
Prizes for the winning individuals and teams include:
Prizes for the winning individuals and teams include:
-
* Sponsorship for the prestigious [http://www.ibm.com/developerworks/university/students/contests/acm/index.html IBM ACM International Collegiate Programming Contest] (UTS team only)
+
* Sponsorship for the prestigious [http://www.ibm.com/developerworks/university/students/contests/acm/index.html IBM ACM International Collegiate Programming Contest] (eligible UTS teams only). The Faculty of Engineering and IT will pay the $150 team entry fee for the [http://www.sppcontest.org/home.html ACM-ICPC South Pacific Regional Contest]. Note that [http://icpc.baylor.edu/ICPCWiki/attach/Regional%20Rules/EligibilityDecisionTree-12.pdf eligibility requirements] apply.
* Snuggies (perfect for keeping warm in winter!)
* Snuggies (perfect for keeping warm in winter!)
 +
* Mugs (perfect for having the other version of java!)
* A tour of the awesome [http://www.pcworld.idg.com.au/slideshow/305292/google_australia_new_hq_peek_new_googleplex_sydney/ Google's Sydney office] and the opportunity to speak to successful Google-ers
* A tour of the awesome [http://www.pcworld.idg.com.au/slideshow/305292/google_australia_new_hq_peek_new_googleplex_sydney/ Google's Sydney office] and the opportunity to speak to successful Google-ers
==Rules==
==Rules==
-
# Entrants will have a total of 3 hours to solve as many problems as possible.
+
# 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.
# Entrants are free to leave the room at any time for breaks.
-
# The time will ''not'' be paused for lunch breaks.
+
# The competition clock will ''not'' be paused for lunch breaks.
-
# Printed reference materials may be taken into the room.
+
# Printed reference materials, including books, may be taken into the room. Use of the Internet or other online resources is prohibited.
-
#
+
# Mobile phones must be switched off 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.
 +
# The judges' decision is final.
==Example Problems==
==Example Problems==
 +
To cater for a variety of ability levels, the competition problem set will consist of a mix of easy problems and difficult problems.
-
===Easy Problem===
+
===Easy Problems===
-
Write a program that adds all the natural numbers (i.e. positive integers) below one thousand that are multiples of 3 or 5.
+
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.
[[Euler-sol-1|Possible solutions]]
[[Euler-sol-1|Possible solutions]]
-
===Difficult Problem===
+
For more easy practice problems:
 +
[http://projecteuler.net/problems Euler Problem Set]
 +
 
 +
===Difficult Problems===
 +
These will be set at the level of ACM ICPC Regional Competition Problems.
 +
A few examples:
 +
 
 +
* [http://www.sppcontest.org/2006/P3.pdf Problem 3, 2006 South Pacific Regional Competition - Simple Encryption]
 +
* [http://www.sppcontest.org/2008/problemA.pdf Problem A, 2008 South Pacific Regional Competition - Being Late]
 +
 
 +
More ACM problems can be found at:
 +
* [http://www.sppcontest.org/problems.html South Pacific Region Problem Archives]
 +
* [http://icpc.baylor.edu/ICPCWiki/Wiki.jsp?page=Problem%20Resources ACM-ICPC World Finals Problems Archives]
 +
 
 +
Test your solutions on the [http://livearchive.onlinejudge.org/ 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 at the bright side, if you decide to participate in the ACM-ICPC South Pacific Regional Contest, you've done your basic revision already! [http://icpc.baylor.edu/ICPCWiki/Wiki.jsp?page=Regional%20Rules#section-Regional+Rules-RegionalContestComputingEnvironment 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 went to the practice session. The system keeps saying my solution is incorrect even though I've met the expected output. Why? ===
 +
The competition 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.
 +
 
 +
If you have any other questions, please shoot an email to [mailto:knockycode@progsoc.uts.edu.au knockycode (at) progsoc.uts.edu.au] or post on our [https://www.facebook.com/events/367827963289104/ Facebook event page] and we'll get back to you ASAP! :)
-
[need a problem here]
+
[[Category: Programming Competitions]]

Latest revision as of 07:46, 3 September 2012

Contents

Link to report

The UTS Programming Competition 2012 is over! Go to UTS Programming Competition 2012 Report to read the report, including winners and final standings.

Intro

The 2012 Programming Competition (sponsored by the School of Computing and Communications, Faculty of Engineering & IT, and Google) 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.

Details

The competition will be held on:

Saturday 11 August 2012 from 10.30AM - 3:30PM EST

The room location is:

City Campus, Building 10, Level 3, Room 440

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. The methods used for evaluation of submitted solutions and ranking of teams will be similar to those used in the ACM International Collegiate Programming Competition:

Solutions to problems submitted are called runs. Each run is judged as accepted or rejected and the team is notified of the results as soon as possible.

Programs that compile, run, and produce output within the time limit are judged as follows:

  1. Trailing spaces and tabs, and trailing blank lines are trimmed.
  2. This output is compared with a similarly trimmed model answer.
  3. If the output and model answer are identical, then the solution is accepted.
  4. If not identical, all lines are stripped of their white space, all empty lines are removed and all text is converted to upper case.
  5. This new output is compared with a similarly treated model answer.
  6. If the new output and model answer are now identical, then the rejection message is Output Format Error.
  7. If not identical, the rejection message is Wrong Answer.
  8. Only the first error encountered in a submission will be notified.

Team rankings are determined by the following (in order):

  1. The most number of problems solved (accepted submissions)
  2. Lowest total elapsed time for solved problems
  3. Lowest penalty time for rejected submissions

Registration

Individuals and teams (of 2 or 3 people) will be able to register their teams online by following this link: http://bit.ly/utsprogcomp_rego. The registration deadline is Thursday 9 August, 5PM.

Information/Practice Session

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, 2nd of August from 4PM to 8PM

The room location is:

City Campus, Building 10, Level 3, Room 440 (same location as on the day of the competition)

Agenda:

Start time End time Activity
4:00PM 4:15PM Information Session
4:15PM 4:30PM Logging in on the competition system
4:30PM 8:00PM Working on practice problems

For the people who cannot make it for the information session due to schedule conflicts, we can also answer questions about the competition and assist with logging in on the competition system after 4:30PM.

Instructions for Practice Session

Who Can Enter

  • Current UTS students
    • Both undergraduate and postgraduate students are eligible
    • Students from ALL faculties are welcome
  • Progsoc members

Prizes

Prizes for the winning individuals and teams include:

Rules

  1. Entrants will have a total of 4 hours to solve as many problems as possible.
  2. Entrants are free to leave the room at any time for breaks.
  3. The competition clock will not be paused for lunch breaks.
  4. Printed reference materials, including books, may be taken into the room. Use of the Internet or other online resources is prohibited.
  5. Mobile phones must be switched off for the duration of the contest, and either placed in bags or given to competition staff for safekeeping.
  6. Each team will have access to one PC running Linux.
  7. 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.
  8. Solutions must not be obfuscated, and should clearly show the algorithm used to solve the problem.
  9. The judges' decision is final.

Example Problems

To cater for a variety of ability levels, the competition problem set will consist of a mix of easy problems and difficult problems.

Easy 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.

Possible solutions

For more easy practice problems: Euler Problem Set

Difficult Problems

These will be set at the level of ACM ICPC Regional Competition Problems. A few examples:

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 at 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 went to the practice session. The system keeps saying my solution is incorrect even though I've met the expected output. Why?

The competition 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.

If you have any other questions, please shoot an email to knockycode (at) progsoc.uts.edu.au or post on our Facebook event page and we'll get back to you ASAP! :)

Personal tools