{"version":1,"pages":[{"id":"-Lwk76u18EaeYoxe1xVo","title":"Introduction","pathname":"/","siteSpaceId":"sitesp_Tpa8z","emoji":"2600","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Welcome"}]},{"id":"cUBko5r0VadBiUHFI7AM","title":"Getting Started","pathname":"/welcome/getting-started","siteSpaceId":"sitesp_Tpa8z","emoji":"1f423","description":"Spring 2026","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Welcome"}]},{"id":"duxxk8GuADl8fxjg0jgZ","title":"Office Hours","pathname":"/course-content/office-hours","siteSpaceId":"sitesp_Tpa8z","emoji":"1f64b-2642","description":"Spring 2026","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"}]},{"id":"SqbOj5Yh6M4J9au2OUKq","title":"Schedule","pathname":"/course-content/schedule","siteSpaceId":"sitesp_Tpa8z","emoji":"1f5d3","description":"Spring 2026","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"}]},{"id":"qVjLklPYqqW64Di8wBT6","title":"Grading","pathname":"/course-content/grading","siteSpaceId":"sitesp_Tpa8z","emoji":"1f58a","description":"Spring 2026","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"}]},{"id":"ryazwlr0y2ttaNqkDipT","title":"Week 1 | Xcode, Swift Basics, and Git","pathname":"/course-content/week-1-or-xcode-swift-basics-and-git","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"}]},{"id":"W1dVPQmn3nVA1tFS1HW1","title":"Todos","pathname":"/course-content/week-1-or-xcode-swift-basics-and-git/todos","siteSpaceId":"sitesp_Tpa8z","emoji":"1f516","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 1 | Xcode, Swift Basics, and Git","emoji":"0031-20e3"}]},{"id":"xbZ80jEwp8XzJIb0khPY","title":"L1: Git & Intro to Swift","pathname":"/course-content/week-1-or-xcode-swift-basics-and-git/l1-git-and-intro-to-swift","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4a1","description":"Spring 2026","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 1 | Xcode, Swift Basics, and Git","emoji":"0031-20e3"}]},{"id":"FFECMgrvy2aM4maBspE9","title":"Week 2 | UIKIT, MVC, and Control","pathname":"/course-content/week-2-or-uikit-mvc-and-control","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Working with UIKit","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"}]},{"id":"XRBglCzbmljsX8QC2pvC","title":"Pre-lecture Reading I","pathname":"/course-content/week-2-or-uikit-mvc-and-control/pre-lecture-reading-i","siteSpaceId":"sitesp_Tpa8z","emoji":"1f516","description":"SP 2026 | Zain Bilal","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 2 | UIKIT, MVC, and Control","emoji":"0032-20e3"}]},{"id":"KfKiEVFhmQDzqD3JP63S","title":"Monday | UIKit","pathname":"/course-content/week-2-or-uikit-mvc-and-control/monday-or-uikit","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4a1","description":"Spring 2026","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 2 | UIKIT, MVC, and Control","emoji":"0032-20e3"}]},{"id":"s7E5c1wCZTO6MlGDJjD8","title":"Pre-lecture Reading II","pathname":"/course-content/week-2-or-uikit-mvc-and-control/pre-lecture-reading-ii","siteSpaceId":"sitesp_Tpa8z","emoji":"1f516","description":"SP 2026 | Jay Zheng","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 2 | UIKIT, MVC, and Control","emoji":"0032-20e3"}]},{"id":"kytaGjqb7y6sUzm7KY7Q","title":"Wednesday | MVC and Control (Navigation + Delegation)","pathname":"/course-content/week-2-or-uikit-mvc-and-control/wednesday-or-mvc-and-control-navigation-+-delegation","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4a1","description":"Spring 2026","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 2 | UIKIT, MVC, and Control","emoji":"0032-20e3"}]},{"id":"WHqf3XvzIL5wBKi8ybTp","title":"A1: Swift Basics","pathname":"/course-content/week-2-or-uikit-mvc-and-control/a1-swift-basics","siteSpaceId":"sitesp_Tpa8z","emoji":"1f37c","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 2 | UIKIT, MVC, and Control","emoji":"0032-20e3"}]},{"id":"XNmUZRez9bKPH66PzVIu","title":"A2: Profile","pathname":"/course-content/week-2-or-uikit-mvc-and-control/a2-profile","siteSpaceId":"sitesp_Tpa8z","emoji":"1f9d1","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 2 | UIKIT, MVC, and Control","emoji":"0032-20e3"}]},{"id":"Odlu03WqVpzM9yojumZt","title":"Week 3 | CollectionViews and more UIKIT","pathname":"/course-content/week-3-or-collectionviews-and-more-uikit","siteSpaceId":"sitesp_Tpa8z","emoji":"0033-20e3","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"}]},{"id":"uzhfxSC6qxfu0UjrKlso","title":"No reading for Monday lecture","pathname":"/course-content/week-3-or-collectionviews-and-more-uikit/no-reading-for-monday-lecture","siteSpaceId":"sitesp_Tpa8z","emoji":"1f516","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 3 | CollectionViews and more UIKIT","emoji":"0033-20e3"}]},{"id":"Frw1MKKIxzFrFrTmzzE0","title":"Monday | UICollectionView","pathname":"/course-content/week-3-or-collectionviews-and-more-uikit/monday-or-uicollectionview","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4a1","description":"Spring 2026","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 3 | CollectionViews and more UIKIT","emoji":"0033-20e3"}]},{"id":"jQWRBcQAN02UJoDCOrUE","title":"Wednesday Pre-lecture Skim","pathname":"/course-content/week-3-or-collectionviews-and-more-uikit/wednesday-pre-lecture-skim","siteSpaceId":"sitesp_Tpa8z","emoji":"1f516","description":"SP 2026 | Jay Zheng","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 3 | CollectionViews and more UIKIT","emoji":"0033-20e3"}]},{"id":"jKveJNpL0pV4wiX087Os","title":"A2.5: Profile Addon","pathname":"/course-content/week-3-or-collectionviews-and-more-uikit/a2.5-profile-addon","siteSpaceId":"sitesp_Tpa8z","emoji":"1f9d1","description":"Original Author: Zain Bilal","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 3 | CollectionViews and more UIKIT","emoji":"0033-20e3"}]},{"id":"GEPN9I8yoZwJbRBVOQxb","title":"Week 4 | SwiftUI","pathname":"/course-content/week-4-or-swiftui","siteSpaceId":"sitesp_Tpa8z","emoji":"0033-20e3","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"}]},{"id":"0l2HmrxEYbmI4hMsdPYN","title":"Monday Pre-lecture Skim","pathname":"/course-content/week-4-or-swiftui/monday-pre-lecture-skim","siteSpaceId":"sitesp_Tpa8z","emoji":"1f516","description":"SP 2026 | Jay Zheng","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 4 | SwiftUI","emoji":"0033-20e3"}]},{"id":"K7w6d3Gzmlyv9rVbJYUZ","title":"Monday | SwiftUI I","pathname":"/course-content/week-4-or-swiftui/monday-or-swiftui-i","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4a1","description":"Spring 2026","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 4 | SwiftUI","emoji":"0033-20e3"}]},{"id":"iVbFlJ01VEdKdkmYzP4s","title":"No Wednesday Pre-lecture Skim","pathname":"/course-content/week-4-or-swiftui/no-wednesday-pre-lecture-skim","siteSpaceId":"sitesp_Tpa8z","emoji":"1f516","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 4 | SwiftUI","emoji":"0033-20e3"}]},{"id":"fKHWu2D5CrP2Khiv1fbF","title":"Wednesday | SwiftUI II","pathname":"/course-content/week-4-or-swiftui/wednesday-or-swiftui-ii","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4a1","description":"Spring 2026","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 4 | SwiftUI","emoji":"0033-20e3"}]},{"id":"i23Z1CTbmWtLb3CWoroH","title":"A3: ChatDev","pathname":"/course-content/week-4-or-swiftui/a3-chatdev","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4ac","description":"Original Author: Vin Bui | New Changes: Zain Bilal","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 4 | SwiftUI","emoji":"0033-20e3"}]},{"id":"VB7FHQVzcZMMhSdTUteP","title":"Week 5 | Networking","pathname":"/course-content/week-5-or-networking","siteSpaceId":"sitesp_Tpa8z","emoji":"0035-20e3","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"}]},{"id":"MI2KbNzkyvLVCz9srGjm","title":"Monday | Networking I","pathname":"/course-content/week-5-or-networking/monday-or-networking-i","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4a1","description":"Spring 26","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 5 | Networking","emoji":"0035-20e3"}]},{"id":"Tm3a3y6NvTxJYkHtIHbB","title":"Wednesday | Networking II","pathname":"/course-content/week-5-or-networking/wednesday-or-networking-ii","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4a1","description":"Spring 2026","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 5 | Networking","emoji":"0035-20e3"}]},{"id":"xOl1CII5uS82W5tzHjVP","title":"A3.5: ChatDev — Networking","pathname":"/course-content/week-5-or-networking/a3.5-chatdev-networking","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4ac","description":"Original Author: Vin Bui | New Changes: Jay Zheng","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 5 | Networking","emoji":"0035-20e3"}]},{"id":"pDuygbnuXGyYU734PuIV","title":"Week 6 | MVVM, CreateML, and CoreML","pathname":"/course-content/week-6-or-mvvm-createml-and-coreml","siteSpaceId":"sitesp_Tpa8z","emoji":"0036-20e3","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"}]},{"id":"Anrfg258CHiElwPUMbrw","title":"Monday | MVVM","pathname":"/course-content/week-6-or-mvvm-createml-and-coreml/monday-or-mvvm","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4a1","description":"Spring 26","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 6 | MVVM, CreateML, and CoreML","emoji":"0036-20e3"}]},{"id":"ZTMGRb7UhB22NkvRYmAb","title":"A4: ChefOS - SwiftUI","pathname":"/course-content/week-6-or-mvvm-createml-and-coreml/a4-chefos-swiftui","siteSpaceId":"sitesp_Tpa8z","emoji":"1f468-1f373","description":"Original project authored by Vin Bui, adapted to SwiftUI by Daniel Chuang","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"},{"label":"Week 6 | MVVM, CreateML, and CoreML","emoji":"0036-20e3"}]},{"id":"HiwFdA0mg08CvXQWrSSd","title":"Machine Learning on iOS","pathname":"/course-content/machine-learning-on-ios","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4a1","description":"Spring 2026 | Jay Zheng","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Course Content"}]},{"id":"yirFgFYgBCAOFPc426xZ","title":"Textbook","pathname":"/resources/textbook","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4d6","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"}]},{"id":"KCmvX5q3eugPT6ewig5v","title":"Introduction","pathname":"/resources/textbook/introduction","siteSpaceId":"sitesp_Tpa8z","emoji":"1f590","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"8RRCgaESWl48jnZ4etck","title":"Git + GitHub","pathname":"/resources/textbook/git-+-github","siteSpaceId":"sitesp_Tpa8z","emoji":"2601","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"2RIHHrQOs0nxMq8qqtgY","title":"Git Installation","pathname":"/resources/textbook/git-+-github/git-installation","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Git + GitHub","emoji":"2601"}]},{"id":"WosNH6VM21UN5nITVDyF","title":"Git Basics","pathname":"/resources/textbook/git-+-github/git-basics","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Fall 2023 | Richie Sun","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Git + GitHub","emoji":"2601"}]},{"id":"vAGBoKG28607RBXiCdcc","title":"Git+","pathname":"/resources/textbook/git-+-github/git+","siteSpaceId":"sitesp_Tpa8z","emoji":"2795","description":"Spring 2024 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Git + GitHub","emoji":"2601"}]},{"id":"dybTuMfw7FPaR7F2tbZ9","title":"Swift Basics","pathname":"/resources/textbook/swift-basics","siteSpaceId":"sitesp_Tpa8z","emoji":"1f423","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"VEzF3tvLUQyPKJ53hu6u","title":"Variables and Constants","pathname":"/resources/textbook/swift-basics/variables-and-constants","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Swift Basics","emoji":"1f423"}]},{"id":"aEmVwDXKjFHy0UK9XFUl","title":"Data Types","pathname":"/resources/textbook/swift-basics/data-types","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Swift Basics","emoji":"1f423"}]},{"id":"fsiUWKICIjPowDkQWHmX","title":"Operators","pathname":"/resources/textbook/swift-basics/operators","siteSpaceId":"sitesp_Tpa8z","emoji":"0033-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Swift Basics","emoji":"1f423"}]},{"id":"mzFhswcNwzGeujInRNwA","title":"Data Structures","pathname":"/resources/textbook/swift-basics/data-structures","siteSpaceId":"sitesp_Tpa8z","emoji":"0034-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Swift Basics","emoji":"1f423"}]},{"id":"jqgTLo5YVdajEKvWReqs","title":"Conditionals","pathname":"/resources/textbook/swift-basics/conditionals","siteSpaceId":"sitesp_Tpa8z","emoji":"0035-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Swift Basics","emoji":"1f423"}]},{"id":"D71H4xl5ue4w8R84eAgJ","title":"Loops","pathname":"/resources/textbook/swift-basics/loops","siteSpaceId":"sitesp_Tpa8z","emoji":"0036-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Swift Basics","emoji":"1f423"}]},{"id":"dHUGuHLRVDhiUOtMNhRz","title":"Functions","pathname":"/resources/textbook/swift-basics/functions","siteSpaceId":"sitesp_Tpa8z","emoji":"0037-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Swift Basics","emoji":"1f423"}]},{"id":"dkrMAGcn1LgVIabfxDMn","title":"Closures","pathname":"/resources/textbook/swift-basics/closures","siteSpaceId":"sitesp_Tpa8z","emoji":"0038-20e3","description":"Fall 2024 | Peter Bidoshi","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Swift Basics","emoji":"1f423"}]},{"id":"CjzmybKNV8UdhAzfKDKY","title":"Optionals","pathname":"/resources/textbook/swift-basics/optionals","siteSpaceId":"sitesp_Tpa8z","emoji":"0039-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Swift Basics","emoji":"1f423"}]},{"id":"A8ySZg14FAOpbskI2USz","title":"UIKit + AutoLayout","pathname":"/resources/textbook/uikit-+-autolayout","siteSpaceId":"sitesp_Tpa8z","emoji":"1f9f0","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"qlYtjI7mMt061jaUZRa3","title":"Classes","pathname":"/resources/textbook/uikit-+-autolayout/classes","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Fall 2023 | Richie Sun","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"UIKit + AutoLayout","emoji":"1f9f0"}]},{"id":"lBa8Q5fapxEGxEYgHIp4","title":"UIKit","pathname":"/resources/textbook/uikit-+-autolayout/uikit","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Fall 2023 | Richie Sun","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"UIKit + AutoLayout","emoji":"1f9f0"}]},{"id":"nGSIatQEhKuJY7gDVTvR","title":"AutoLayout","pathname":"/resources/textbook/uikit-+-autolayout/autolayout","siteSpaceId":"sitesp_Tpa8z","emoji":"0033-20e3","description":"Fall 2023 | Richie Sun","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"UIKit + AutoLayout","emoji":"1f9f0"}]},{"id":"4wmS57TvuzeuOsrU77Yk","title":"MVC + Navigation + Delegation","pathname":"/resources/textbook/mvc-+-navigation-+-delegation","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4fa","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"26rPyhq0zlh1P39AWzqp","title":"MVC","pathname":"/resources/textbook/mvc-+-navigation-+-delegation/mvc","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"MVC + Navigation + Delegation","emoji":"1f4fa"}]},{"id":"92J07nkLaJuPnf1diAKy","title":"Navigation","pathname":"/resources/textbook/mvc-+-navigation-+-delegation/navigation","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"MVC + Navigation + Delegation","emoji":"1f4fa"}]},{"id":"bcIXW5DeZaZskyma837w","title":"Delegation","pathname":"/resources/textbook/mvc-+-navigation-+-delegation/delegation","siteSpaceId":"sitesp_Tpa8z","emoji":"0033-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"MVC + Navigation + Delegation","emoji":"1f4fa"}]},{"id":"sX5wPjVCOrYJwFl96ZLH","title":"UITableView","pathname":"/resources/textbook/uitableview","siteSpaceId":"sitesp_Tpa8z","emoji":"1f3d3","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"kMDhZFo1VkSFwpB5ot1u","title":"What is a UITableView?","pathname":"/resources/textbook/uitableview/what-is-a-uitableview","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"UITableView","emoji":"1f3d3"}]},{"id":"Q0I3zKKGrw4AYTD4Axie","title":"UITableView Setup","pathname":"/resources/textbook/uitableview/uitableview-setup","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"UITableView","emoji":"1f3d3"}]},{"id":"6C4imdqgUr5E0rczHnA7","title":"Networking I","pathname":"/resources/textbook/networking-i","siteSpaceId":"sitesp_Tpa8z","emoji":"1f310","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"HUxI2rPWZ7JTD9cc8OzH","title":"HTTP Requests","pathname":"/resources/textbook/networking-i/http-requests","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Networking I","emoji":"1f310"}]},{"id":"lmYAG61FqYIJmT1hmcT2","title":"Callbacks","pathname":"/resources/textbook/networking-i/callbacks","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Networking I","emoji":"1f310"}]},{"id":"rtHHWPL9JnXErbjiuDsf","title":"Codable","pathname":"/resources/textbook/networking-i/codable","siteSpaceId":"sitesp_Tpa8z","emoji":"0033-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Networking I","emoji":"1f310"}]},{"id":"Q76q8x4RTEcDpqS8tOW1","title":"Networking II","pathname":"/resources/textbook/networking-ii","siteSpaceId":"sitesp_Tpa8z","emoji":"1f30d","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"vJPzWBtnXjUQu1uXqhHT","title":"Alamofire","pathname":"/resources/textbook/networking-ii/alamofire","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Networking II","emoji":"1f30d"}]},{"id":"7xAwv6hRDWq4SB6M9UoJ","title":"GET Requests","pathname":"/resources/textbook/networking-ii/get-requests","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Networking II","emoji":"1f30d"}]},{"id":"aVsLCIlpGru7ZBYD2JsH","title":"POST Requests","pathname":"/resources/textbook/networking-ii/post-requests","siteSpaceId":"sitesp_Tpa8z","emoji":"0033-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Networking II","emoji":"1f30d"}]},{"id":"jOHrwK3eaSDVMSTqMuwe","title":"URLSession","pathname":"/resources/textbook/networking-ii/urlsession","siteSpaceId":"sitesp_Tpa8z","emoji":"0034-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Networking II","emoji":"1f30d"}]},{"id":"4fJbKxAlwCcJ84HhvOV7","title":"UICollectionView","pathname":"/resources/textbook/uicollectionview","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4da","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"oF2cMcKsRhvxsoFET0EZ","title":"What is a UICollectionView?","pathname":"/resources/textbook/uicollectionview/what-is-a-uicollectionview","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"UICollectionView","emoji":"1f4da"}]},{"id":"9RbFGckzi9OrG7aiIKV1","title":"UICollectionView Setup","pathname":"/resources/textbook/uicollectionview/uicollectionview-setup","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"UICollectionView","emoji":"1f4da"}]},{"id":"9PkTGnHzxQY8ED4S2clS","title":"Persistence + SnapKit","pathname":"/resources/textbook/persistence-+-snapkit","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4be","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"cXIzm69U2gdUP0uCMHHN","title":"Persistence","pathname":"/resources/textbook/persistence-+-snapkit/persistence","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Persistence + SnapKit","emoji":"1f4be"}]},{"id":"RrMA1yZcTqYrdqH6rMSx","title":"SnapKit","pathname":"/resources/textbook/persistence-+-snapkit/snapkit","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Persistence + SnapKit","emoji":"1f4be"}]},{"id":"fYD7hl7NqPp27siBQzo9","title":"SwiftUI","pathname":"/resources/textbook/swiftui","siteSpaceId":"sitesp_Tpa8z","emoji":"1f54a","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"malYLW3B57uUHPTR42JV","title":"Introduction to SwiftUI","pathname":"/resources/textbook/swiftui/introduction-to-swiftui","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"SwiftUI","emoji":"1f54a"}]},{"id":"lFp6JsCIfCCqFQMqePyQ","title":"Getting Started with SwiftUI","pathname":"/resources/textbook/swiftui/getting-started-with-swiftui","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"SwiftUI","emoji":"1f54a"}]},{"id":"YBKh4R28JyTsUvFugMxw","title":"Views + Modifiers","pathname":"/resources/textbook/swiftui/views-+-modifiers","siteSpaceId":"sitesp_Tpa8z","emoji":"0033-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"SwiftUI","emoji":"1f54a"}]},{"id":"jfuZmXjI3xMrpLN2IxSi","title":"Layouts","pathname":"/resources/textbook/swiftui/layouts","siteSpaceId":"sitesp_Tpa8z","emoji":"0034-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"SwiftUI","emoji":"1f54a"}]},{"id":"Qhr9L91c7PXnl4GdXwVg","title":"Navigation","pathname":"/resources/textbook/swiftui/navigation","siteSpaceId":"sitesp_Tpa8z","emoji":"0035-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"SwiftUI","emoji":"1f54a"}]},{"id":"H6yXgBAeI3L79OY51zxB","title":"Property Wrappers","pathname":"/resources/textbook/swiftui/property-wrappers","siteSpaceId":"sitesp_Tpa8z","emoji":"0036-20e3","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"SwiftUI","emoji":"1f54a"}]},{"id":"7krUGPSOQkwVLlo2mcGY","title":"Widgets","pathname":"/resources/textbook/widgets","siteSpaceId":"sitesp_Tpa8z","emoji":"1f39b","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"DqfQY2TP04G3yTuuYOLc","title":"Introduction to Widgets","pathname":"/resources/textbook/widgets/introduction-to-widgets","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Fall 2023 | Reade Plunkett","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Widgets","emoji":"1f39b"}]},{"id":"iKj9lS1rcxPe9rJdftDa","title":"Setting Up Widgets","pathname":"/resources/textbook/widgets/setting-up-widgets","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Fall 2023 | Reade Plunkett","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Widgets","emoji":"1f39b"}]},{"id":"aBLIlVuLHJmvUXPvakvA","title":"Building Widgets","pathname":"/resources/textbook/widgets/building-widgets","siteSpaceId":"sitesp_Tpa8z","emoji":"0033-20e3","description":"Fall 2023 | Reade Plunkett","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Widgets","emoji":"1f39b"}]},{"id":"BJbAnU99zdJVBrqBcXPL","title":"Configuring Widgets","pathname":"/resources/textbook/widgets/configuring-widgets","siteSpaceId":"sitesp_Tpa8z","emoji":"0034-20e3","description":"Fall 2023 | Reade Plunkett","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Widgets","emoji":"1f39b"}]},{"id":"fqEtWX9Am6RYrp47NG3m","title":"Project Foundation","pathname":"/resources/textbook/project-foundation","siteSpaceId":"sitesp_Tpa8z","emoji":"1f9f1","description":"Spring 2024 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"pRbluywHkjuOl9O0VcVu","title":"Testing","pathname":"/resources/textbook/testing","siteSpaceId":"sitesp_Tpa8z","emoji":"2705","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"enzsmWEJuewi5O7iHxQj","title":"Unit Testing","pathname":"/resources/textbook/testing/unit-testing","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Spring 2024 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Testing","emoji":"2705"}]},{"id":"CC708slHGf6PKmODbh5x","title":"UI Testing","pathname":"/resources/textbook/testing/ui-testing","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Spring 2024 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Testing","emoji":"2705"}]},{"id":"Avovq0pznLBy5xSWTuLA","title":"Debugging","pathname":"/resources/textbook/debugging","siteSpaceId":"sitesp_Tpa8z","emoji":"1f463","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"XH9X79n56yYDBRrCt6Qj","title":"OSLog","pathname":"/resources/textbook/debugging/oslog","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Spring 2024 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Debugging","emoji":"1f463"}]},{"id":"OVKIPp0KbPgPRK0T9Kzh","title":"Crashlytics","pathname":"/resources/textbook/debugging/crashlytics","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Spring 2024 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Debugging","emoji":"1f463"}]},{"id":"AhvMHJNOftsmHOIR28DB","title":"Analytics","pathname":"/resources/textbook/debugging/analytics","siteSpaceId":"sitesp_Tpa8z","emoji":"0033-20e3","description":"Spring 2024 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Debugging","emoji":"1f463"}]},{"id":"fbjDTQB9Ql31uEsaO6Vh","title":"CI/CD","pathname":"/resources/textbook/ci-cd","siteSpaceId":"sitesp_Tpa8z","emoji":"2601","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"VPvAKqM63OFReeaqcp8h","title":"Xcode Cloud","pathname":"/resources/textbook/ci-cd/xcode-cloud","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Spring 2024 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"CI/CD","emoji":"2601"}]},{"id":"QUiZ8TCHDGZQWn4tyhT0","title":"AppStore Shipping","pathname":"/resources/textbook/ci-cd/appstore-shipping","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Spring 2024 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"CI/CD","emoji":"2601"}]},{"id":"xybksXG2KMXNmPEGgFbN","title":"Coming soon","pathname":"/resources/textbook/coming-soon","siteSpaceId":"sitesp_Tpa8z","emoji":"1f6a7","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"}]},{"id":"nD0pFzqwe7zcclYq9NaD","title":"Notifications","pathname":"/resources/textbook/coming-soon/notifications","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4e3","description":"Spring 2024 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Coming soon","emoji":"1f6a7"}]},{"id":"JeDYhdtsvZBOWvtJMx7o","title":"Concurrency","pathname":"/resources/textbook/coming-soon/concurrency","siteSpaceId":"sitesp_Tpa8z","emoji":"1f9f5","description":"Spring 2024 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Coming soon","emoji":"1f6a7"}]},{"id":"FF7NXBoKgkkGiHLbtcZ6","title":"Reactive Programming","pathname":"/resources/textbook/coming-soon/reactive-programming","siteSpaceId":"sitesp_Tpa8z","emoji":"1f550","description":"Spring 2024 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Coming soon","emoji":"1f6a7"}]},{"id":"08yuJKzNnNDDqtMuPVWA","title":"Memory Management","pathname":"/resources/textbook/coming-soon/memory-management","siteSpaceId":"sitesp_Tpa8z","emoji":"1f9e0","description":"Spring 2024 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Coming soon","emoji":"1f6a7"}]},{"id":"MSM46rfInaHGCoetAJc4","title":"ARC","pathname":"/resources/textbook/coming-soon/memory-management/arc","siteSpaceId":"sitesp_Tpa8z","emoji":"1f501","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Coming soon","emoji":"1f6a7"},{"label":"Memory Management","emoji":"1f9e0"}]},{"id":"XS7eItBjMwWvORlnogZt","title":"Storage","pathname":"/resources/textbook/coming-soon/storage","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4e6","description":"Spring 2024 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Textbook","emoji":"1f4d6"},{"label":"Coming soon","emoji":"1f6a7"}]},{"id":"KQ7oZPEv1oyFaPs4YIOv","title":"Tool Guides","pathname":"/resources/tool-guides","siteSpaceId":"sitesp_Tpa8z","icon":"toolbox","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"}]},{"id":"gSAUCWmERbIhYt6ueSH0","title":"Xcode Project Setup","pathname":"/resources/tool-guides/xcode-project-setup","siteSpaceId":"sitesp_Tpa8z","emoji":"1f528","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Tool Guides","icon":"toolbox"}]},{"id":"9LmCgkOzXBYIzz5X7m4d","title":"Figma","pathname":"/resources/tool-guides/figma","siteSpaceId":"sitesp_Tpa8z","emoji":"1f3a8","description":"Creator: Vin Bui (FA23) | Editor: Jay Zheng (FA25)","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Tool Guides","icon":"toolbox"}]},{"id":"yn6cHzsajLYZbsC7ylnb","title":"Postman","pathname":"/resources/tool-guides/postman","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4ec","description":"Creator: Vin Bui (FA 23) | Editor: Jay Zheng (FA25)","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Tool Guides","icon":"toolbox"}]},{"id":"zYOk3nHC7Yf1vlPhndgK","title":"CocoaPods","pathname":"/resources/tool-guides/cocoapods","siteSpaceId":"sitesp_Tpa8z","emoji":"1f965","description":"Fall 2023 | Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Tool Guides","icon":"toolbox"}]},{"id":"AVCQUx6pg9QJNt1g0KmM","title":"UIKit Handbook","pathname":"/resources/tool-guides/uikit-handbook","siteSpaceId":"sitesp_Tpa8z","emoji":"1f9f0","description":"Original Author: Richie Sun","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Tool Guides","icon":"toolbox"}]},{"id":"T5qRC7x34oTnJxlCnnA5","title":"Tab Views","pathname":"/resources/tool-guides/tab-views","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4d1","description":"Original Author: Tiffany Pan","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Tool Guides","icon":"toolbox"}]},{"id":"ribdXAb3YgpLynD4Eaex","title":"UITabBarController","pathname":"/resources/tool-guides/tab-views/uitabbarcontroller","siteSpaceId":"sitesp_Tpa8z","description":"Original Author: Tiffany Pan","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Tool Guides","icon":"toolbox"},{"label":"Tab Views","emoji":"1f4d1"}]},{"id":"zQbVIFTxrbRnwGMZWJmt","title":"TabView","pathname":"/resources/tool-guides/tab-views/tabview","siteSpaceId":"sitesp_Tpa8z","description":"SwiftUI's Vers.","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Tool Guides","icon":"toolbox"},{"label":"Tab Views","emoji":"1f4d1"}]},{"id":"4O70yfwqizXlT6ffdrls","title":"Swift Foundations","pathname":"/resources/swift-foundations","siteSpaceId":"sitesp_Tpa8z","icon":"cubes","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"}]},{"id":"QghFLSLcZjXU8vxh8cbI","title":"About this Textbook","pathname":"/resources/swift-foundations/about-this-textbook","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"ajkn5D2i4ckLkVNmVs9Q","title":"Documentation","pathname":"/resources/swift-foundations/documentation","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"wUlK6Wm1vphn64i1D9VH","title":"Constants and Variables","pathname":"/resources/swift-foundations/constants-and-variables","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"YPeY81x7wtdrmVQJQn2z","title":"Variable Properties","pathname":"/resources/swift-foundations/constants-and-variables/variable-properties","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"},{"label":"Constants and Variables"}]},{"id":"ytKuY4ANvGYi6JIqHJlO","title":"Lazy and Static Variables","pathname":"/resources/swift-foundations/constants-and-variables/lazy-and-static-variables","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"},{"label":"Constants and Variables"}]},{"id":"sIsQViQhlwyhdNCMXUbp","title":"Functions","pathname":"/resources/swift-foundations/functions","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"dIKBHlrDuDtUesCBdYIy","title":"Ranges","pathname":"/resources/swift-foundations/ranges","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"h2e11ds5WvfJj9K0mssN","title":"Arrays","pathname":"/resources/swift-foundations/arrays","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"t4YXbNuaAq6KCuLFf72G","title":"Basic Array Operations","pathname":"/resources/swift-foundations/arrays/basic-array-operations","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"},{"label":"Arrays"}]},{"id":"p0LUVz6UXRF0wd127DQ5","title":"Iteration and Enumeration","pathname":"/resources/swift-foundations/arrays/iteration-and-enumeration","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"},{"label":"Arrays"}]},{"id":"fNI4t8rtyRuQhIjv7esW","title":"Advanced Array Operations","pathname":"/resources/swift-foundations/arrays/advanced-array-operations","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"},{"label":"Arrays"}]},{"id":"ByWhriW1AIjpQHdciGbo","title":"Tuples","pathname":"/resources/swift-foundations/tuples","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"6yu57nTZvf23XawcnREs","title":"Conditions and While Loops","pathname":"/resources/swift-foundations/conditions-and-while-loops","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"S4wRacJxckMMu6vDFlnB","title":"For Loops","pathname":"/resources/swift-foundations/for-loops","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"bIRcQcpORkPc8AfLMrOK","title":"Enums and Switches","pathname":"/resources/swift-foundations/enums-and-switches","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"1A2kz5d27g30OnsUXZNd","title":"Enums with Associated Values","pathname":"/resources/swift-foundations/enums-and-switches/enums-with-associated-values","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"},{"label":"Enums and Switches"}]},{"id":"EczqH2qpsXQZop5jfFQF","title":"Indirect Enums","pathname":"/resources/swift-foundations/enums-and-switches/indirect-enums","siteSpaceId":"sitesp_Tpa8z","description":"Credits to the great wonderful amazing Daniel Vebman for introducing me to the topic","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"},{"label":"Enums and Switches"}]},{"id":"XfO460kvvgFK1Weibhkf","title":"Classes and Structs","pathname":"/resources/swift-foundations/classes-and-structs","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"teTEwHPJb9tn9g7uM3hR","title":"Optionals","pathname":"/resources/swift-foundations/optionals","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"1vy2ltzwkW9tKAyT0o0r","title":"Dictionaries","pathname":"/resources/swift-foundations/dictionaries","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"eTOGg6P7jDaQKdpEz2NS","title":"Dictionary Implementation","pathname":"/resources/swift-foundations/dictionaries/dictionary-implementation","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"},{"label":"Dictionaries"}]},{"id":"LuD24vCrWJrfSI5vYWfv","title":"Closures","pathname":"/resources/swift-foundations/closures","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"YMy4FafSDAqXc7MDUXww","title":"Constraints","pathname":"/resources/swift-foundations/constraints","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"cbyeGT2nh86bIoGgaKej","title":"Generics","pathname":"/resources/swift-foundations/generics","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"gYFxN28V1ETrifa2WZuB","title":"Protocols","pathname":"/resources/swift-foundations/protocols","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"8rrORhRN5mmV1avY6HIZ","title":"Protocols With Associated Types","pathname":"/resources/swift-foundations/protocols/protocols-with-associated-types","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"},{"label":"Protocols"}]},{"id":"wyXq77gv6IdblcjvUkFp","title":"Casting","pathname":"/resources/swift-foundations/casting","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"MIdWrona7klLJsyCH0Lg","title":"Errors","pathname":"/resources/swift-foundations/errors","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"0SoBftR0TtPgadORIgPG","title":"Networking","pathname":"/resources/swift-foundations/networking","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"XVhoBTRpKYBWk2L5Wi9o","title":"Result","pathname":"/resources/swift-foundations/networking/result","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"},{"label":"Networking"}]},{"id":"tWqSWgKrscRFBDBfpZ21","title":"Inout","pathname":"/resources/swift-foundations/inout","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Swift Foundations","icon":"cubes"}]},{"id":"taeYutznPWv4OCw4Eb9T","title":"Archived (past semesters)","pathname":"/resources/archived-past-semesters","siteSpaceId":"sitesp_Tpa8z","icon":"box","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"}]},{"id":"tmsuyCkqoeb2yvK99whK","title":"FA25","pathname":"/resources/archived-past-semesters/fa25","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"}]},{"id":"oMNzIyCL2z734ozbAu9U","title":"Logistics","pathname":"/resources/archived-past-semesters/fa25/logistics","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4cb","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"}]},{"id":"YAyRX7AfHqxpMSjGXPvR","title":"Syllabus","pathname":"/resources/archived-past-semesters/fa25/logistics/syllabus","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4dc","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Logistics","emoji":"1f4cb"}]},{"id":"3154CFMXK4MzJJ8P1UC9","title":"Schedule","pathname":"/resources/archived-past-semesters/fa25/logistics/schedule","siteSpaceId":"sitesp_Tpa8z","emoji":"1f5d3","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Logistics","emoji":"1f4cb"}]},{"id":"3htP6YnS4iLRous1f27y","title":"Grading","pathname":"/resources/archived-past-semesters/fa25/logistics/grading","siteSpaceId":"sitesp_Tpa8z","emoji":"1f58a","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Logistics","emoji":"1f4cb"}]},{"id":"ps3Hgk9dgBUTNM05uEIr","title":"Office Hours","pathname":"/resources/archived-past-semesters/fa25/logistics/office-hours","siteSpaceId":"sitesp_Tpa8z","emoji":"1f64b-2642","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Logistics","emoji":"1f4cb"}]},{"id":"zMHF7tt75o39BMMQiwWc","title":"Lectures","pathname":"/resources/archived-past-semesters/fa25/lectures","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4d3","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"}]},{"id":"0j6ICQKMewDxdhy5Ce0c","title":"Logistics + Swift Basics","pathname":"/resources/archived-past-semesters/fa25/lectures/logistics-+-swift-basics","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Lectures","emoji":"1f4d3"}]},{"id":"E1IVu2r61Eu5RIIog7cS","title":"UIKit + AutoLayout","pathname":"/resources/archived-past-semesters/fa25/lectures/uikit-+-autolayout","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Lectures","emoji":"1f4d3"}]},{"id":"1zPMmHDOTBRhXkV9ZeOr","title":"MVC + Navigation + Delegation","pathname":"/resources/archived-past-semesters/fa25/lectures/mvc-+-navigation-+-delegation","siteSpaceId":"sitesp_Tpa8z","emoji":"0033-20e3","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Lectures","emoji":"1f4d3"}]},{"id":"VxT70NFYKga388DYwL3P","title":"UITableView","pathname":"/resources/archived-past-semesters/fa25/lectures/uitableview","siteSpaceId":"sitesp_Tpa8z","emoji":"0034-20e3","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Lectures","emoji":"1f4d3"}]},{"id":"ZBe0ZbVfggxWKmWZT0E2","title":"UICollectionView","pathname":"/resources/archived-past-semesters/fa25/lectures/uicollectionview","siteSpaceId":"sitesp_Tpa8z","emoji":"0035-20e3","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Lectures","emoji":"1f4d3"}]},{"id":"X5DLthPaMgMyDA6Q7fg7","title":"Networking I","pathname":"/resources/archived-past-semesters/fa25/lectures/networking-i","siteSpaceId":"sitesp_Tpa8z","emoji":"0036-20e3","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Lectures","emoji":"1f4d3"}]},{"id":"1yyxa8BXh4PDY8TniGTc","title":"Networking II","pathname":"/resources/archived-past-semesters/fa25/lectures/networking-ii","siteSpaceId":"sitesp_Tpa8z","emoji":"0037-20e3","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Lectures","emoji":"1f4d3"}]},{"id":"xIE7juePmNrrRa2P4M1Q","title":"Persistence + SnapKit","pathname":"/resources/archived-past-semesters/fa25/lectures/persistence-+-snapkit","siteSpaceId":"sitesp_Tpa8z","emoji":"0038-20e3","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Lectures","emoji":"1f4d3"}]},{"id":"O42MFUGSN7J4nl5FNr0e","title":"SwiftUI I","pathname":"/resources/archived-past-semesters/fa25/lectures/swiftui-i","siteSpaceId":"sitesp_Tpa8z","emoji":"0039-20e3","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Lectures","emoji":"1f4d3"}]},{"id":"rvFCDYq1l74LS2avNqYo","title":"SwiftUI II","pathname":"/resources/archived-past-semesters/fa25/lectures/swiftui-ii","siteSpaceId":"sitesp_Tpa8z","emoji":"1f51f","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Lectures","emoji":"1f4d3"}]},{"id":"vSHd0McWF5L3dTywxV6T","title":"MVVM","pathname":"/resources/archived-past-semesters/fa25/lectures/mvvm","siteSpaceId":"sitesp_Tpa8z","emoji":"23f8","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Lectures","emoji":"1f4d3"}]},{"id":"uB7JNo7xjO6v3M8f3rqg","title":"(12) Core ML","pathname":"/resources/archived-past-semesters/fa25/lectures/12-core-ml","siteSpaceId":"sitesp_Tpa8z","emoji":"1f916","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Lectures","emoji":"1f4d3"}]},{"id":"xrCa2cRfKM6CPHxb93Cd","title":"(13) Deployment","pathname":"/resources/archived-past-semesters/fa25/lectures/13-deployment","siteSpaceId":"sitesp_Tpa8z","emoji":"1f30e","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Lectures","emoji":"1f4d3"}]},{"id":"8TT4hN3ph9ye4iuNPygZ","title":"Assignments","pathname":"/resources/archived-past-semesters/fa25/assignments","siteSpaceId":"sitesp_Tpa8z","emoji":"263a","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"}]},{"id":"LKSUdzzlSuNwGP9yR502","title":"A1: Swift Basics","pathname":"/resources/archived-past-semesters/fa25/assignments/a1-swift-basics","siteSpaceId":"sitesp_Tpa8z","emoji":"1f37c","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Assignments","emoji":"263a"}]},{"id":"g0hnHGjFHacK9jV4ixd2","title":"A2: Profile","pathname":"/resources/archived-past-semesters/fa25/assignments/a2-profile","siteSpaceId":"sitesp_Tpa8z","emoji":"1f9d1","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Assignments","emoji":"263a"}]},{"id":"KhabuuxQCxvQoJUEg2j8","title":"A3: ChatDev","pathname":"/resources/archived-past-semesters/fa25/assignments/a3-chatdev","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4ac","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Assignments","emoji":"263a"}]},{"id":"GLpunph1NYEV3FpqtwDl","title":"A4: ChefOS","pathname":"/resources/archived-past-semesters/fa25/assignments/a4-chefos","siteSpaceId":"sitesp_Tpa8z","emoji":"1f468-1f373","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Assignments","emoji":"263a"}]},{"id":"SSTbBt3edjGRkRlFqFzC","title":"A4: ChefOS - SwiftUI","pathname":"/resources/archived-past-semesters/fa25/assignments/a4-chefos-swiftui","siteSpaceId":"sitesp_Tpa8z","emoji":"1f468-1f373","description":"Original project authored by Vin Bui, adapted to SwiftUI by Daniel Chuang","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Assignments","emoji":"263a"}]},{"id":"RX2r73W5vC8Z0wE4zsOF","title":"Hack Challenge","pathname":"/resources/archived-past-semesters/fa25/assignments/hack-challenge","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4f1","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Assignments","emoji":"263a"}]},{"id":"FTJIHyNPhYagQ9K0Mx9f","title":"FA23 Winners","pathname":"/resources/archived-past-semesters/fa25/assignments/hack-challenge/fa23-winners","siteSpaceId":"sitesp_Tpa8z","emoji":"1f3c6","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA25"},{"label":"Assignments","emoji":"263a"},{"label":"Hack Challenge","emoji":"1f4f1"}]},{"id":"4BovieBykCgJqOoiOBgY","title":"SP25","pathname":"/resources/archived-past-semesters/sp25","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"}]},{"id":"6dDBiTBoNDar7cDFkbpm","title":"Logistics","pathname":"/resources/archived-past-semesters/sp25/logistics","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"}]},{"id":"aIuVtHuA6MOPxjShcsez","title":"Syllabus","pathname":"/resources/archived-past-semesters/sp25/logistics/syllabus","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4dc","description":"Spring 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Logistics"}]},{"id":"oetT1iXJQV68c3DxYuQk","title":"Schedule","pathname":"/resources/archived-past-semesters/sp25/logistics/schedule","siteSpaceId":"sitesp_Tpa8z","emoji":"1f5d3","description":"Spring 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Logistics"}]},{"id":"2spclXy1xuZprwcKHLr3","title":"Grading","pathname":"/resources/archived-past-semesters/sp25/logistics/grading","siteSpaceId":"sitesp_Tpa8z","emoji":"1f58a","description":"Spring 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Logistics"}]},{"id":"oBBcRDfY5xkjtEO1z48P","title":"Office Hours","pathname":"/resources/archived-past-semesters/sp25/logistics/office-hours","siteSpaceId":"sitesp_Tpa8z","emoji":"1f64b-2642","description":"Spring 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Logistics"}]},{"id":"FTnpHZxRIaVXXvNkQkO2","title":"Lecture","pathname":"/resources/archived-past-semesters/sp25/lecture","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"}]},{"id":"EhNdHZiUk7dK1Z4bWipN","title":"Logistics + Swift Basics","pathname":"/resources/archived-past-semesters/sp25/lecture/logistics-+-swift-basics","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Fall 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Lecture"}]},{"id":"vSVNMJyragN5ifoRwKOp","title":"UIKit + AutoLayout","pathname":"/resources/archived-past-semesters/sp25/lecture/uikit-+-autolayout","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Spring 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Lecture"}]},{"id":"U0e4LaaoVMVyl3T9YX0e","title":"MVC + Navigation + Delegation","pathname":"/resources/archived-past-semesters/sp25/lecture/mvc-+-navigation-+-delegation","siteSpaceId":"sitesp_Tpa8z","emoji":"0033-20e3","description":"Spring 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Lecture"}]},{"id":"Qht4c2Dsc895GZ1iUVTP","title":"UITableView","pathname":"/resources/archived-past-semesters/sp25/lecture/uitableview","siteSpaceId":"sitesp_Tpa8z","emoji":"0034-20e3","description":"Spring 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Lecture"}]},{"id":"UsWdDiHhQlCqAQ2LQJ4N","title":"UICollectionView","pathname":"/resources/archived-past-semesters/sp25/lecture/uicollectionview","siteSpaceId":"sitesp_Tpa8z","emoji":"0035-20e3","description":"Spring 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Lecture"}]},{"id":"RWCGcMN27Z6rgXR9CO9o","title":"Networking I","pathname":"/resources/archived-past-semesters/sp25/lecture/networking-i","siteSpaceId":"sitesp_Tpa8z","emoji":"0036-20e3","description":"Spring 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Lecture"}]},{"id":"iK9UbA7CnsOEu8l83rUg","title":"Networking II","pathname":"/resources/archived-past-semesters/sp25/lecture/networking-ii","siteSpaceId":"sitesp_Tpa8z","emoji":"0037-20e3","description":"Spring 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Lecture"}]},{"id":"iPBkPwxgSKYDIobCPN7Q","title":"SwiftUI I","pathname":"/resources/archived-past-semesters/sp25/lecture/swiftui-i","siteSpaceId":"sitesp_Tpa8z","emoji":"0038-20e3","description":"Spring 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Lecture"}]},{"id":"qxLrJFDDB8AAFWwgY4Zr","title":"SwiftUI II","pathname":"/resources/archived-past-semesters/sp25/lecture/swiftui-ii","siteSpaceId":"sitesp_Tpa8z","emoji":"0039-20e3","description":"Spring 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Lecture"}]},{"id":"daBCd2ka9JBbjYKXTzm1","title":"Persistence + SnapKit","pathname":"/resources/archived-past-semesters/sp25/lecture/persistence-+-snapkit","siteSpaceId":"sitesp_Tpa8z","emoji":"1f51f","description":"Spring 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Lecture"}]},{"id":"thN8ztNIiO7IXvZ47mHE","title":"(11) Notifications","pathname":"/resources/archived-past-semesters/sp25/lecture/11-notifications","siteSpaceId":"sitesp_Tpa8z","emoji":"1f514","description":"Spring 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Lecture"}]},{"id":"X9RKLMdoAOsNqvxuEv1k","title":"(12) Deployment and MapKit","pathname":"/resources/archived-past-semesters/sp25/lecture/12-deployment-and-mapkit","siteSpaceId":"sitesp_Tpa8z","emoji":"1f30e","description":"Spring 2025","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Lecture"}]},{"id":"cdxOuM38scXBkqLtNzRm","title":"Assignments","pathname":"/resources/archived-past-semesters/sp25/assignments","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"}]},{"id":"rUu2QfThD1W199jM4BNL","title":"A1: Swift Basics","pathname":"/resources/archived-past-semesters/sp25/assignments/a1-swift-basics","siteSpaceId":"sitesp_Tpa8z","emoji":"1f37c","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Assignments"}]},{"id":"ephuAu55jypzJwSmnpxm","title":"A2: Profile","pathname":"/resources/archived-past-semesters/sp25/assignments/a2-profile","siteSpaceId":"sitesp_Tpa8z","emoji":"1f9d1","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Assignments"}]},{"id":"8uzxXdRGpwo6C1qycENV","title":"A3: ChatDev","pathname":"/resources/archived-past-semesters/sp25/assignments/a3-chatdev","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4ac","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Assignments"}]},{"id":"R3F7YVqYGvEcaWJCOaOd","title":"A4: ChefOS","pathname":"/resources/archived-past-semesters/sp25/assignments/a4-chefos","siteSpaceId":"sitesp_Tpa8z","emoji":"1f468-1f373","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Assignments"}]},{"id":"LeD7PHkWtImcGlFy7ZSp","title":"A4: ChefOS - SwiftUI","pathname":"/resources/archived-past-semesters/sp25/assignments/a4-chefos-swiftui","siteSpaceId":"sitesp_Tpa8z","emoji":"1f468-1f373","description":"Original project authored by Vin Bui, adapted to SwiftUI by Daniel Chuang","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Assignments"}]},{"id":"kDi9AY1OyrCHMmZVNzQz","title":"Hack Challenge","pathname":"/resources/archived-past-semesters/sp25/assignments/hack-challenge","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4f1","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Assignments"}]},{"id":"ucEDfb52D8uX1CrRI5X0","title":"FA23 Winners","pathname":"/resources/archived-past-semesters/sp25/assignments/hack-challenge/fa23-winners","siteSpaceId":"sitesp_Tpa8z","emoji":"1f3c6","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP25"},{"label":"Assignments"},{"label":"Hack Challenge","emoji":"1f4f1"}]},{"id":"N9DYHa0kdoJgZvl67Nsx","title":"SP24","pathname":"/resources/archived-past-semesters/sp24","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"}]},{"id":"E8lSqjVEGjILGZC9ycb4","title":"Logistics","pathname":"/resources/archived-past-semesters/sp24/logistics","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"}]},{"id":"0NsUXLTMGYwytMxcY9wZ","title":"Syllabus","pathname":"/resources/archived-past-semesters/sp24/logistics/syllabus","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4dc","description":"Spring 2024","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Logistics"}]},{"id":"O3clkVZqNCZTCEDav5tL","title":"Schedule","pathname":"/resources/archived-past-semesters/sp24/logistics/schedule","siteSpaceId":"sitesp_Tpa8z","emoji":"1f5d3","description":"Spring 2024","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Logistics"}]},{"id":"epLENcymb68H2LosuPZ0","title":"Grading","pathname":"/resources/archived-past-semesters/sp24/logistics/grading","siteSpaceId":"sitesp_Tpa8z","emoji":"1f58a","description":"Spring 2024","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Logistics"}]},{"id":"stbAOWW52ewLo6x2KN1u","title":"Office Hours","pathname":"/resources/archived-past-semesters/sp24/logistics/office-hours","siteSpaceId":"sitesp_Tpa8z","emoji":"1f64b-2642","description":"Spring 2024","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Logistics"}]},{"id":"uYQ7AmyClsdfgxkm5OkI","title":"Assignments","pathname":"/resources/archived-past-semesters/sp24/assignments","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"}]},{"id":"DHYgn6RPCMG78cxTcLW2","title":"A1: Swift Basics","pathname":"/resources/archived-past-semesters/sp24/assignments/a1-swift-basics","siteSpaceId":"sitesp_Tpa8z","emoji":"1f37c","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Assignments"}]},{"id":"4YdbegHbTdTo4EEZ8ZoJ","title":"A2: Profile","pathname":"/resources/archived-past-semesters/sp24/assignments/a2-profile","siteSpaceId":"sitesp_Tpa8z","emoji":"1f9d1","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Assignments"}]},{"id":"7JlltxgxDcQclZy9p0jI","title":"A3: ChatDev","pathname":"/resources/archived-past-semesters/sp24/assignments/a3-chatdev","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4ac","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Assignments"}]},{"id":"bWiHOqc3d9Yo3WV7lI8p","title":"A4: ChefOS","pathname":"/resources/archived-past-semesters/sp24/assignments/a4-chefos","siteSpaceId":"sitesp_Tpa8z","emoji":"1f468-1f373","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Assignments"}]},{"id":"3vmvayu0ZIemTNAfTdSd","title":"Hack Challenge","pathname":"/resources/archived-past-semesters/sp24/assignments/hack-challenge","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4f1","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Assignments"}]},{"id":"yy4bRfDPypebzslnmHUs","title":"FA23 Winners","pathname":"/resources/archived-past-semesters/sp24/assignments/hack-challenge/fa23-winners","siteSpaceId":"sitesp_Tpa8z","emoji":"1f3c6","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Assignments"},{"label":"Hack Challenge","emoji":"1f4f1"}]},{"id":"kUlYQS0vuWrRILMNpzNp","title":"Lecture","pathname":"/resources/archived-past-semesters/sp24/lecture","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"}]},{"id":"AojDY2GRA3KoGjucpjz0","title":"Course Intro + Logistics + Git Setup","pathname":"/resources/archived-past-semesters/sp24/lecture/course-intro-+-logistics-+-git-setup","siteSpaceId":"sitesp_Tpa8z","emoji":"0030-20e3","description":"Spring 2024","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Lecture"}]},{"id":"yuwKkVUvnFT573WhaxC1","title":"Swift Basics","pathname":"/resources/archived-past-semesters/sp24/lecture/swift-basics","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Spring 2024","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Lecture"}]},{"id":"YgkP1TWABICXBg56sCmQ","title":"UIKit + AutoLayout","pathname":"/resources/archived-past-semesters/sp24/lecture/uikit-+-autolayout","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Spring 2024","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Lecture"}]},{"id":"br14ov4TETJO2ooh97TU","title":"MVC + Navigation + Delegation","pathname":"/resources/archived-past-semesters/sp24/lecture/mvc-+-navigation-+-delegation","siteSpaceId":"sitesp_Tpa8z","emoji":"0033-20e3","description":"Spring 2024","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Lecture"}]},{"id":"SMQ4mUkgpLR1HunAd0vo","title":"UITableView","pathname":"/resources/archived-past-semesters/sp24/lecture/uitableview","siteSpaceId":"sitesp_Tpa8z","emoji":"0034-20e3","description":"Spring 2024","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Lecture"}]},{"id":"b7fU8iAKgNMjCDjgA5D7","title":"UICollectionView","pathname":"/resources/archived-past-semesters/sp24/lecture/uicollectionview","siteSpaceId":"sitesp_Tpa8z","emoji":"0035-20e3","description":"Spring 2024","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Lecture"}]},{"id":"OY8GETeulIY1caUrBSJd","title":"Networking I","pathname":"/resources/archived-past-semesters/sp24/lecture/networking-i","siteSpaceId":"sitesp_Tpa8z","emoji":"0036-20e3","description":"Spring 2024","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Lecture"}]},{"id":"ABFJi1Y2KUKpkNLXOjjz","title":"Networking II","pathname":"/resources/archived-past-semesters/sp24/lecture/networking-ii","siteSpaceId":"sitesp_Tpa8z","emoji":"0037-20e3","description":"Spring 2024","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Lecture"}]},{"id":"PlaG8RoS1ClbjWKARGnA","title":"Persistence + SnapKit","pathname":"/resources/archived-past-semesters/sp24/lecture/persistence-+-snapkit","siteSpaceId":"sitesp_Tpa8z","emoji":"0038-20e3","description":"Spring 2024","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Lecture"}]},{"id":"TG6x5zQ0FANhOQ3HoBOA","title":"SwiftUI","pathname":"/resources/archived-past-semesters/sp24/lecture/swiftui","siteSpaceId":"sitesp_Tpa8z","emoji":"1f51f","description":"Spring 2024","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Lecture"}]},{"id":"WZWjHfK4bdU3KBw9vdPM","title":"TabViews","pathname":"/resources/archived-past-semesters/sp24/lecture/tabviews","siteSpaceId":"sitesp_Tpa8z","emoji":"1f522","description":"Spring 2024","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP24"},{"label":"Lecture"}]},{"id":"btBETbpevsdZ1dyo9zDi","title":"FA23","pathname":"/resources/archived-past-semesters/fa23","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"}]},{"id":"UiPxeyTMSCJhG3Th6TSr","title":"Logistics","pathname":"/resources/archived-past-semesters/fa23/logistics","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"}]},{"id":"3YzZ02tPzCezMZNpJoUa","title":"Getting Started","pathname":"/resources/archived-past-semesters/fa23/logistics/getting-started","siteSpaceId":"sitesp_Tpa8z","emoji":"1f423","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Logistics"}]},{"id":"w07HQmQ0yWYoeS2Mp7t2","title":"Course Staff","pathname":"/resources/archived-past-semesters/fa23/logistics/course-staff","siteSpaceId":"sitesp_Tpa8z","emoji":"1f426","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Logistics"}]},{"id":"uAoBIEr44pskXkPKFCyo","title":"Syllabus","pathname":"/resources/archived-past-semesters/fa23/logistics/syllabus","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4dc","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Logistics"}]},{"id":"xnbm2zcDHnPnlPxXbQZ8","title":"Schedule","pathname":"/resources/archived-past-semesters/fa23/logistics/schedule","siteSpaceId":"sitesp_Tpa8z","emoji":"1f5d3","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Logistics"}]},{"id":"mXOuKEFZekkdPsfxHgZm","title":"Grading","pathname":"/resources/archived-past-semesters/fa23/logistics/grading","siteSpaceId":"sitesp_Tpa8z","emoji":"1f58a","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Logistics"}]},{"id":"k0MQnfOuzKVyoHeib0V1","title":"Office Hours","pathname":"/resources/archived-past-semesters/fa23/logistics/office-hours","siteSpaceId":"sitesp_Tpa8z","emoji":"1f64b-2642","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Logistics"}]},{"id":"vv8jqg4yMq42R8Ih8IHq","title":"Assignments","pathname":"/resources/archived-past-semesters/fa23/assignments","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"}]},{"id":"VviErcN0uGj9HSYU98pA","title":"A1: Swift Basics","pathname":"/resources/archived-past-semesters/fa23/assignments/a1-swift-basics","siteSpaceId":"sitesp_Tpa8z","emoji":"1f37c","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Assignments"}]},{"id":"cnuAuz9c2h0PvLOtIgAR","title":"A2: Profile","pathname":"/resources/archived-past-semesters/fa23/assignments/a2-profile","siteSpaceId":"sitesp_Tpa8z","emoji":"1f9d1","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Assignments"}]},{"id":"5nGRDE7JvTdFvJjyBxtp","title":"A3: ChatDev","pathname":"/resources/archived-past-semesters/fa23/assignments/a3-chatdev","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4ac","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Assignments"}]},{"id":"VmqCEMksOv8MJCF54SVB","title":"A4: ChefOS","pathname":"/resources/archived-past-semesters/fa23/assignments/a4-chefos","siteSpaceId":"sitesp_Tpa8z","emoji":"1f468-1f373","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Assignments"}]},{"id":"JnwOmocAKsuDVvBxDN0X","title":"Hack Challenge","pathname":"/resources/archived-past-semesters/fa23/assignments/hack-challenge","siteSpaceId":"sitesp_Tpa8z","emoji":"1f4f1","description":"Original Author: Vin Bui","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Assignments"}]},{"id":"UGZUk2ld51fmYDB9BGJ3","title":"FA23 Winners","pathname":"/resources/archived-past-semesters/fa23/assignments/hack-challenge/fa23-winners","siteSpaceId":"sitesp_Tpa8z","emoji":"1f3c6","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Assignments"},{"label":"Hack Challenge","emoji":"1f4f1"}]},{"id":"X4BpPH9yjEyYkoG1jAY8","title":"Lectures","pathname":"/resources/archived-past-semesters/fa23/lectures","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"}]},{"id":"bV9XmmB0jQ0f3DFd1r8V","title":"Course Intro + Logistics","pathname":"/resources/archived-past-semesters/fa23/lectures/course-intro-+-logistics","siteSpaceId":"sitesp_Tpa8z","emoji":"0030-20e3","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Lectures"}]},{"id":"z3BHCd0RNCPaLA84nNVg","title":"Swift Basics","pathname":"/resources/archived-past-semesters/fa23/lectures/swift-basics","siteSpaceId":"sitesp_Tpa8z","emoji":"0031-20e3","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Lectures"}]},{"id":"sLm3dJf1d9wzooB9B96k","title":"UIKit + AutoLayout","pathname":"/resources/archived-past-semesters/fa23/lectures/uikit-+-autolayout","siteSpaceId":"sitesp_Tpa8z","emoji":"0032-20e3","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Lectures"}]},{"id":"OWmmrcgHfiBJleAIZWqb","title":"MVC + Navigation + Delegation","pathname":"/resources/archived-past-semesters/fa23/lectures/mvc-+-navigation-+-delegation","siteSpaceId":"sitesp_Tpa8z","emoji":"0033-20e3","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Lectures"}]},{"id":"w0XP3LVuc4p7c9DIYvV7","title":"UITableView","pathname":"/resources/archived-past-semesters/fa23/lectures/uitableview","siteSpaceId":"sitesp_Tpa8z","emoji":"0034-20e3","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Lectures"}]},{"id":"xxQdFhfKXFevBCnddsSm","title":"UICollectionView","pathname":"/resources/archived-past-semesters/fa23/lectures/uicollectionview","siteSpaceId":"sitesp_Tpa8z","emoji":"0035-20e3","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Lectures"}]},{"id":"68T7zIglyxtdfH0AqYBP","title":"Networking I","pathname":"/resources/archived-past-semesters/fa23/lectures/networking-i","siteSpaceId":"sitesp_Tpa8z","emoji":"0036-20e3","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Lectures"}]},{"id":"vdzSb4mblFZTpWWNN8U8","title":"Networking II","pathname":"/resources/archived-past-semesters/fa23/lectures/networking-ii","siteSpaceId":"sitesp_Tpa8z","emoji":"0037-20e3","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Lectures"}]},{"id":"nk3O4btVPAh5IheZl1Ap","title":"Persistence + SnapKit","pathname":"/resources/archived-past-semesters/fa23/lectures/persistence-+-snapkit","siteSpaceId":"sitesp_Tpa8z","emoji":"0038-20e3","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Lectures"}]},{"id":"Ki7l8JXO0hCZJXEYQfzz","title":"Widgets","pathname":"/resources/archived-past-semesters/fa23/lectures/widgets","siteSpaceId":"sitesp_Tpa8z","emoji":"1f39b","description":"Fall 2023 | Reade Plunkett","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Lectures"}]},{"id":"mCdrrAwD8GEtBWHQmQMG","title":"Introduction to Widgets","pathname":"/resources/archived-past-semesters/fa23/lectures/widgets/introduction-to-widgets","siteSpaceId":"sitesp_Tpa8z","emoji":"1f47c","description":"Original Author: Reade Plunkett","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Lectures"},{"label":"Widgets","emoji":"1f39b"}]},{"id":"ufx6uVRDmEBQBoiKIZ9O","title":"Setting Up Widgets","pathname":"/resources/archived-past-semesters/fa23/lectures/widgets/setting-up-widgets","siteSpaceId":"sitesp_Tpa8z","emoji":"2692","description":"Original Author: Reade Plunkett","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Lectures"},{"label":"Widgets","emoji":"1f39b"}]},{"id":"UFUxxWV3LwD82VPIwXqb","title":"Building Widgets","pathname":"/resources/archived-past-semesters/fa23/lectures/widgets/building-widgets","siteSpaceId":"sitesp_Tpa8z","emoji":"1f9f1","description":"Original Author: Reade Plunkett","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Lectures"},{"label":"Widgets","emoji":"1f39b"}]},{"id":"D9ga4kS0iLwSoqza6HdU","title":"Configuring Widgets","pathname":"/resources/archived-past-semesters/fa23/lectures/widgets/configuring-widgets","siteSpaceId":"sitesp_Tpa8z","emoji":"1f468-1f4bb","description":"Original Author: Reade Plunkett","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Lectures"},{"label":"Widgets","emoji":"1f39b"}]},{"id":"K0FShi7E0LwKE1KxiWjW","title":"SwiftUI","pathname":"/resources/archived-past-semesters/fa23/lectures/swiftui","siteSpaceId":"sitesp_Tpa8z","emoji":"1f51f","description":"Fall 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"FA23"},{"label":"Lectures"}]},{"id":"pu7qG2KrFVc5pVZuiKEm","title":"SP23","pathname":"/resources/archived-past-semesters/sp23","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"}]},{"id":"423UTl0DLFTJ1BhQ30gJ","title":"Logistics","pathname":"/resources/archived-past-semesters/sp23/logistics","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"}]},{"id":"Wn6OmKpy3MFaVuOIrNU2","title":"Lecture Schedule","pathname":"/resources/archived-past-semesters/sp23/logistics/lecture-schedule","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Logistics"}]},{"id":"-LzmMg6gtvKZSuds_rBm","title":"Syllabus","pathname":"/resources/archived-past-semesters/sp23/logistics/syllabus","siteSpaceId":"sitesp_Tpa8z","description":"Intro to iOS Development: Spring 2023","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Logistics"}]},{"id":"-Lzmc6hqLWbVWEdhYDfa","title":"Grading","pathname":"/resources/archived-past-semesters/sp23/logistics/grading-and-project-faqs","siteSpaceId":"sitesp_Tpa8z","description":"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!","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Logistics"}]},{"id":"-MUezkc7b7YTrwIew9zT","title":"SP23 Office Hours","pathname":"/resources/archived-past-semesters/sp23/logistics/fa22-office-hours","siteSpaceId":"sitesp_Tpa8z","description":"Office hours schedule can also be found on the course calendar. Cancellations will be announced on Ed, and reflected in the calendar.","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Logistics"}]},{"id":"Ov8WQUWaCMecIUwWBBk5","title":"Chapters","pathname":"/resources/archived-past-semesters/sp23/chapters","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"}]},{"id":"-LzmPuN_7nKspKPIxBjA","title":"1. Intro to Swift & Xcode","pathname":"/resources/archived-past-semesters/sp23/chapters/1.-intro-to-swift-and-xcode","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"}]},{"id":"-LzmaZ9ZmHoJd8BV7arX","title":"Lecture Handout","pathname":"/resources/archived-past-semesters/sp23/chapters/1.-intro-to-swift-and-xcode/lecture-handout","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"1. Intro to Swift & Xcode"}]},{"id":"-M-Icok6nJEQ_lzp3fOw","title":"Lecture Demo","pathname":"/resources/archived-past-semesters/sp23/chapters/1.-intro-to-swift-and-xcode/lecture-demo","siteSpaceId":"sitesp_Tpa8z","description":"Swift Basics","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"1. Intro to Swift & Xcode"}]},{"id":"6C7SnBHqdsH5nnuvPwGj","title":"Project: Swift Basics","pathname":"/resources/archived-past-semesters/sp23/chapters/1.-intro-to-swift-and-xcode/project-swift-basics","siteSpaceId":"sitesp_Tpa8z","emoji":"1f37c","description":"Due Date: Thursday March 2nd","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"1. Intro to Swift & Xcode"}]},{"id":"-LzmQ3re4lbhZ1KJng7y","title":"2. UIKit and AutoLayout","pathname":"/resources/archived-past-semesters/sp23/chapters/2.-uikit-and-autolayout","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"}]},{"id":"-LzmafPF20Vtac0txTny","title":"Lecture Handout","pathname":"/resources/archived-past-semesters/sp23/chapters/2.-uikit-and-autolayout/lecture-handout","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"2. UIKit and AutoLayout"}]},{"id":"-M-IcmWtYTpbegLjdsOH","title":"Lecture Demo","pathname":"/resources/archived-past-semesters/sp23/chapters/2.-uikit-and-autolayout/lecture-demo","siteSpaceId":"sitesp_Tpa8z","description":"UIKit and Autolayout","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"2. UIKit and AutoLayout"}]},{"id":"-Lzmb0fRIHFSxR3M9TcI","title":"Project: UIKit + AutoLayout","pathname":"/resources/archived-past-semesters/sp23/chapters/2.-uikit-and-autolayout/project-first-app","siteSpaceId":"sitesp_Tpa8z","emoji":"1f6d2","description":"Due Date: Tuesday March 7th","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"2. UIKit and AutoLayout"}]},{"id":"-LzmQ8fuoB-T9EUP1bIW","title":"3. Navigation, MVC, and Delegation","pathname":"/resources/archived-past-semesters/sp23/chapters/3.-navigation-mvc-and-delegation","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"}]},{"id":"-Lzmaisg7IW1wPUrXp9p","title":"Lecture Handout","pathname":"/resources/archived-past-semesters/sp23/chapters/3.-navigation-mvc-and-delegation/lecture-handout","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"3. Navigation, MVC, and Delegation"}]},{"id":"-M-IckklYAYydeOf7Bu_","title":"Lecture Demo","pathname":"/resources/archived-past-semesters/sp23/chapters/3.-navigation-mvc-and-delegation/lecture-demo","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"3. Navigation, MVC, and Delegation"}]},{"id":"-Lzmb1ctNSf6H1XzZIJA","title":"Project: Navigation + Delegation","pathname":"/resources/archived-past-semesters/sp23/chapters/3.-navigation-mvc-and-delegation/project-red-and-blue-arenas","siteSpaceId":"sitesp_Tpa8z","description":"Due Date: Monday, March 13th","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"3. Navigation, MVC, and Delegation"}]},{"id":"mMZHWoTRi8FPdAnLgTkE","title":"4. UITableView","pathname":"/resources/archived-past-semesters/sp23/chapters/4.-uitableview","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"}]},{"id":"-LzmajtoDqPqhtJ5GESN","title":"Lecture Handout","pathname":"/resources/archived-past-semesters/sp23/chapters/4.-uitableview/lecture-handout","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"4. UITableView"}]},{"id":"-M-IciZfUKvAPilXsk3-","title":"Lecture Demo","pathname":"/resources/archived-past-semesters/sp23/chapters/4.-uitableview/lecture-demo","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"4. UITableView"}]},{"id":"OmPc4R1xdW4w3uqlHqIL","title":"Project: UITableView","pathname":"/resources/archived-past-semesters/sp23/chapters/4.-uitableview/project-uitableview","siteSpaceId":"sitesp_Tpa8z","description":"Due Date: TBD","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"4. UITableView"}]},{"id":"hnThtPi49BMERTKuW8uJ","title":"5. UICollectionView","pathname":"/resources/archived-past-semesters/sp23/chapters/5.-uicollectionview","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"}]},{"id":"-Lzmal4EamF4M33NPShc","title":"Lecture Handout","pathname":"/resources/archived-past-semesters/sp23/chapters/5.-uicollectionview/lecture-handout","siteSpaceId":"sitesp_Tpa8z","description":"This lecture covers UICollectionViews -- a widely used UIKit component. You'll notice that UICollectionViews are very similar to UITableViews!","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"5. UICollectionView"}]},{"id":"-M-IcgZpIRsHKP9tJQFJ","title":"Lecture Demo","pathname":"/resources/archived-past-semesters/sp23/chapters/5.-uicollectionview/lecture-demo","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"5. UICollectionView"}]},{"id":"HS93SpRkI1eq6LzB3mAt","title":"Project: UICollectionView","pathname":"/resources/archived-past-semesters/sp23/chapters/5.-uicollectionview/project-uicollectionview","siteSpaceId":"sitesp_Tpa8z","description":"Due Date:Tuesday, March 28th","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"5. UICollectionView"}]},{"id":"-LzmQIV32XPkKv77L9Qw","title":"6. Networking I","pathname":"/resources/archived-past-semesters/sp23/chapters/6.-networking-i-and-cocoapods","siteSpaceId":"sitesp_Tpa8z","description":"URLs & Persistence","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"}]},{"id":"-Lzmamde-PjzPjjbEOrv","title":"Lecture Handout","pathname":"/resources/archived-past-semesters/sp23/chapters/6.-networking-i-and-cocoapods/lecture-handout","siteSpaceId":"sitesp_Tpa8z","description":"This lecture covers the first half of networking (making a request) and introduces Cocoapods.","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"6. Networking I"}]},{"id":"-M-IceMKlutYAKApyJln","title":"Lecture Demo","pathname":"/resources/archived-past-semesters/sp23/chapters/6.-networking-i-and-cocoapods/lecture-demo","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"6. Networking I"}]},{"id":"A7Y8nocIjKjDDP8BPRfV","title":"Project: Persistence","pathname":"/resources/archived-past-semesters/sp23/chapters/6.-networking-i-and-cocoapods/project-persistence","siteSpaceId":"sitesp_Tpa8z","description":"Due Date: Tuesday, April 11th","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"6. Networking I"}]},{"id":"-LzmQNnJtt-GE4tUjtBf","title":"7. Networking II","pathname":"/resources/archived-past-semesters/sp23/chapters/7.-networking-ii-and-codable","siteSpaceId":"sitesp_Tpa8z","description":"Alamofire","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"}]},{"id":"-Lzmanoqs4-LN8s7Eeu1","title":"Lecture Handout","pathname":"/resources/archived-past-semesters/sp23/chapters/7.-networking-ii-and-codable/lecture-handout","siteSpaceId":"sitesp_Tpa8z","description":"This lecture covers the second half of networking: decoding a response from the Internet.","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"7. Networking II"}]},{"id":"-M-Icb9c3p-ANwft1miI","title":"Lecture Demo","pathname":"/resources/archived-past-semesters/sp23/chapters/7.-networking-ii-and-codable/lecture-demo","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"7. Networking II"}]},{"id":"-Lzmb8dVUsSqolUDdY6z","title":"Message Board","pathname":"/resources/archived-past-semesters/sp23/chapters/7.-networking-ii-and-codable/lecture-demo/project-message-board","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"7. Networking II"},{"label":"Lecture Demo"}]},{"id":"cL8VpMC6M8grF5zcejG4","title":"Project: Networking II","pathname":"/resources/archived-past-semesters/sp23/chapters/7.-networking-ii-and-codable/project-networking-ii","siteSpaceId":"sitesp_Tpa8z","description":"Due Date: Friday, April 21th","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"7. Networking II"}]},{"id":"VOxV3LpGbpgqIrF5bAn1","title":"8. Swift UI","pathname":"/resources/archived-past-semesters/sp23/chapters/8.-swift-ui","siteSpaceId":"sitesp_Tpa8z","description":"Swift UI","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"}]},{"id":"QdANsJ06HltutIbgmvp6","title":"9. CocoaPods","pathname":"/resources/archived-past-semesters/sp23/chapters/9.-cocoapods","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"}]},{"id":"c2nxesTceAzsU2bO19R4","title":"Lecture Handout","pathname":"/resources/archived-past-semesters/sp23/chapters/9.-cocoapods/lecture-handout","siteSpaceId":"sitesp_Tpa8z","emoji":"1f36b","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"9. CocoaPods"}]},{"id":"Mwb3MQCTcxoyKdgQQSWB","title":"Lecture Demo","pathname":"/resources/archived-past-semesters/sp23/chapters/9.-cocoapods/lecture-demo","siteSpaceId":"sitesp_Tpa8z","emoji":"1f9d1-1f373","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Chapters"},{"label":"9. CocoaPods"}]},{"id":"O70kaIietfnMhhoYpOUf","title":"Cheat Sheets","pathname":"/resources/archived-past-semesters/sp23/cheat-sheets","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"}]},{"id":"-LzmbfZyX9I1WT0Z-L1N","title":"Setting Up a New Xcode Project","pathname":"/resources/archived-past-semesters/sp23/cheat-sheets/setting-up-a-new-xcode-project","siteSpaceId":"sitesp_Tpa8z","description":"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.","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Cheat Sheets"}]},{"id":"-LzmbknFdwy4DE8sxflg","title":"Submitting Your Projects","pathname":"/resources/archived-past-semesters/sp23/cheat-sheets/submitting-your-projects","siteSpaceId":"sitesp_Tpa8z","description":"The following are instructions on how to properly submitting your projects to CMS, which you'll be doing for your assignments.","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Cheat Sheets"}]},{"id":"-MPQ-6_frIU-fpP6A7Hc","title":"Setting Up CocoaPods","pathname":"/resources/archived-past-semesters/sp23/cheat-sheets/setting-up-cocoapods","siteSpaceId":"sitesp_Tpa8z","description":"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.","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"SP23"},{"label":"Cheat Sheets"}]},{"id":"8RhFSUyTjF5oSTaeOQC6","title":"2022","pathname":"/resources/archived-past-semesters/2022","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"}]},{"id":"iVJczPIF7CpCpqpwBIsE","title":"SwiftUI","pathname":"/resources/archived-past-semesters/2022/swiftui","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"2022"}]},{"id":"tKtZtJtYyHawuW7ce0Nh","title":"2021","pathname":"/resources/archived-past-semesters/2021","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"}]},{"id":"S8FqAnYVxCsv8f3ztQ3r","title":"Adding Flare","pathname":"/resources/archived-past-semesters/2021/adding-flare","siteSpaceId":"sitesp_Tpa8z","description":"","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"2021"}]},{"id":"O85cchJcyPQ5LiLuaiiD","title":"Project: UIView Animations (Optional - Extra Credit)","pathname":"/resources/archived-past-semesters/2021/project-uiview-animations-optional-extra-credit","siteSpaceId":"sitesp_Tpa8z","description":"Due Date: Apr 18, 2022 @ 11:59 PM","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"2021"}]},{"id":"qO7kjle85R7NqXJUrayX","title":"UIView Animations","pathname":"/resources/archived-past-semesters/2021/uiview-animations","siteSpaceId":"sitesp_Tpa8z","description":"Fall 2021 Additional Topic","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"2021"}]},{"id":"pQQaYTXxZ5m97CQnZZNI","title":"Xcode Tips and Tricks","pathname":"/resources/archived-past-semesters/2021/xcode-tips-and-tricks","siteSpaceId":"sitesp_Tpa8z","description":"Fall 2021 Additional Topic","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"2021"}]},{"id":"zfkjD6PUcBf8TKPK6Qm6","title":"2019","pathname":"/resources/archived-past-semesters/2019","siteSpaceId":"sitesp_Tpa8z","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"}]},{"id":"gcVtq3Qt7tGWDoQaaYcJ","title":"Firebase","pathname":"/resources/archived-past-semesters/2019/firebase","siteSpaceId":"sitesp_Tpa8z","description":"Spring 2019: Additional Topic","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"2019"}]},{"id":"2OGxZMgau8291bq1NHuN","title":"Persistence: UserDefaults","pathname":"/resources/archived-past-semesters/2019/persistance","siteSpaceId":"sitesp_Tpa8z","description":"Spring 2019 & Fall 2019 Additional Topic","breadcrumbs":[{"label":"Intro to iOS Development"},{"label":"Resources"},{"label":"Archived (past semesters)","icon":"box"},{"label":"2019"}]}]}