Description
Mobile Application Development
Shopping Calculator
Overview
In this lab, you will create a simple shopping calculator. It will only have one screen and limited functionality, but it should help you get comfortable with Xcode, UIKit, and Swift. Please read this entire document before getting started.
Description
This lab requires you to create your own app from scratch. Although many of the implementation details are left to you, there are some helpful guidelines and code snippets to get you started in the “Helpful Advice and Code Snippets” section below. Many of the topics covered in this lab have been discussed in lecture as well. Additional resources are available online in the Swift documentation and UIKit documentation that Apple provides.
The goal of this lab is to create a simple shopping calculator that calculates the final price of a product based on its original price, the current discount percentage, and the local sales tax. The calculator should be easy to use. Everything should appear on the same screen, with labels and text fields that the user can edit. Whenever one of the fields is changed, the final price of the product should be updated.
Creative Portions
For each lab we will have you add features that improve the user experience and deepen your swift knowledge. These features are what we call the creative portion. This is your opportunity to add new feature(s) to your app that are interesting to you and not covered in the other requirements. Everyone is tasked with making a shopping calculator: how can you make yours truly stand out? This could involve totally changing the end behavior of your app.
If you’re struggling to come up what to implement, imagine yourself as a user and think about what you would want in the app. A good creative feature is original and it enhances the user experience. Feel free to search online for implementations of advanced features, but please do not directly copy-paste some lines of code you found online. An example of a bad creative feature is one that limits user functionality, such as replacing text fields with sliders.
In order to get full credit, the creative portion should be substantial enough to merit the amount of points listed. Compare the difficulty of implementation and the utility of your added feature of your feature to the other features in the requirements section. The goal of the creative portion is to add something new and different, not just re-hash existing requirements.
When submitting your lab it is your chance to “sell it to us.” The more you tell us about your app the better. As a minimum please tell us three things about your creative feature(s):
- What you implemented
- Include usage instructions if you think your feature is vague
- How you implemented it
- Why you implemented it
This format will be the standard moving forward.



