# SP23

- [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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ios-course.cornellappdev.com/resources/archived-past-semesters/sp23.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
