Application Development

Last update: March 6, 2024 - Added additional content regarding web development options
February 21, 2024 - Added Generative AI statement

Showcase your object-oriented design and coding skills in this contest. You'll be asked to build an enterprise-quality solution to a complex coding situation, with options to choose between Java, C#, and VB.NET for a traditional app, or to develop a web app using Java, C#, PHP, or Python. Additionally, participants have the option to develop a mobile app for Android or iPhone.

The world needs you because the world needs talented developers!

Team Composition

Teams may be made up of 1-2 people.

Schedule

Friday, April 5, 2024,  1:00 - 5:00 PM

Skills and Resources

For traditional applications, successful teams will be skilled at either Java, C#.Net, or VB.Net and Object Oriented Principles. Overall teams should have knowledge of:

  • Multiple GUI forms, including menu creation
  • User input validation
  • Exception Handling
  • JSON
  • Documenting Code
  • Unit Testing
  • Object Oriented Principles (ex. encapsulation, inheritance, polymorphism)

Only the standard Microsoft Visual Studio Community Edition IDE is allowed for C# or Visual Basic development. No additional add-ins or tools are allowed. The standard Java IDE. You can use Eclipse or a similar for Java development. However, only tools that are included within Java SE can be used.

For web applications, successful teams will demonstrate proficiency in Java, C#, PHP, or Python, along with solid understanding and application of web development principles. Teams are expected to utilize modern IDEs or deploy web containers like IIS, Tomcat, Apache, among others, to host the web application locally. Please note that USITCC does not provide hosting environments. Overall teams should have knowledge of:

  • Web User Interface Design: Ability to create dynamic and user-friendly interfaces using HTML, CSS, and JavaScript.
  • Client-Server Interaction: Implementing interactive client-server communication using AJAX technologies.
  • Object-Oriented Principles: Application of object-oriented principles to web development, including concepts like encapsulation, inheritance, and polymorphism.
  • Web MVC Frameworks: Familiarity with frameworks such as Spring MVC (Java), C#.NET MVC, PHP Laravel, Python Django or Flask.
  • Exception Handling: Implementing robust error handling mechanisms to gracefully manage exceptions and errors occurring during web application execution.
  • Security Measures: Implementing secure coding practices and protecting against common web vulnerabilities like Access Control, SQL injection, and cross-site scripting (XSS).
  • Testing: Conducting unit testing for critical components of the web application to ensure reliability and maintainability.
  • Documenting Code: Thorough documentation of code, including inline comments and README files detailing project setup and usage.

For mobile apps, Successful teams will have members with the ability to program in an appropriate language for the target platform (Android or iPhone), store and retrieve information locally on the device using the device’s built-in database platform, send and receive data to an Internet-based data source to display web pages (e.g., URL/Web Request), sense the orientation of the device, as it is tilted/rotated, in order to provide user input to the application, capture jpeg/png images from the device’s built-in camera and store/retrieve/display them within the application, and take advantage of other commonly available features of modern mobile devices. Your prototype application should be able to run within the simulator included in the SDK installed on your computer. Your solutions will be judged using the standard emulators as provided in the required development platforms.

All submissions should be written in native code using the standard SDK development platforms- no third party apps to build a solution in HTML or JavaScript, and then convert to native code are allowed!

You should come prepared with the following:

  • Development platform for your selected device (Android or iPhone) installed and ready to go (see instructions below).
  • Any open source libraries, sample code, reference books, etc. you would like to use with you to the contest.
  • You may bring your own iOS or Android device, if you choose. While not required, it may be helpful as a means of testing, and may be faster than using an emulator/simulator.
  • A device, such as your smart phone, which can be used to record a short video demonstrating the use of your newly created App.

For Android:
Go to https://developer.android.com/studio?hl=sk and select the “Download Android Studio” button. If you require Mac or Linux, there is a link at the bottom of the page to download the related version on Android Studio.

For iOS:
Go to https://developer.apple.com/download/ and sign in with a registered Apple Developer account. (If you do not have an account, you can register for free here: https://developer.apple.com/register/index.action). Do not select any recently released or other beta versions of XCode.

Protocol

Teams will be given the problem statement at the beginning of the contest time.  Time will be allowed to read the problem statement and ask any questions in a common session.  Once the question & answer time has closed, no further questions will be answered.  Each team will submit their solution for judging prior to the contest closing time, at which point no further submissions will be accepted.

Statement Regarding use of Generative AI

We—the USITCC Conference Committee and the Foundation for Information Technology Education (FITE)—recognize the impressive growth, application, and overall utility of AI in shortening the time to completion of projects both professionally and academically. The use of Generative has increased dramatically in recent years. Students, employees, and organizations are leveraging tools such as ChatGPT, Bard, DALL-E, Midjourney, and DeepMind to supplement their own skillsets and produce greater volumes of work.

With that said, we and our cooperative organizations jointly decided to prohibit/ban the use of Generative AI from the 2024 USITCC competition.

The competitions at USITCC are primarily focused on and tailored to the knowledge bases and skillsets of undergraduate students from 2 & 4-year schools. The purpose of these competitions is to gauge, test, and present appropriate challenges for this level of student understanding and the competitions also allow students to detect their own deficiencies and strengths. Students will need to possess a solid understanding of the fields they are competing in on their own merits to truly discover where their strengths and weaknesses lie, such that they may better develop themselves for the professional world in which they are seeking careers.

Therefore, usage of Generative AI to assist in the answering, production, and development of student submissions is prohibited from the competition overall. Violation of this ban may result in the forfeiture of the competitor in that competition. We reserve the right to examine competition related network traffic data during this event. Certain web domain access may be blocked as well.

Previous Problems

2023 USITCC Application Development

2022 Regional Competition Application Development

2019 USITCC Application Development

2019 USITCC Mobile App Development

2018 USITCC Application Development

2018 USITCC Mobile App Development

Return to the competitions overview page.