This course covers mobile application development in iOS using Swift. You will learn how to build iOS applications using AutoLayout, UIKit, and the MVC architecture.
By the end of the course, you will be able to ...
- Build an app using UIKit components including: UIViews, UIViewControllers, UITableViews, UICollectionViews and custom classes.
- Apply AutoLayout to achieve a good distribution of elements in different screen sizes and orientations.
- Implement MVC and understand the separation of concerns for each component.
- Pass information between view controllers & handle navigation.
Course Dates: May 22 to July 14, 2023
Class Times: Tuesday, Thursday 9:30 AM to 12:15 PM
Class | Date | Topics | Assignment |
---|---|---|---|
- | Week 1 | - | - |
1 | Thr, May 22 | Swift Review | OOP RPG |
- | Week 2 | - | - |
2 | Tue, May 27 | Constraints | Habitual |
3 | Thr, May 29 | UIStackView | - |
- | Week 3 | - | - |
4 | Tue, Jun 3 | UIScrollView | - |
5 | Thr, Jun 5 | Coding Constraints * | - |
- | Week 4 | - | - |
6 | Tue, Jun 10 | Lab - Coding Constraints * | - |
7 | Thr, Jun 12 | Inheritance in Swift * | - |
- | Week 5 | - | - |
8 | Tue, Jun 17 | MVC & Navigation | - |
9 | Thr, Jun 19 | UITabBarController | - |
- | Week 6 | - | - |
10 | Tue, Jun 24 | UITableView | - |
11 | Thr, Jun 26 | UICollectionView | - |
- | Week 7 | - | - |
12 | Tue, Jul 1 | Compositional Layouts | - |
13 | Thr, Jul 3 | Animations | - |
- | Week 8 | - | - |
14 | Tue, Jul 8 | Final lab | - |
15 | Thr, Jul 10 | Final Assessment | - |
- | Week 9 | - | - |
16 | Tue, Jul 15 | Final Presentation | - |
Assignment | Type | Date Assigned | Due Date | Submission Form |
---|---|---|---|---|
Tip Calculator Tutorial | Tutorial | Mon, Mar 21 | Mon, April 4 | Github link in Gradescope |
ScrollView Practice | In-Class | Wed, Mar 30 | Mon, April 4 | Github link in Gradescope |
Bot Shop | Tutorial | Fri, April 8 | Wed, April 27 | Github link in Gradescope |
Continents Tab Bar | In-Class | Mon, April 11 | Wed, April 13 | Github link in Gradescope |
Course Project | Project | Mon, April 4 | Wed, May 11 | Github link in Gradescope |
To pass this course you must meet the following requirements:
- Score a passing grade in the Course Rubric
- Pass the final summative assessment with at least 70%
- Get a score of at least 70% in the Course Project
- Actively participate in class and abide by the attendance policy
- Make up all classwork from all absences
Any additional resources you may need (online books, etc.) can be found here. You can also find additional resources through the library linked below: