2017 CSIS Programming Competition
Date: |
Saturday, April 8, 2017 |
Time: |
9:00 AM to 6:00 PM |
Location: |
College of Engineering and Sciences Building |
The Department of Computer Science and Information Systems
is excited to announce and invite WVU Tech students to the CSIS Programming Competition,
which will be held Saturday, April 8, 2017. The competition
will be held at the College of Engineering and Sciences Building at the WVU Tech campus in
Montgomery, WV.
The competition will be an all-day event, where students will test their problem-solving and
programming skills on several problems of varying difficulty. Lunch will be provided, and we
have refreshments after the competition. Cash prizes will be awarded for each student in the
top three teams.
This year, we are introducing a new division for students who are currently taking either CS 121 or
CS 122 in the Spring 2017 semester. The intention of the new division is to give students who are
new to programming an opportunity to compete against students with similar skills and experience. The
prizes for this division are smaller than the prizes for the upperclassmen division. However, students
in the freshmen divison may opt into to upperclassmen division if they desire. Students in the
upperclassmen division (who would be anyone who has completed CS 122 prior to the Spring 2017 semester) may not
opt into the freshmen division.
To register for the competition, please email me at
matthew.williamson@mail.wvu.edu with the following
information:
- The team's name.
- The names of both team members.
- The email addresses of both team members.
Additional information and rules are provided below:
Competition Rules
Team Composition
Each team may consist of up to and including two (2) students who are enrolled at WVU Tech.
Divisions
There will be two divisions for the competition:
- Freshmen Division - Students who are currently taking CS 121 or CS 122 in the Spring 2017 semester.
- Upperclassmen Division - Students who completed CS 122 prior to the Spring 2017 semester.
Each team may participate in one and only one division. Both divisions will compete during the same time. The problems
for the freshmen division will be easier than the
upperclassmen division. As such, the prizes for the freshmen division will be smaller. A team in the freshmen division
may opt to compete in the upperclassmen division. This must be declared before the day of the competition. A team in the
upperclassmen division may not opt into the freshmen division. If a team consists of one freshman and one upperclassman,
then the team must participate in the upperclassmen division.
Materials
Each team may bring as much printed material as desired. This includes books, notes
(handwritten or typed), printed code, etc. However, no electronic devices and/or material
are allowed during the competition. This includes laptops, phones, calculators, smartwatches,
iPhones, USB drives, or any other form of media. At the judge's discretion, a calculator
program may be provided to the contestants on their computer.
Environment
Each team will have access to a single computer that runs Ubuntu 14.04.3 LTS Linux (64-bit).
Other computers in the lab must stay off during the competition. Each team will be provided
information on how to log into its assigned computer at registration. Teams will not have their
own printer. Instead, a network printer will be available in the room.
Teams will be able to use the following editors for writing their programs: vi/vim, gvim,
emacs, gedit, Eclipse 4.3.1, Dr. Java.
Any attempt to defeat or alter the competition environment may result in disqualification.
Labs
No food or drinks are allowed in the labs. Lunch will be provided prior to the
competition, and refreshments will be available afterwards.
Teams must stay in the labs for the duration of the competition. If a person
needs to leave a lab for some reason (e.g., go to the restroom), he/she must
speak with the competition staff, who will escort him/her.
Communication
Once the competition starts, teams shall not receive any outside assistance
with the programs. The only discussion permitted is within a team and with the
competition staff. This includes browsing the Internet, eMail, cellular phones,
instant messenger, or any other form of electronic communication. Teams shall not discuss the
contest with other teams. Teams shall not attempt to interfere with the progress of
other teams. In short, each team must work on their own.
Teams may submit a request for clarification of a problem statement. All questions,
regardless of their nature, will be answered. If the judges determine that an error
exists in the statement, a clarification will be issued and be made available to all
teams. If no error exists in the statement, the answer to the clarification will only
be made available to the team that submitted it.
Competition Format
Problem Set
The competition will consist of ten (10) problems, varying in difficulty. Note that the
problems are not presented in order of difficulty. Teams may solve and submit the
problems in any order they want, and each problem awards the same amount of points.
The programs must not perform any file input or output operations. All input will come
from standard input (i.e., the keyboard), and all output will go to standard output
(i.e., the console/terminal).
Submission
The software we will use for submitting programs is PC^2, which is developed at CSU
Sacramento. More information about the software can be found at
http://www.ecs.csus.edu/pc2.
PC^2 accepts the following programming languages:
- C (gcc Version 4.6.3)
- C++ (g++ Version 4.6.3)
- Java (Version 1.7)
- Python (Version 2.7.3)
A submission is defined as an execution of a problem solution submitted by a team that
is performed by a judge that uses input data supplied by the judge. This data is never
seen by any teams. If a submission is deemed successful by the judge (i.e., it produces
correct output using the judge's input), the submission will be judged "Correct", and
the judge will provide the response YES.
If it is deemed unsuccessful, a notification that the submission was incorrect will be
returned to the team. No part of the program, compiler output, data, or program output
from a submission is returned to the team. Instead, the notification returned will be
one of the following phrases:
- NO - Compile Error - The submitted program didn't compile correctly.
-
NO - Time Limit Exceeded - The submitted program ran for longer than 60
seconds without terminating.
-
NO - Wrong AnswerThe submitted program produced an incorrect answer
for at least one of the test cases.
- NO - Runtime Error - The submitted program terminated abnormally.
-
NO - Output Format Error - The output of the submitted program does not
match the correct output.
-
NO - Other (Please see staff) - The submitted program produced an error
that is not classified from above. The judge will provide additional information
if this happens.
Although judges will not intentionally attempt to mislead teams about the nature of their
errors, neither will they guarantee identification of the real error in the program.
Normally, the first symptom of the error will be noted and described by the most appropriate
phrase.
Scoring
The team that has had the most problems judged correct at the end of
the contest will be declared the winner. If more than one team has
solved the same number of problems, the winner is the one with the
fewest penalty points.
Penalty points are assessed for solved problems only. Each problem
accumulates one penalty point for each minute from the beginning of
the contest until the time of a correct submission. Twenty (20) penalty
points are assessed for each incorrect submission.
The contest director reserves the right to adjust penalty points to
allow for unforeseen circumstances.
Schedule
Time |
Event |
Location |
9:00 AM |
Registration |
Engineering Lobby |
10:15 AM |
Welcome and Overview |
Engineering 210A |
10:30 AM |
Practice Session |
Engineering 210A, 210B, and 202 |
11:30 AM - 12:30 PM |
Lunch |
Engineering Technology Conference Room |
12:45 PM |
Precompetition Briefing |
Engineering 210A, 210B, and 202 |
1:00 - 5:00 PM |
Competition |
Engineering 210A, 210B, and 202 |
5:00 PM |
Refreshments |
Engineering Technology Conference Room |
5:30 PM |
Awards Ceremony |
Engineering Technology Conference Room |
Prizes
The prizes for the teams are as follows:
For the Upperclassmen Division:
- 1st Place - $300 for each member of the team
- 2nd Place - $200 for each member of the team
- 3rd Place - $100 for each member of the team
For the Freshmen Division:
- 1st Place - $75 for each member of the team
- 2nd Place - $50 for each member of the team
- 3rd Place - $25 for each member of the team
The prizes stated above may be in the form of cash or a scholarship.
However, for the scholarship option, it should be noted that the students must meet the eligibility
requirements, as specified by the Office of Financial Aid.
|