Timeline
- Check-in begins at 7:30am on the 1st floor of
Diercks Hall on the MSOE campus,
1025
North Broadway Street in Milwaukee. Teams (up to four high school
students) will be assigned a work space in either Diercks Hall or the ITC
(Innovation & Technology Center, the space on campus used by Direct
Supply).
- Teams have until 8:40am to organize. Read the rules (in this
document) to avoid doing something leading to disqualification, and read
through the detailed instructions to
learn how to submit.
- Teams are to direct questions to the MSOE student volunteers. They
will be available in the competition areas. They can help teams with
various technology issues related to laptops, development environments,
network connections, and connecting to the OpComp server.
- The competition starts at 8:45. Problem packets will be handed out at
that time, and some problems may be made available through the
OpComp server. See below for rules about resources teams can use during
the contest.
- Scores will be available in near real-time on the competition
website. The scoreboard will go off line close to the end of the
competition so teams can focus on solving problems.
- The contest ends at 11:15am. At that time, teams return borrowed
laptops with power cords, clean work spaces, collect coats and other
belongings, and find seats in the NVIDIA auditorium in Diercks Hall.
- At about 11:25, an MSOE faculty member or advanced student will give
a short, technical talk on a current computing topic.
- Contest winners are announced by noon.
- The event is over shortly after noon. All participants should
double-check that they have all of their belongings before leaving the
auditorium. Admissions staff will be available to answer questions about
MSOE.
Resources
- The contest is meant to be fun, not a test of who can use Generative
AI the best. Solutions must be written by the teams. In particular,
typing problem statements (or portions of statements) into AI systems
such as ChatGPT, Gemini, CoPilot, web search engines, or IDEs is not
allowed. Generated AI solutions can have markers that indicate the
solution was created by an AI system. Clear violations of this rule will
result in disqualification.
- Programs must be written in one of the following languages.
- Java:
- MSOE laptop IDEs: IntelliJ (recommended), BlueJ, JDK from the
command line (javac)
- Additional allowed IDEs on competitor-provided laptops: Eclipse
- C++:
- MSOE laptop IDE: Microsoft Visual Studio Code
- Additional allowed IDEs on competitor-provided laptops: Microsoft
Visual Studio, CLion
- Python:
- MSOE laptop IDE: Anaconda, Spyder
- Additional allowed IDEs on competitor-provided laptops: Canopy, PyCharm
Teams can use multiple programming languages.
- If a team would like to use a different IDE than listed above, they
must submit a request to the coordinator by Tuesday of the week of the
competition.
- There are several IDEs mentioned above that are marked as
"competitor-provided". It is fine to install these on the MSOE
laptops. The reason we have not pre-installed them is that they are
either not used frequently or require personal licenses (such as many
JetBrains products). The laptops will be reimaged after the contest.
- Problems do not require GUI knowledge, but they do require console
I/O. Some problems may require reading or writing data files.
- In all cases, solutions may use only the libraries that are part of
standard installations. Solutions which use additional libraries will
typically be judged as incorrect. This includes libraries that would
have to be installed using `pip` tool for Python and non-standard
libraries for Java and C++.
- Each team is permitted to bring USB mice, USB keyboards, calculators,
and language reference materials. The IDEs also provide
documentation. Teams may bring their own documentation archives. Teams
may not use additional computers or text entry devices. Each team is
limited to two laptops regardless of whether a team brought its
own or borrowed equipment from MSOE.
- Teams may use the internet from their two team laptops to access
items such as the Java API reference, code tutorials, problem solving
websites, search engines, and articles as part of research teams may wish
to conduct as they develop their solutions. However, using non-trivial
source code (i.e., more than a very small number of sample lines from
reference materials) directly from Internet references is forbidden. If a
solution is deemed to be copied from an internet reference the team may
be disqualified. Note: this applies to Generative AI systems as
well such as ChatGPT, Copilot, or Gemini.
- Misuse of the computers will not be tolerated. Teams may be
disqualified for such actions. Protect your passwords. Teams are
responsible for all use of their accounts.
- Cell phone use is limited and must be consistent with other
rules. This means that cell phones may not be used to access programming
reference materials or as code entry devices and they may not be used for
communication. However, they may used as clocks, timers, and
calculators.
Competition
- The problem packet will contain at least nine problems. The problems
will vary in point value with the problems listed in order by value. At a
minimum, there will be three low-point problems, three middle-tier
problems, and three high-point problems.
- Unless specifically noted in the packet, the problems can be
attempted in any order. It is up to the team to decide which problems to
attempt first.
- The entire team may work as a group on each problem or individual team
members may work on specific problems.
- Teachers/Coaches may have minimal contact with the student teams during
the competition. In particular, they cannot discuss any of the problems
with the students or answer programming questions.
- Collaboration between teams is prohibited and will result in the
disqualification of each team involved.
- Questions regarding clarifications of specific problems should be
directed to volunteers who will inform the judges. Answers will be
announced on the competition web site when appropriate.
- Solutions will be submitted via the OpComp server at the designated address.
- When submitted for evaluation, a program will be run by a judge. If the
program operates correctly, the corresponding number of points will be
added to the team’s score. If the program does not operate
correctly, 3 points will be deducted from the team’s score and they
will be provided with a brief description of the reason.
- If there is a time limit on solutions (e.g., 5 seconds), that will be
in the problem statement. Generally judges will allow solutions to run to
completion, but judges do have the option of terminating a solution if it
appears to be very inefficient or in an infinite loop. If that happens,
the judge will mark the solution as incorrect and report that the program
appears to not complete within a reasonable amount of time.
- Ties in point totals among teams will be broken based on the time of
their last correct submission. If teams in the top 3 places are
tied after considering this tiebreaker, those ties will be broken by
examining the program style. In this case, style mainly refers to code
indentation, choice of descriptive variable names, and overall program
design. The judges’ decisions regarding style are final.
Acknowledgments
These rules were developed by Drs. R. Hasker. D. Rothe, E. Durant, H. Welch, and C. Tritt.