- 100 Days of SwiftUI – underway (day 47/100)
- Unwrap – underway (5/10)
- CS193p – underway (lecture 4/18)
- git/Github – underway
- App submitted for App Store
- App on App Store
- Missing Semester lectures
- Playgrounds Learn to Code
Unit testing– 3/10/22Linting– 4/10/22- Design course
100 Days of SwiftUI
This is the Paul Hudson online course “100 Days of Swift UI” that starts with 15 days of Swift basics then moves into SwiftUI through a series of projects
- Day 1 –
variables, constants, strings, and numbers –5/7 - Day 2 –
Booleans, string interpolation, and checkpoint 1– 5/7 - Day 3 –
Arrays, dictionaries, sets, and enums– 5/7 - Day 4 –
type annotations and checkpoint 2– 5/7 - Day 5 –
if, switch, and the ternary operator– 6/7 - Day 6 –
loops, summary, and checkpoint 3– 7/7 - Day 7 –
functions, parameters, and return values– 8/7 - Day 8 –
default values, throwing functions, and checkpoint 4– 9/7/22 - Day 9 –
closures, passing functions into functions, and checkpoint 5– 12/7/22 - Day 10 –
structs, computed properties, and property observers– 16/7/22 - Day 11 –
access control, static properties/methods, and checkpoint 6– 17/7/22 - Day 12 –
classes, inheritance, and checkpoint 7– 8/8/22 - Day 13 –
protocols, extensions, and checkpoint 8– 13/8/22 - Day 14 –
optionals, nil coalescing, and checkpoint 9– 13/8/22 - Day 15 –
Swift review– 20/8/22 - Day 16 –
Project 1 (Form, NavigationView, @State), part one-21/8/22 - Day 17 –
Project 1, part two– 21/8/22 - Day 18 –
Project 1, part three– 21/8/22 - Day 19 –
Challenge day– 22/8/22 - Day 20 –
Project 2 (VStack, Image, LinearGradient), part one– 22/8/22 - Day 21 –
Project 2, part two– 23/8/22 - Day 22 –
Project 2, part three– 23/8/22 - Day 23 –
Project 3 (custom view modifiers and custom containers), part one - Day 24 –
Project 3, part two– 2/9/22 - Day 25 –
Milestone: Projects 1-3 - Day 26 –
Project 4 (Stepper, DatePicker, DateFormatter), part one– 13/9/22 - Day 27 –
Project 4, part two– 13/9/22 - Day 28 –
Project 4, part three– 13/9/22 - Day 29 –
Project 5 (List, Bundle, UITextChecker), part one– 14/9/22 - Day 30 –
Project 5, part two– 14/9/22 source - Day 31 –
Project 5, part three– 17/9/22 source - Day 32 –
Project 6 (implicit, explicit, & binding animations), part one-18/9/22 - Day 33 –
Project 6, part two– 18/9/22 - Day 34 –
Project 6, part three– 18/9/22 source - Day 35 –
Milestone: Projects 4-6– 27/9/22 source - Day 36 –
Project 7 (@StateObject, sheet(), onDelete()), part one– 28/9/22 - Day 37 –
Project 7, part two– 28/9/22 - Day 38 –
Project 7, part three– 29/9/22 - Day 39 –
Project 8 (GeometryReader, ScrollView), part one– 8/10/22 - Day 40 –
Project 8, part two– 8/10/22 - Day 41 –
Project 8, part three– 9/10/22 - Day 42 –
Project 8, part four– 9.10/22 - Day 43 –
Project 9 (drawing and custom paths), part one– 14/10/22 - Day 44 –
Project 9, part two– 15/10/22 - Day 45 –
Project 9, part three– 15/10/22 - Day 46 –
Project 9, part four– 16/10/22 - Day 47 –
Milestone: Projects 7-924/10/22 - Day 48 – Expanding your horizons – um, I might have skipped it
- Day 49 –
Project 10, part one (codable, URLSession)– 26/10/22 - Day 50 –
Project 10, part two– 27/10/22 - Day 51 –
Project 10, part three– 28/10/22 - Day 52 –
Project 10, part four– 29/10/22 - Day 53 –
Bookworm, part one (@Binding, type erasure, Core Data)– 30/10/22 - Day 54 –
Project 11, part two– 2/11/22 - Day 55 –
Project 11, part three– 4/11/22 - Day 56 –
Project 11, part four– 4/11/22 - Day 57 –
Project 12, part one (CoreData – \.self, NSManagedObject subclasses, conditional saving, constraints)– 5/11/21 - Day 58 –
Project 12, part two (filtering, mergepolicy, 1:many CoreData)– 6/11/22 - Day 59 –
Project 12, part three– 14/11/22 - Day 60 –
Milestone: Projects 10-12– 18/11/22 - Day 61 –
Time for Core Data– 22/11/22 - Day 62 –
(property wrappers, onChange, confirmationDialog)– 28/11/22 - Day 63 –
Core Image, Wrapping UIViewController– 29/11/22 - Day 64 –
Using coordinators, saving images to photos– 3/12/22 - Day 65 – Project 13, part four
- Day 66 – Project 13, part five
- Day 67 – Project 13, part six
- Day 68 – Project 14, part one
- Day 69 – Project 14, part two
- Day 70 – Project 14, part three
Unwrap
Unwrap is the Paul Hudson app. It covers all the Swift basics in a read and drill style – perfect to fill up those little gaps of time in your day that might otherwise be spent flicking through social media.
Simple TypesComplex Types– 25/7/22Operators and conditions– 28/7/22LoopingFunctions– 21/8/22- Closures
- Structs
- Classes
- Protocols
- Optionals
CS193p
Stanford’s CS193p course, Developing Applications for iOS, explains the fundamentals of how to build applications for iPhone and iPad using SwiftUI. Most recently offered in Spring quarter 2021, the lectures were given to Stanford students in an on-line format due to the novel coronavirus pandemic and are now available to all via Stanford’s YouTube channel.
This seems like an excellent course presented by Paul Hegarty
1 – Getting Started with SwiftUI2 – Learning More about SwiftUI– 17/7- Reading “The Swift Programming Language” – underway
Reading “Swift API Guidelines”– 24/7Programing assignment 1 – Memorize– 24/7
- 3 –
MVVM– 30/7 - 4 –
More MVVM enum Optionals– 30/7- Reading assignment 2 – more SPL
- Programing assignment 2 – More Memorize
- 5 – Properties Layout @ViewBuilder
- 6 – Protocols Shapes
- Reading assignment 3 – finish SPL, Apple Human Interface Guidlines
- Programing assignment 3 – Solo card game
- 7 – ViewModifier Animation
- 8 – Animation Demo
- Programing assignment 4 – Solo Set with animation
- 9 – EmojiArt Drag/Drop
- 10 – Gestures
- Programing assignment 5 – Multi-touch Emoji art
- 11 – Persistence Error Handling
- 12 – Binding Sheet Navigation EditMode
- Programing assignment 6 – Memorize themes
- 13 – Publisher More Persistence
- 14 – Document Architecture
- 15 – UIKit Integration
- 16 – Multiplatform (macOS)
- 2020 Enroute Part 1 – Enroute Picker Codable REST API
- 2020 Enroute Part 2 – Core Data
git/Github
SetupUse from command line– 31/7/22Use on iPad (Working Copy)– 19/7/22- Use on iPad (Working Copy) fluently
Use in XCode (commit/add)– 28/7/22Use in XCode (push)– 28/9/22- Investigate gui’s
- Pull request on open source project
Missing Semester
Course overview + the shell– 1/8/22Shell Tools and Scripting– 2/8/22Editors (Vim)– 4/8/22Data Wrangling– 7/8/22Command-line Environment– 14/8/22Version Control (Git)– 31/7/22- Debugging and Profiling
- Metaprogramming
- Security and Cryptography
- Potpourri
- Q&A
Playgrounds Learn to Code
Learn to Code 1CommandsFunctionsFor LoopsConditional CodeLogical OperatorsWhile LoopsAlgorithms
- Learn to Code 2
Variables13/8/22- Types
- Initialization
- Parameters
- World Building
- Arrays
- Get Started with Apps