Stanford University (cs193p): Developing iOS 11 Apps with Swift 4
This repo keeps track of my progress on Stanford's cs193p course (end-2017).
For each lecture/project on this course, a git tag will be created:
- "Lecture tags" contain the exact code (plus comments) seen on the lecture.
- "Project tags" (homework) contain my solutions to the required tasks.
This course is free and available in iTunes. You'll find the videos/lectures, slides and programminig assignments here:
- Official link: iTunes material
Lecture 1: Introduction to iOS 11, Xcode 9 and Swift 4
- Lecture 1 Slides.
- Reading assignment 1.
- Exact code not available. See tag: lecture-2.MVC containing lectures 1 and 2.
Lecture 2: MVC
- Lecture 2 Slides.
- Exact code in tag: lecture-2.MVC.
Programming Project 1: Concentration
- PDF: Programming Project 1: Concentration.
- Code for this assignment in tag: project-1.Concentration.
Lecture 3: Swift Programming Language
- Lecture 3 Slides.
- Small code changes from lecture 3 added to tag: lecture-3.Swift-Programming-Language.
Lecture 4: More Swift
- Lecture 4 Slides.
- Small code changes from lecture 4 added to tag: lecture-4.More-Swift.
Lecture 5: Drawing
- Lecture 5 Slides.
- Code from lecture 5 (PlayingCard) in tag: lecture-5.Drawing.
Lecture 6: Multitouch
- Lecture 6 Slides.
- Code from lecture 6 (PlayingCard) in tag: lecture-6.Multitouch.
Programming Project 2: Set
- PDF: Programming Project 2: Set.
- Code for this assignment in tag: project-2.Set.
Lecture 7: Multiple MVCs, Timer and Animation
- Lecture 7 Slides.
- Code from lecture 7 (Concentration) in tag: lecture-7.Multiple-MVCs.
Programming Project 3: Graphical Set
- PDF: Programming Project 3: Graphical Set.
- Code for this assignment in tag: project-3.Graphical-Set.
Lecture 8: Animation
- Lecture 8 Slides.
- Code from lecture 8 (PlayingCard with animation) in tag: lecture-8.Animation.
Programming Project 4: Animated Set
- Code for assignment 4 will be available before lecture 11. (Delayed.)
Lecture 9: View Controller Lifecycle and Scroll View
- Lecture 9 Slides.
- Code from lecture 9 (View Controller Lifecycle and Scroll View) in tag: lecture-9.View-Controller-Lifecycle.
Lecture 10: Multithreading and Autolayout
- Lecture 10 Slides.
- Code from lecture 10 (Multithreading and Autolayout) in tag: lecture-10.Multithreading-and-Autolayout.
Lecture 11: Drag and Drop, Table View and Collection View
- Lecture 11 Slides.
- Code from lecture 11 (Drag and Drop, Table View and Collection View) in tag: lecture-11.Drag-and-Drop-Table-View.
Lecture 12: Drag and Drop, Table View, Collection View, and Text Field
- Lecture 12 Slides.
- Code from lecture 12 (Drag and Drop, Table View, Collection View, and Text Field) in tag: lecture-12.Drag-and-Drop-Table-View.
Programming Project 5: Image Gallery
- PDF: Programming Project 5: Image Gallery.
- Code for this assignment in tag: project-5.Image-Gallery.
Lecture 13. Persistence and Documents
- Lecture 13 Slides.
- Code from lecture 13 (Finishing up with lecture 12) in tag: lecture-13.Persistence-and-Documents.
Lecture 14. Persistence and Documents Demo
- Lecture 14 Slides.
- Code from lecture 14 (Persistent EmojiArt) in EmojiArtL14: lecture-14.Persistence-and-Documents-Demo.
Programming Project 6: Persistent Image Gallery
- PDF: Programming Project 6: Persistent Image Gallery.
- Code for this assignment in folder: ImageGallery_P6.
Lecture 15: Alerts, Notifications, Application Lifecycle
- Lecture 15 Slides.
- Code from lecture 15 (Alerts, Notifications, Application Lifecycle) added to EmojiArtL14 in tag: lecture-15.Alerts-Notifications-Application-Lifecycle.