Organizing - PowerPoint PPT Presentation

About This Presentation
Title:

Organizing

Description:

Organizing & Hosting a Student Programming Contest Brian Hare, UMKC, Moderator James Cain, Southwest Baptist University John Cigas, Park University – PowerPoint PPT presentation

Number of Views:58
Avg rating:3.0/5.0
Slides: 21
Provided by: BrianK172
Learn more at: http://h.web.umkc.edu
Category:

less

Transcript and Presenter's Notes

Title: Organizing


1
Organizing Hosting a Student Programming Contest
  • Brian Hare, UMKC, Moderator
  • James Cain, Southwest Baptist University
  • John Cigas, Park University

2
Annual Contests
  • ACM
  • CCSC
  • IEEEXtreme
  • Many others, often sponsored by professional
    society or user groups
  • Also various online programming challenges some
    time-limited, some ongoing

3
Main Features
  • Team programming
  • Typically 3 contestants per team
  • 1 workstation per team
  • Several problems of varying difficulty
  • Scoring based on number of problems solved
  • Ties broken based on time to complete
  • Identifying problems that can be solved quickly
    is part of the challenge!

4
Problem set
  • For each problem
  • Description, sample input/output
  • For judges Solution, Input file, Output file
  • Program can run w/o intervention (data entry,
    etc)
  • Usually console (text mode) based.
  • Input usually via file in default directory,
    output to standard output.
  • Correct answer must be unambiguous format
    specified
  • Description may include how to break ties
  • Usually machine graded via file comparison of
    output
  • Variety of problem types
  • Graph, numeric, text-processing, geometric,
    optimization, etc
  • Each problem has 1 main feature
  • Parsing complicated input, producing complicated
    output, implementing complicated algorithm, etc.

5
Problem set
  • Boundary conditions specified for all problems
  • Judging input usually has at least 1 case that
    tests each boundary condition
  • Warn students if the obvious algorithm wont work
    (usually because of time limit)
  • No obligation to give them a hint about a better
    algorithm.
  • Range of difficulty
  • Goal is for all teams to be able to solve at
    least 1 problem, but no team solves all problems

6
Languages
  • Most contests restricted to C, C, Java
  • Difficulty should be roughly the same in each
    language
  • Some problems are fairly involved in C but
    theres a Java class that makes problem trivial
  • Occasionally something in C STL causing same
    problem in other direction
  • Some problems that are fairly hard in
    system-level languages (C, C, Java) are
    5-liners in dynamic languages such as Python
  • So, hold Python contest separately from Java
    contest

7
Judging
  • ACM judging utility
  • Program Contest Control (PC2) program
  • Manually
  • Copy source code to clean directory
  • Build/Compile
  • Copy input file to directory, run program
  • Compare program output with judges output

8
Judging Feedback
  • For ACM, one of
  • Submission error
  • Run-time Error
  • Time Limit Exceeded
  • Wrong answer
  • Presentation (format) error
  • Success
  • Each incorrect submission (anything other than
    Success) adds 20-minute time penalty to score
  • Others varyAlabama State High School contest
    feedback includes the input case that caused the
    program to fail.

9
Other judging feedback
  • Clarification of problem
  • Only if
  • Problem is ambiguous or incomplete,
  • Sample input/output is incorrect or misleading,
    or
  • Contestants question cannot be answered by
    closely reading the problem
  • Most common feedback is Read the problem
    carefully.
  • Hardware/software troubleshooting
  • Every site directors nightmare.
  • What do you mean, the debuggers not there?
  • If students are just unfamiliar with this IDE,
    thats their issue.

10
Hardware
  • Dont need screaming new hardware
  • BUT all teams should be on substantially equal
    footing
  • 5 year old commodity workstations are fine,
    provided that everyones on similar 5 year old
    commodity workstations, so no one has any
    particular advantage

11
Software
  • ACM requires MinGW port of gcc for C and C
  • ACM coordinating multiple sites worldwide
    strictly local contests may have different needs.
  • Usual practice is to use freely available
    compilers/IDEs
  • Gcc (MinGW, Cygwin), etc.
  • Eclipse, NetBeans, DevC
  • Some IDEs such as Eclipse support multiple
    languages, so only 1 IDE is needed
  • Other compilers/languages should NOT be present
    on contest workstations

12
Whats allowed
  • Usually provide Java class documentation, C STL
    documentation from SGI
  • Allowed to bring printouts, hardcopies,
    textbooks, etc at regional contests
  • World Finals limit hardcopies to 25 pages

13
Whats not allowed
  • Internet access usually blocked
  • Not allowed electronic media
  • CDs/DVDs
  • Thumb drives
  • Cell phones/smartphones
  • Cameras
  • Anything machine-readable
  • Calculators also prohibited

14
Infrastructure
  • Workstations for teams
  • Spread out enough so teams can talk quietly w/o
    being overheard
  • Ideally, each team in a separate room with
    whiteboard
  • Ideal is seldom available in practice
  • Separate area for judges
  • Storage of student phones etc.
  • Workstation (or 2, or 3) for judging
  • Privacy to discuss problems or gray areas
  • Periods of boredom, then very busy

15
Infrastructure
  • Network connection if electronically submitting
    programs
  • Otherwise, 2 flash drives per team several
    runners to carry drives to/from judging area
  • Mark flash drives w/ team number (or use numbered
    envelope for courier) so no one gets handed
    someone elses code
  • Printer for contestants (source code)
  • Printer for judges (results, rankings)
  • Optional
  • Separate area for team to confer, maybe w/
    whiteboard
  • Soda, bottled water, snacks, etc

16
Budgeting
  • Software cost usually minimal
  • Depending on distance traveled schedule
  • Meal before (box lunch, sandwiches, etc)
  • Snacks during
  • Pizza after
  • Copies
  • Judging forms/log sheets
  • 3 copies problem set per team
  • Feedback forms, notes to teams, etc (3
    copies/team)
  • Envelopes, signage, etc.
  • Prizes
  • Certificates
  • Trophies
  • Geek toys / swag
  • Dont forget something for support judging
    staff!

17
Time demands
  • Writing/testing problems
  • Original problems vs published problems
  • Setting up workstations
  • Configuring software testing configuration
  • Setting up testing judging software, PC2
  • Preparing signage, running copies, ordering box
    lunches, etc
  • Training/coordinating student volunteers
  • Corresponding w/ other schools, contestants
  • Cleanup
  • Reconfiguring/reimaging workstations

18
High School v. Collegiate Contests
  • Time limits usually shorter
  • 2 3 hours typical, seldom more than 4
  • Problem difficulty lower
  • Intermediate problem for collegiate contest would
    be hard problem for high school
  • Fewer problems requiring advanced math or
    algorithmic sophistication/depth
  • Problem descriptions more straightforward

19
Resources
  • ACM Mid-Central Programming Contest
    www.mcpc.cigas.net
  • IBM Programming Contest Central (aimed at HS
    contests)
  • https//www-927.ibm.com/ibm/cas/
    hspc/Welcome/index.shtml
  • ACM Live Archive http//acmicpc-live-archive.uva.
    es/nuevoportal/
  • Google programming contest or programming
    challenge for many, many more, in many
    languages, at many levels.

20
Further Resources
  • Brian Hare
  • hareb_at_umkc.edu
  • John Cigas
  • john.cigas_at_park.edu
  • James Cain
  • jcain_at_sbuniv.edu
  • These slides available at
  • http//h.web.umkc.edu/hareb/
Write a Comment
User Comments (0)
About PowerShow.com