Following my second year at the University of Windsor, I was selected as a WWDC 2017 Scholarship recipient by Apple Inc. The WWDC scholarships are awarded to select students from around the world, whom demonstrate exemplary creativity and technical ability in their development for Apple’s software development platforms (which includes iOS, iPadOS, watchOS, and macOS). The application process varies year to year, but usually tasks applicants with designing an interactive experience on Apple platforms, making use of their ingenuity to yield a compelling and original entry. Apple handpicks winning entries, providing winners with free tickets and accomodations to attend their annual WWDC developer conference in California.
My entry, Tree Trouble, is an interactive iPad Playground which teaches the user about Binary Search Trees. While learning the mathematical concepts behind this timeless data structure, the user learns to program a real Binary Search Tree in Swift, and by doing so, put the finishing touches on an interactive Binary Search Tree traversal mini-game.
Having always been a huge Apple fan, this was an immense honour. My earliest interest in computer science dates back to the release of the original iPhones and iPads, which were revolutionary in many regards. It was at this point (around age 13) that I began learning about programming, through the notorious Objective-C programming language and iOS SDK, with a long-shot goal of one day developing an app for the App Store.
The following year, I was fortunate enough to receive another WWDC scholarship from Apple. My winning entry, World Tour, was a significant step from my previous entry. This Xcode Playground is a comprehensive, yet straightforward tutorial of the classic Genetic Algorithm, themed to the Travelling Salesman Problem. The user is provided a full mathematical breakdown of the Genetic Algorithm, with a practical explanation and implementation in Swift. As the user completes the tutorial within the Playground, they help implement a working model. The model is then trained, and used to animate an optimal solution to the Travelling Salesman Problem, aided by on-screen visualizations.