Application Development
Last update: February 6, 2023
As mobile applications are becoming increasingly important in the enterprise, for 2022, the traditional application development contest is being merged with the mobile app development competition to allow developers to showcase their best solution for the given problem!
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#, VB.NET or developing 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, March 31, 2023, 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 (SE 11.xx). You can use Eclipse or a similar for Java development. However, only tools that are included within Java SE 11 can be used.
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 (3.3.1 for Windows). 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) Select “Download XCode 10.1”. 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.