At the start of the camp, each camper designed the User Interface of their app. While most campers designed individually, others worked together to make the first drafts of the User Interface.
Campers continued their coding progression by moving on to Apple's Swift language, with each camper experimenting with the app, Swift Playgrounds before advancing to Codea.
The campers moved on to Codea to make their own game. On top of this, campers learned web programming and made their own Hello World posts.
The process we learned during camp this week was a mixture of a few guides on first steps to design a mobile application, one written by Forbes contributor, Melanie Haselmayr. This offers a versatile and conventional approach to building a mobile app across different operating systems. Another referenced guide was published by Tim Ferriss on Mashable. This article was important to pull information from, for it has a design thinking approach to app design. In other words, the design process started with asking who the potential audience is for the app, as well as what makes the already successful apps, successful. Focus first on what people already like or don't like and start your design from that information.
Following the guidelines above, students divided themselves up into teams of two, to create at least three ideas for a mobile app. Clever schemes for apps surfaced! Without disclosing too much information, students came up with app ideas on art sharing, an Ebay & Etsy combination, Lego building, and virtual reality apps. At the end of camp, these ideas and more were pitched to their peers in presentation form, holding descriptions of the potential apps, what the user interface model looks like, and justification for the app.
Most of the campers initially had few or no experience programming. After camp, every student had learned core programming principles using the Playgrounds apps to learn the Swift language, Codea to learn the Lua language, and Pythonista to learn the Python language. Phew! There are plenty more languages out there, we learned about these three during camp:
Swift is a programming language used widely for thousands of apps already developed, and ones that are currently being developed. Just like the name suggests, Swift produces lightning-fast software. It is a powerful and intuitive programming language for several operation systems, the most popular being iOS and macOS. Students dove into Swift with the Swift Playgrounds app.
The Lua programming language can be summed up into being versatile, embeddable, fast, portable, powerful, simple, and small. All these terms can be encompassed by one term, efficient. Which is what computer science is always striving to advance for. Students learned how to write lines of Lua code using Codea. We learned how to display simple boxes(buttons) and text to the screen, controlling object moving from tilting a device, and how to get a sprite image to register that it is being dragged and dropped. We then exported our code, packaged for Xcode (development environment for MacOS, iOS, watchOS, and tvOS), and finally to their own GitHub repository (essentially a folder to house their code).
Last, but not least, students compared how they've written code so far (using Swift and Lua) to the Python programming language (a personal favorite amongst Tech Em staff). Campers worked together to create the logic behind a simple calculator program using the app, Pythonista. We modified Python code to change the look (user interface) of the calculator program.
Please let us know if you or your child have questions on how to continue with learning how to develop a mobile app.
Enjoy the rest of the summer!