Contact Information
Department of Computer Science and Information Systems
West Virginia University Institute of Technology
405 Fayette Pike
Montgomery, WV 25136

Phone: (304) 442-3272
Fax: (304) 442-3201

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:

  1. Freshmen Division - Students who are currently taking CS 121 or CS 122 in the Spring 2017 semester.
  2. 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.