The competition will be held in Diercks Hall and at the ITC.
During the self-directed orientation session that runs until 8:40am review this document and the detailed instructions.
Please direct any questions to the MSOE student volunteers who will be
available in the competition area. MSOE student volunteers will be able
to help teams with technology issues (laptop, network connection, scoring
app, and the development environment).
After the teacher orientation ends at approximately 8:45am, each team will receive a packet of nine problems.
3 problems of 10 points each
3 problems of 20 points each
3 problems of 40 points each
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.
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.
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
Ask the coordinator at least several days before the
competition if the team would like to use a different IDE than listed
above.
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++.
Teams can use multiple programming languages.
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.
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.
Each team will have approximately 2 hours and 30 minutes to work on and submit
problem solutions (from about 8:45am to 11:15am).
Teachers/Coaches may have minimal contact with the student teams during
the competition, and may not discuss any problems with the students during
the competition.
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.
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.
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.
Collaboration between teams is prohibited and will result in the
disqualification of each team involved.
The entire team may work as a group on each problem or individual team
members may work on specific problems.
Cell phone use is limited and must be consistent with the above
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.
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.