In CPRE 186, we were tasked with working on a project for the semester. My group chose to create a mobile app in Dart using Flutter on Android Studio. This allowed us to test our app on both Android and IOS emulators, and even deploy our app onto both kinds of devices. Our mobile app was a collection of fun games that we each developed separately, then integrated into the final application. Our games included: minesweeper, rock paper scissors, coin-flip, and tap-game (a cookie-clicker-esque battle game). For 186, my role was to create the main interface for the application (including settings menus, game stats, etc.). I also wrote rock paper scissors and coin-flip.
In CS 309, I continued my adventure with mobile app development. My group’s project for CS 309 was to develop PetMash, a cute-and-fuzzy version of Mark Zuckerberg’s FaceMash with a few extra features (notably, the ability to create accounts for pets and humans, an interactive like history, and a leaderboard for the cutest pets). We developed our app in Java and XML on Android Studio, with a backend in MySQL. My role was frontend development and testing, but I also took a leadership role in assigning tasks and designing the API where frontend met backend.
Both of these courses and mobile development projects taught me an incredible amount about the software development workflow. For both projects, we used Git for versioning, and for CS 309 we also used Git for code reviews. In addition to learning how to do that I also got experience with scrum, gained lots of knowledge about backend, worked with websockets, and learned about software development life cycles.