In this event, you will be tasked with designing and developing a software program in collaboration with a team of up to six members. The goal is to create a functional, original solution to the assigned problem statement while demonstrating technical skill, innovation, and usability. Your submission will include the source code, documentation, a portfolio detailing your design process, and a video demonstration of the software in action. If you advance to the semifinals, an interview will also be required.
Submissions for this event are digital and must be uploaded prior to the conference deadline. At the conference, semifinalist teams will present their projects and participate in interviews with evaluators. Separate interview times will be provided for teams that qualify.
Understanding how to structure your program, use proper syntax, and debug effectively is integral, but starter resources are provided in the rubric.
Understanding how to use an IDE, version control (such as Git), and testing frameworks is recommended to earn maximum points.
Your software program that meets the requirements outlined in the rubric
Your digital portfolio documenting the design and development process
Must include team ID
Title Page
Table of Contents
Project Log
Program Design (e.g., flowcharts, pseudocode, or UML diagrams)
Technical Details (program features, algorithms, and functionality)
Code Documentation / Components List (libraries, frameworks, and tools used)
Design Process (problem analysis, brainstorming, testing, and refinement)
Your completed software program that complies with the regulations outlined in the rubric. Ensure it is fully functional, well-documented, and free of violations (such as plagiarism or use of prohibited code).
Visual Studio Code – Lightweight, versatile, and widely used IDE
PyCharm / IntelliJ IDEA – Powerful for larger-scale projects, but more complex
GitHub – For version control and team collaboration
Code Debuggers – Identify and fix errors efficiently
Testing Frameworks – Ensure your program runs correctly under different conditions
User Interface Design Tools – Prototype and refine how users interact with your software
Algorithm: A step-by-step set of instructions for solving a problem or performing a task.
Debugging: The process of finding and fixing errors or bugs in code.
IDE (Integrated Development Environment): A software application that provides tools for writing, testing, and debugging code.
Version Control: A system (like Git) that tracks changes to code and allows collaboration.
Repository: A storage space where your code, documentation, and project files are kept.
Compiler: A program that translates code written in a programming language into machine code that can be executed.
Runtime Error: An error that occurs while a program is running.
User Interface (UI): The visual and interactive part of the software that users interact with.
API (Application Programming Interface): A set of tools and definitions that allow different software programs to communicate.
Iteration: Repeated versions of a program focused on improvement.
Framework: A collection of pre-written code that provides structure and common functionality for building software.
Testing: The process of checking if a program works as expected under different conditions.
Documentation: Written descriptions explaining how the software works and how to use it.