SE 3020: iOS Application Development
Assignment: Project Two
Requirements
Create an iOS application for phones and/or tablets, starting from scratch, that is of your own creative design. Demonstrate the components and features of the iOS SDK by including the following in your project:
At least one
UITableViewController
with aUITableView
. Create an in-memory data model to be used by the data source to populate the table with rows.Allow your
UITableView
to be edited in at least two ways (add rows, move rows, delete rows, etc.). Your data model should be updated to reflect any changes to the table.Create a custom
UITableViewCell
subclass, with its layout configured in the storyboard. The cell should have at least 3 custom subviews; be creative.Include a
UIStackView
somewhere within your application, for a substantial purpose that is appropriate for a stack view.Include a
UINavigationController
within your appliation, with navigation items appropriately configured for each view controller.Persist all data entered by the user to the filesystem using the
Codable
protocol andPropertyListEncoder
.Use Auto Layout constraints effectively to create flexible layouts within your storyboard scenes.
Before you start writing the code for your application, it is prudent to first generate an idea for the application you want to create, and then translate your idea into a visual representation of the application by creating wireframes and mockups, either on paper or using software.
Your application should be styled (using appropriate color, images, layout, typography, etc.) to look professional. You will be graded based on the effort you apply to create an application that is presentable to a client or customer.
Your application should be implemented using Xcode and the iOS SDK, and following the appropriate coding and naming conventions, software design and architectural patterns, and standards and principles suggested by the iOS SDK (all as discussed in class and throughout the textbook).
While working on your project, you may leverage concepts and techniques from online tutorials and other resources, but the idea that you implement should originate from your own creative process. Your idea should differ significantly from any class or textbook example.
You may submit an out-of-class project for this assignment, provided that: 1) the project is developed independently by you, within the timeframe of this current semester, and 2) the project is not submitted for credit for any other assignment, in any other course, in any past, present, or future semester. Violating one or more of these conditions constitutes cheating.
Submission
- Submit your project using Git and GitHub. Start by creating a repo for this assignment here.
- Show your completed assignment to the instructor during class or office hours to receive credit.
Last Updated 10/07/2024