MSOE Op 2025 Computer Competition Rules

Friday 21 November 2025

Timeline

Resources

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Problems do not require GUI knowledge, but they do require console I/O. Some problems may require reading or writing data files.
  6. 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++.
  7. 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.
  8. 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.
  9. 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.
  10. 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

  1. 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.
  2. 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.
  3. The entire team may work as a group on each problem or individual team members may work on specific problems.
  4. 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.
  5. Collaboration between teams is prohibited and will result in the disqualification of each team involved.
  6. 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.
  7. Solutions will be submitted via the OpComp server at the designated address.
  8. 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.
  9. 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.
  10. 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.