> For the complete documentation index, see [llms.txt](https://ios-course.cornellappdev.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ios-course.cornellappdev.com/resources.md).

# Resources

- [Textbook](https://ios-course.cornellappdev.com/resources/textbook.md)
- [Introduction](https://ios-course.cornellappdev.com/resources/textbook/introduction.md)
- [Git + GitHub](https://ios-course.cornellappdev.com/resources/textbook/git-+-github.md)
- [Git Installation](https://ios-course.cornellappdev.com/resources/textbook/git-+-github/git-installation.md): Fall 2023 | Vin Bui
- [Git Basics](https://ios-course.cornellappdev.com/resources/textbook/git-+-github/git-basics.md): Fall 2023 | Richie Sun
- [Git+](https://ios-course.cornellappdev.com/resources/textbook/git-+-github/git+.md): Spring 2024 | Vin Bui
- [Swift Basics](https://ios-course.cornellappdev.com/resources/textbook/swift-basics.md)
- [Variables and Constants](https://ios-course.cornellappdev.com/resources/textbook/swift-basics/variables-and-constants.md): Fall 2023 | Vin Bui
- [Data Types](https://ios-course.cornellappdev.com/resources/textbook/swift-basics/data-types.md): Fall 2023 | Vin Bui
- [Operators](https://ios-course.cornellappdev.com/resources/textbook/swift-basics/operators.md): Fall 2023 | Vin Bui
- [Data Structures](https://ios-course.cornellappdev.com/resources/textbook/swift-basics/data-structures.md): Fall 2023 | Vin Bui
- [Conditionals](https://ios-course.cornellappdev.com/resources/textbook/swift-basics/conditionals.md): Fall 2023 | Vin Bui
- [Loops](https://ios-course.cornellappdev.com/resources/textbook/swift-basics/loops.md): Fall 2023 | Vin Bui
- [Functions](https://ios-course.cornellappdev.com/resources/textbook/swift-basics/functions.md): Fall 2023 | Vin Bui
- [Closures](https://ios-course.cornellappdev.com/resources/textbook/swift-basics/closures.md): Fall 2024 | Peter Bidoshi
- [Optionals](https://ios-course.cornellappdev.com/resources/textbook/swift-basics/optionals.md): Fall 2023 | Vin Bui
- [UIKit + AutoLayout](https://ios-course.cornellappdev.com/resources/textbook/uikit-+-autolayout.md)
- [Classes](https://ios-course.cornellappdev.com/resources/textbook/uikit-+-autolayout/classes.md): Fall 2023 | Richie Sun
- [UIKit](https://ios-course.cornellappdev.com/resources/textbook/uikit-+-autolayout/uikit.md): Fall 2023 | Richie Sun
- [AutoLayout](https://ios-course.cornellappdev.com/resources/textbook/uikit-+-autolayout/autolayout.md): Fall 2023 | Richie Sun
- [MVC + Navigation + Delegation](https://ios-course.cornellappdev.com/resources/textbook/mvc-+-navigation-+-delegation.md)
- [MVC](https://ios-course.cornellappdev.com/resources/textbook/mvc-+-navigation-+-delegation/mvc.md): Fall 2023 | Vin Bui
- [Navigation](https://ios-course.cornellappdev.com/resources/textbook/mvc-+-navigation-+-delegation/navigation.md): Fall 2023 | Vin Bui
- [Delegation](https://ios-course.cornellappdev.com/resources/textbook/mvc-+-navigation-+-delegation/delegation.md): Fall 2023 | Vin Bui
- [UITableView](https://ios-course.cornellappdev.com/resources/textbook/uitableview.md)
- [What is a UITableView?](https://ios-course.cornellappdev.com/resources/textbook/uitableview/what-is-a-uitableview.md): Fall 2023 | Vin Bui
- [UITableView Setup](https://ios-course.cornellappdev.com/resources/textbook/uitableview/uitableview-setup.md): Fall 2023 | Vin Bui
- [Networking I](https://ios-course.cornellappdev.com/resources/textbook/networking-i.md)
- [HTTP Requests](https://ios-course.cornellappdev.com/resources/textbook/networking-i/http-requests.md): Fall 2023 | Vin Bui
- [Callbacks](https://ios-course.cornellappdev.com/resources/textbook/networking-i/callbacks.md): Fall 2023 | Vin Bui
- [Codable](https://ios-course.cornellappdev.com/resources/textbook/networking-i/codable.md): Fall 2023 | Vin Bui
- [Networking II](https://ios-course.cornellappdev.com/resources/textbook/networking-ii.md)
- [Alamofire](https://ios-course.cornellappdev.com/resources/textbook/networking-ii/alamofire.md): Fall 2023 | Vin Bui
- [GET Requests](https://ios-course.cornellappdev.com/resources/textbook/networking-ii/get-requests.md): Fall 2023 | Vin Bui
- [POST Requests](https://ios-course.cornellappdev.com/resources/textbook/networking-ii/post-requests.md): Fall 2023 | Vin Bui
- [URLSession](https://ios-course.cornellappdev.com/resources/textbook/networking-ii/urlsession.md): Fall 2023 | Vin Bui
- [UICollectionView](https://ios-course.cornellappdev.com/resources/textbook/uicollectionview.md)
- [What is a UICollectionView?](https://ios-course.cornellappdev.com/resources/textbook/uicollectionview/what-is-a-uicollectionview.md): Fall 2023 | Vin Bui
- [UICollectionView Setup](https://ios-course.cornellappdev.com/resources/textbook/uicollectionview/uicollectionview-setup.md): Fall 2023 | Vin Bui
- [Persistence + SnapKit](https://ios-course.cornellappdev.com/resources/textbook/persistence-+-snapkit.md)
- [Persistence](https://ios-course.cornellappdev.com/resources/textbook/persistence-+-snapkit/persistence.md): Fall 2023 | Vin Bui
- [SnapKit](https://ios-course.cornellappdev.com/resources/textbook/persistence-+-snapkit/snapkit.md): Fall 2023 | Vin Bui
- [SwiftUI](https://ios-course.cornellappdev.com/resources/textbook/swiftui.md)
- [Introduction to SwiftUI](https://ios-course.cornellappdev.com/resources/textbook/swiftui/introduction-to-swiftui.md): Fall 2023 | Vin Bui
- [Getting Started with SwiftUI](https://ios-course.cornellappdev.com/resources/textbook/swiftui/getting-started-with-swiftui.md): Fall 2023 | Vin Bui
- [Views + Modifiers](https://ios-course.cornellappdev.com/resources/textbook/swiftui/views-+-modifiers.md): Fall 2023 | Vin Bui
- [Layouts](https://ios-course.cornellappdev.com/resources/textbook/swiftui/layouts.md): Fall 2023 | Vin Bui
- [Navigation](https://ios-course.cornellappdev.com/resources/textbook/swiftui/navigation.md): Fall 2023 | Vin Bui
- [Property Wrappers](https://ios-course.cornellappdev.com/resources/textbook/swiftui/property-wrappers.md): Fall 2023 | Vin Bui
- [Widgets](https://ios-course.cornellappdev.com/resources/textbook/widgets.md)
- [Introduction to Widgets](https://ios-course.cornellappdev.com/resources/textbook/widgets/introduction-to-widgets.md): Fall 2023 | Reade Plunkett
- [Setting Up Widgets](https://ios-course.cornellappdev.com/resources/textbook/widgets/setting-up-widgets.md): Fall 2023 | Reade Plunkett
- [Building Widgets](https://ios-course.cornellappdev.com/resources/textbook/widgets/building-widgets.md): Fall 2023 | Reade Plunkett
- [Configuring Widgets](https://ios-course.cornellappdev.com/resources/textbook/widgets/configuring-widgets.md): Fall 2023 | Reade Plunkett
- [Project Foundation](https://ios-course.cornellappdev.com/resources/textbook/project-foundation.md): Spring 2024 | Vin Bui
- [Testing](https://ios-course.cornellappdev.com/resources/textbook/testing.md)
- [Unit Testing](https://ios-course.cornellappdev.com/resources/textbook/testing/unit-testing.md): Spring 2024 | Vin Bui
- [UI Testing](https://ios-course.cornellappdev.com/resources/textbook/testing/ui-testing.md): Spring 2024 | Vin Bui
- [Debugging](https://ios-course.cornellappdev.com/resources/textbook/debugging.md)
- [OSLog](https://ios-course.cornellappdev.com/resources/textbook/debugging/oslog.md): Spring 2024 | Vin Bui
- [Crashlytics](https://ios-course.cornellappdev.com/resources/textbook/debugging/crashlytics.md): Spring 2024 | Vin Bui
- [Analytics](https://ios-course.cornellappdev.com/resources/textbook/debugging/analytics.md): Spring 2024 | Vin Bui
- [CI/CD](https://ios-course.cornellappdev.com/resources/textbook/ci-cd.md)
- [Xcode Cloud](https://ios-course.cornellappdev.com/resources/textbook/ci-cd/xcode-cloud.md): Spring 2024 | Vin Bui
- [AppStore Shipping](https://ios-course.cornellappdev.com/resources/textbook/ci-cd/appstore-shipping.md): Spring 2024 | Vin Bui
- [Coming soon](https://ios-course.cornellappdev.com/resources/textbook/coming-soon.md)
- [Notifications](https://ios-course.cornellappdev.com/resources/textbook/coming-soon/notifications.md): Spring 2024 | Vin Bui
- [Concurrency](https://ios-course.cornellappdev.com/resources/textbook/coming-soon/concurrency.md): Spring 2024 | Vin Bui
- [Reactive Programming](https://ios-course.cornellappdev.com/resources/textbook/coming-soon/reactive-programming.md): Spring 2024 | Vin Bui
- [Memory Management](https://ios-course.cornellappdev.com/resources/textbook/coming-soon/memory-management.md): Spring 2024 | Vin Bui
- [ARC](https://ios-course.cornellappdev.com/resources/textbook/coming-soon/memory-management/arc.md): Fall 2023 | Vin Bui
- [Storage](https://ios-course.cornellappdev.com/resources/textbook/coming-soon/storage.md): Spring 2024 | Vin Bui
- [Tool Guides](https://ios-course.cornellappdev.com/resources/tool-guides.md)
- [Xcode Project Setup](https://ios-course.cornellappdev.com/resources/tool-guides/xcode-project-setup.md): Fall 2023 | Vin Bui
- [Figma](https://ios-course.cornellappdev.com/resources/tool-guides/figma.md): Creator: Vin Bui (FA23) | Editor: Jay Zheng (FA25)
- [Postman](https://ios-course.cornellappdev.com/resources/tool-guides/postman.md): Creator: Vin Bui (FA 23) | Editor: Jay Zheng (FA25)
- [CocoaPods](https://ios-course.cornellappdev.com/resources/tool-guides/cocoapods.md): Fall 2023 | Vin Bui
- [UIKit Handbook](https://ios-course.cornellappdev.com/resources/tool-guides/uikit-handbook.md): Original Author: Richie Sun
- [Tab Views](https://ios-course.cornellappdev.com/resources/tool-guides/tab-views.md): Original Author: Tiffany Pan
- [UITabBarController](https://ios-course.cornellappdev.com/resources/tool-guides/tab-views/uitabbarcontroller.md): Original Author: Tiffany Pan
- [TabView](https://ios-course.cornellappdev.com/resources/tool-guides/tab-views/tabview.md): SwiftUI's Vers.
- [Swift Foundations](https://ios-course.cornellappdev.com/resources/swift-foundations.md)
- [About this Textbook](https://ios-course.cornellappdev.com/resources/swift-foundations/about-this-textbook.md)
- [Documentation](https://ios-course.cornellappdev.com/resources/swift-foundations/documentation.md)
- [Constants and Variables](https://ios-course.cornellappdev.com/resources/swift-foundations/constants-and-variables.md)
- [Variable Properties](https://ios-course.cornellappdev.com/resources/swift-foundations/constants-and-variables/variable-properties.md)
- [Lazy and Static Variables](https://ios-course.cornellappdev.com/resources/swift-foundations/constants-and-variables/lazy-and-static-variables.md)
- [Functions](https://ios-course.cornellappdev.com/resources/swift-foundations/functions.md)
- [Ranges](https://ios-course.cornellappdev.com/resources/swift-foundations/ranges.md)
- [Arrays](https://ios-course.cornellappdev.com/resources/swift-foundations/arrays.md)
- [Basic Array Operations](https://ios-course.cornellappdev.com/resources/swift-foundations/arrays/basic-array-operations.md)
- [Iteration and Enumeration](https://ios-course.cornellappdev.com/resources/swift-foundations/arrays/iteration-and-enumeration.md)
- [Advanced Array Operations](https://ios-course.cornellappdev.com/resources/swift-foundations/arrays/advanced-array-operations.md)
- [Tuples](https://ios-course.cornellappdev.com/resources/swift-foundations/tuples.md)
- [Conditions and While Loops](https://ios-course.cornellappdev.com/resources/swift-foundations/conditions-and-while-loops.md)
- [For Loops](https://ios-course.cornellappdev.com/resources/swift-foundations/for-loops.md)
- [Enums and Switches](https://ios-course.cornellappdev.com/resources/swift-foundations/enums-and-switches.md)
- [Enums with Associated Values](https://ios-course.cornellappdev.com/resources/swift-foundations/enums-and-switches/enums-with-associated-values.md)
- [Indirect Enums](https://ios-course.cornellappdev.com/resources/swift-foundations/enums-and-switches/indirect-enums.md): Credits to the great wonderful amazing Daniel Vebman for introducing me to the topic
- [Classes and Structs](https://ios-course.cornellappdev.com/resources/swift-foundations/classes-and-structs.md)
- [Optionals](https://ios-course.cornellappdev.com/resources/swift-foundations/optionals.md)
- [Dictionaries](https://ios-course.cornellappdev.com/resources/swift-foundations/dictionaries.md)
- [Dictionary Implementation](https://ios-course.cornellappdev.com/resources/swift-foundations/dictionaries/dictionary-implementation.md)
- [Closures](https://ios-course.cornellappdev.com/resources/swift-foundations/closures.md)
- [Constraints](https://ios-course.cornellappdev.com/resources/swift-foundations/constraints.md)
- [Generics](https://ios-course.cornellappdev.com/resources/swift-foundations/generics.md)
- [Protocols](https://ios-course.cornellappdev.com/resources/swift-foundations/protocols.md)
- [Protocols With Associated Types](https://ios-course.cornellappdev.com/resources/swift-foundations/protocols/protocols-with-associated-types.md)
- [Casting](https://ios-course.cornellappdev.com/resources/swift-foundations/casting.md)
- [Errors](https://ios-course.cornellappdev.com/resources/swift-foundations/errors.md)
- [Networking](https://ios-course.cornellappdev.com/resources/swift-foundations/networking.md)
- [Result](https://ios-course.cornellappdev.com/resources/swift-foundations/networking/result.md)
- [Inout](https://ios-course.cornellappdev.com/resources/swift-foundations/inout.md)
- [Archived (past semesters)](https://ios-course.cornellappdev.com/resources/archived-past-semesters.md)
- [FA25](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25.md)
- [Logistics](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/logistics.md)
- [Syllabus](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/logistics/syllabus.md): Fall 2025
- [Schedule](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/logistics/schedule.md): Fall 2025
- [Grading](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/logistics/grading.md): Fall 2025
- [Office Hours](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/logistics/office-hours.md): Fall 2025
- [Lectures](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/lectures.md)
- [Logistics + Swift Basics](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/lectures/logistics-+-swift-basics.md): Fall 2025
- [UIKit + AutoLayout](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/lectures/uikit-+-autolayout.md): Fall 2025
- [MVC + Navigation + Delegation](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/lectures/mvc-+-navigation-+-delegation.md): Fall 2025
- [UITableView](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/lectures/uitableview.md): Fall 2025
- [UICollectionView](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/lectures/uicollectionview.md): Fall 2025
- [Networking I](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/lectures/networking-i.md): Fall 2025
- [Networking II](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/lectures/networking-ii.md): Fall 2025
- [Persistence + SnapKit](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/lectures/persistence-+-snapkit.md): Fall 2025
- [SwiftUI I](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/lectures/swiftui-i.md): Fall 2025
- [SwiftUI II](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/lectures/swiftui-ii.md): Fall 2025
- [MVVM](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/lectures/mvvm.md): Fall 2025
- [(12) Core ML](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/lectures/12-core-ml.md): Fall 2025
- [(13) Deployment](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/lectures/13-deployment.md): Fall 2025
- [Assignments](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/assignments.md)
- [A1: Swift Basics](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/assignments/a1-swift-basics.md): Original Author: Vin Bui
- [A2: Profile](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/assignments/a2-profile.md): Original Author: Vin Bui
- [A3: ChatDev](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/assignments/a3-chatdev.md): Original Author: Vin Bui
- [A4: ChefOS](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/assignments/a4-chefos.md): Original Author: Vin Bui
- [A4: ChefOS - SwiftUI](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/assignments/a4-chefos-swiftui.md): Original project authored by Vin Bui, adapted to SwiftUI by Daniel Chuang
- [Hack Challenge](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/assignments/hack-challenge.md): Original Author: Vin Bui
- [FA23 Winners](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa25/assignments/hack-challenge/fa23-winners.md): Fall 2023
- [SP25](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25.md)
- [Logistics](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/logistics.md)
- [Syllabus](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/logistics/syllabus.md): Spring 2025
- [Schedule](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/logistics/schedule.md): Spring 2025
- [Grading](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/logistics/grading.md): Spring 2025
- [Office Hours](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/logistics/office-hours.md): Spring 2025
- [Lecture](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/lecture.md)
- [Logistics + Swift Basics](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/lecture/logistics-+-swift-basics.md): Fall 2025
- [UIKit + AutoLayout](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/lecture/uikit-+-autolayout.md): Spring 2025
- [MVC + Navigation + Delegation](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/lecture/mvc-+-navigation-+-delegation.md): Spring 2025
- [UITableView](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/lecture/uitableview.md): Spring 2025
- [UICollectionView](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/lecture/uicollectionview.md): Spring 2025
- [Networking I](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/lecture/networking-i.md): Spring 2025
- [Networking II](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/lecture/networking-ii.md): Spring 2025
- [SwiftUI I](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/lecture/swiftui-i.md): Spring 2025
- [SwiftUI II](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/lecture/swiftui-ii.md): Spring 2025
- [Persistence + SnapKit](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/lecture/persistence-+-snapkit.md): Spring 2025
- [(11) Notifications](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/lecture/11-notifications.md): Spring 2025
- [(12) Deployment and MapKit](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/lecture/12-deployment-and-mapkit.md): Spring 2025
- [Assignments](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/assignments.md)
- [A1: Swift Basics](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/assignments/a1-swift-basics.md): Original Author: Vin Bui
- [A2: Profile](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/assignments/a2-profile.md): Original Author: Vin Bui
- [A3: ChatDev](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/assignments/a3-chatdev.md): Original Author: Vin Bui
- [A4: ChefOS](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/assignments/a4-chefos.md): Original Author: Vin Bui
- [A4: ChefOS - SwiftUI](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/assignments/a4-chefos-swiftui.md): Original project authored by Vin Bui, adapted to SwiftUI by Daniel Chuang
- [Hack Challenge](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/assignments/hack-challenge.md): Original Author: Vin Bui
- [FA23 Winners](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp25/assignments/hack-challenge/fa23-winners.md): Fall 2023
- [SP24](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24.md)
- [Logistics](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/logistics.md)
- [Syllabus](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/logistics/syllabus.md): Spring 2024
- [Schedule](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/logistics/schedule.md): Spring 2024
- [Grading](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/logistics/grading.md): Spring 2024
- [Office Hours](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/logistics/office-hours.md): Spring 2024
- [Assignments](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/assignments.md)
- [A1: Swift Basics](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/assignments/a1-swift-basics.md): Original Author: Vin Bui
- [A2: Profile](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/assignments/a2-profile.md): Original Author: Vin Bui
- [A3: ChatDev](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/assignments/a3-chatdev.md): Original Author: Vin Bui
- [A4: ChefOS](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/assignments/a4-chefos.md): Original Author: Vin Bui
- [Hack Challenge](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/assignments/hack-challenge.md): Original Author: Vin Bui
- [FA23 Winners](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/assignments/hack-challenge/fa23-winners.md): Fall 2023
- [Lecture](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/lecture.md)
- [Course Intro + Logistics + Git Setup](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/lecture/course-intro-+-logistics-+-git-setup.md): Spring 2024
- [Swift Basics](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/lecture/swift-basics.md): Spring 2024
- [UIKit + AutoLayout](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/lecture/uikit-+-autolayout.md): Spring 2024
- [MVC + Navigation + Delegation](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/lecture/mvc-+-navigation-+-delegation.md): Spring 2024
- [UITableView](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/lecture/uitableview.md): Spring 2024
- [UICollectionView](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/lecture/uicollectionview.md): Spring 2024
- [Networking I](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/lecture/networking-i.md): Spring 2024
- [Networking II](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/lecture/networking-ii.md): Spring 2024
- [Persistence + SnapKit](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/lecture/persistence-+-snapkit.md): Spring 2024
- [SwiftUI](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/lecture/swiftui.md): Spring 2024
- [TabViews](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp24/lecture/tabviews.md): Spring 2024
- [FA23](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23.md)
- [Logistics](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/logistics.md)
- [Getting Started](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/logistics/getting-started.md): Fall 2023
- [Course Staff](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/logistics/course-staff.md): Fall 2023
- [Syllabus](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/logistics/syllabus.md): Fall 2023
- [Schedule](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/logistics/schedule.md): Fall 2023
- [Grading](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/logistics/grading.md): Fall 2023
- [Office Hours](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/logistics/office-hours.md): Fall 2023
- [Assignments](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/assignments.md)
- [A1: Swift Basics](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/assignments/a1-swift-basics.md): Original Author: Vin Bui
- [A2: Profile](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/assignments/a2-profile.md): Original Author: Vin Bui
- [A3: ChatDev](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/assignments/a3-chatdev.md): Original Author: Vin Bui
- [A4: ChefOS](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/assignments/a4-chefos.md): Original Author: Vin Bui
- [Hack Challenge](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/assignments/hack-challenge.md): Original Author: Vin Bui
- [FA23 Winners](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/assignments/hack-challenge/fa23-winners.md): Fall 2023
- [Lectures](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/lectures.md)
- [Course Intro + Logistics](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/lectures/course-intro-+-logistics.md): Fall 2023
- [Swift Basics](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/lectures/swift-basics.md): Fall 2023
- [UIKit + AutoLayout](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/lectures/uikit-+-autolayout.md): Fall 2023
- [MVC + Navigation + Delegation](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/lectures/mvc-+-navigation-+-delegation.md): Fall 2023
- [UITableView](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/lectures/uitableview.md): Fall 2023
- [UICollectionView](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/lectures/uicollectionview.md): Fall 2023
- [Networking I](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/lectures/networking-i.md): Fall 2023
- [Networking II](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/lectures/networking-ii.md): Fall 2023
- [Persistence + SnapKit](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/lectures/persistence-+-snapkit.md): Fall 2023
- [Widgets](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/lectures/widgets.md): Fall 2023 | Reade Plunkett
- [Introduction to Widgets](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/lectures/widgets/introduction-to-widgets.md): Original Author: Reade Plunkett
- [Setting Up Widgets](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/lectures/widgets/setting-up-widgets.md): Original Author: Reade Plunkett
- [Building Widgets](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/lectures/widgets/building-widgets.md): Original Author: Reade Plunkett
- [Configuring Widgets](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/lectures/widgets/configuring-widgets.md): Original Author: Reade Plunkett
- [SwiftUI](https://ios-course.cornellappdev.com/resources/archived-past-semesters/fa23/lectures/swiftui.md): Fall 2023
- [SP23](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23.md)
- [Logistics](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/logistics.md)
- [Lecture Schedule](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/logistics/lecture-schedule.md)
- [Syllabus](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/logistics/syllabus.md): Intro to iOS Development: Spring 2023
- [Grading](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/logistics/grading-and-project-faqs.md): Here is how grading will work for this class and answers for some FAQs about grading. Please check the FAQs before posting any questions you have about your project grades!
- [SP23 Office Hours](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/logistics/fa22-office-hours.md): Office hours schedule can also be found on the course calendar. Cancellations will be announced on Ed, and reflected in the calendar.
- [Chapters](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters.md)
- [1. Intro to Swift & Xcode](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/1.-intro-to-swift-and-xcode.md)
- [Lecture Handout](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/1.-intro-to-swift-and-xcode/lecture-handout.md)
- [Lecture Demo](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/1.-intro-to-swift-and-xcode/lecture-demo.md): Swift Basics
- [Project: Swift Basics](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/1.-intro-to-swift-and-xcode/project-swift-basics.md): Due Date: Thursday March 2nd
- [2. UIKit and AutoLayout](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/2.-uikit-and-autolayout.md)
- [Lecture Handout](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/2.-uikit-and-autolayout/lecture-handout.md)
- [Lecture Demo](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/2.-uikit-and-autolayout/lecture-demo.md): UIKit and Autolayout
- [Project: UIKit + AutoLayout](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/2.-uikit-and-autolayout/project-first-app.md): Due Date: Tuesday March 7th
- [3. Navigation, MVC, and Delegation](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/3.-navigation-mvc-and-delegation.md)
- [Lecture Handout](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/3.-navigation-mvc-and-delegation/lecture-handout.md)
- [Lecture Demo](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/3.-navigation-mvc-and-delegation/lecture-demo.md)
- [Project: Navigation + Delegation](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/3.-navigation-mvc-and-delegation/project-red-and-blue-arenas.md): Due Date: Monday, March 13th
- [4. UITableView](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/4.-uitableview.md)
- [Lecture Handout](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/4.-uitableview/lecture-handout.md)
- [Lecture Demo](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/4.-uitableview/lecture-demo.md)
- [Project: UITableView](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/4.-uitableview/project-uitableview.md): Due Date: TBD
- [5. UICollectionView](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/5.-uicollectionview.md)
- [Lecture Handout](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/5.-uicollectionview/lecture-handout.md): This lecture covers UICollectionViews -- a widely used UIKit component. You'll notice that UICollectionViews are very similar to UITableViews!
- [Lecture Demo](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/5.-uicollectionview/lecture-demo.md)
- [Project: UICollectionView](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/5.-uicollectionview/project-uicollectionview.md): Due Date:Tuesday, March 28th
- [6. Networking I](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/6.-networking-i-and-cocoapods.md): URLs & Persistence
- [Lecture Handout](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/6.-networking-i-and-cocoapods/lecture-handout.md): This lecture covers the first half of networking (making a request) and introduces Cocoapods.
- [Lecture Demo](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/6.-networking-i-and-cocoapods/lecture-demo.md)
- [Project: Persistence](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/6.-networking-i-and-cocoapods/project-persistence.md): Due Date: Tuesday, April 11th
- [7. Networking II](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/7.-networking-ii-and-codable.md): Alamofire
- [Lecture Handout](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/7.-networking-ii-and-codable/lecture-handout.md): This lecture covers the second half of networking: decoding a response from the Internet.
- [Lecture Demo](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/7.-networking-ii-and-codable/lecture-demo.md)
- [Message Board](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/7.-networking-ii-and-codable/lecture-demo/project-message-board.md)
- [Project: Networking II](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/7.-networking-ii-and-codable/project-networking-ii.md): Due Date: Friday, April 21th
- [8. Swift UI](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/8.-swift-ui.md): Swift UI
- [9. CocoaPods](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/9.-cocoapods.md)
- [Lecture Handout](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/9.-cocoapods/lecture-handout.md)
- [Lecture Demo](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/chapters/9.-cocoapods/lecture-demo.md)
- [Cheat Sheets](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/cheat-sheets.md)
- [Setting Up a New Xcode Project](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/cheat-sheets/setting-up-a-new-xcode-project.md): The following are instructions on how to set up a new Xcode project. Please make sure you followed these instructions carefully to ensure your project runs successfully.
- [Submitting Your Projects](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/cheat-sheets/submitting-your-projects.md): The following are instructions on how to properly submitting your projects to CMS, which you'll be doing for your assignments.
- [Setting Up CocoaPods](https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23/cheat-sheets/setting-up-cocoapods.md): The following are instructions on how to install CocoaPods to your Xcode project, which will be useful when we start our lectures on networking and external libraries.
- [2022](https://ios-course.cornellappdev.com/resources/archived-past-semesters/2022.md)
- [SwiftUI](https://ios-course.cornellappdev.com/resources/archived-past-semesters/2022/swiftui.md)
- [2021](https://ios-course.cornellappdev.com/resources/archived-past-semesters/2021.md)
- [Adding Flare](https://ios-course.cornellappdev.com/resources/archived-past-semesters/2021/adding-flare.md)
- [Project: UIView Animations (Optional - Extra Credit)](https://ios-course.cornellappdev.com/resources/archived-past-semesters/2021/project-uiview-animations-optional-extra-credit.md): Due Date: Apr 18, 2022 @ 11:59 PM
- [UIView Animations](https://ios-course.cornellappdev.com/resources/archived-past-semesters/2021/uiview-animations.md): Fall 2021 Additional Topic
- [Xcode Tips and Tricks](https://ios-course.cornellappdev.com/resources/archived-past-semesters/2021/xcode-tips-and-tricks.md): Fall 2021 Additional Topic
- [2019](https://ios-course.cornellappdev.com/resources/archived-past-semesters/2019.md)
- [Firebase](https://ios-course.cornellappdev.com/resources/archived-past-semesters/2019/firebase.md): Spring 2019: Additional Topic
- [Persistence: UserDefaults](https://ios-course.cornellappdev.com/resources/archived-past-semesters/2019/persistance.md): Spring 2019 & Fall 2019 Additional Topic
