The Course Preparation This introductory day prepares you for the course, explains core concepts, and helps you avoid the most common mistakes faced by other learners.
Day 0 – tips and advice before you start.
Days 1-14: Introduction to Swift The first 14 days provide a gentle warm up for your SwiftUI learning as we cover the fundamentals of the Swift programming language. You’ll work through a selection of tutorials every day, and there is some optional extra reading afterwards if you’d like to dig deeper.
Regardless of whether or not you go over the optional extra reading, you’ll find lots of short short tests – I recommend you take them to really solidify what you’ve learned.
Day 1 – variables, constants, strings, and numbers Day 2 – Booleans, string interpolation, and checkpoint 1 Day 3 – Arrays, dictionaries, sets, and enums Day 4 – type annotations and checkpoint 2 Day 5 – if, switch, and the ternary operator Day 6 – loops, summary, and checkpoint 3 Day 7 – functions, parameters, and return values Day 8 – default values, throwing functions, and checkpoint 4 Day 9 – closures, passing functions into functions, and checkpoint 5 Day 10 – structs, computed properties, and property observers Day 11 – access control, static properties and methods, and checkpoint 6 Day 12 – classes, inheritance, and checkpoint 7 Day 13 – protocols, extensions, and checkpoint 8 Day 14 – optionals, nil coalescing, and checkpoint 9
Day 15: Consolidation I You just learned a lot about Swift in only 14 days, so before we continue it's important you reflect on what you've learned.
Day 15 – Swift review
Days 16-24: Starting SwiftUI Now that you’ve mastered the basics of Swift, in these days you’ll start building real SwiftUI apps using what you learned.
Day 16 – Project 1, part one Day 17 – Project 1, part two Day 18 – Project 1, part three Day 19 – Challenge day Day 20 – Project 2, part one Day 21 – Project 2, part two Day 22 – Project 2, part three Day 23 – Project 3, part one Day 24 – Project 3, part two
Day 25: Consolidation II In the last few days we covered some of the fundamentals of iOS development, and before we move on to the next set of projects it’s important to take a step back and review what you’ve learned.
Day 25 – Milestone: Projects 1-3
Days 26-34: Expanding your skills In these next three projects we’re going to develop your SwiftUI skills in new directions, while also giving you chance to practice the fundamentals.
Day 26 – Project 4, part one Day 27 – Project 4, part two Day 28 – Project 4, part three Day 29 – Project 5, part one Day 30 – Project 5, part two Day 31 – Project 5, part three Day 32 – Project 6, part one Day 33 – Project 6, part two Day 34 – Project 6, part three
Day 35: Consolidation III Now that your SwiftUI skills are starting to solidify, it’s time to review all the new things we’ve covered and get busy with another project all of your own.
Day 35 – Milestone: Projects 4-6
Days 36-46: Scaling up to bigger apps Your core SwiftUI skills are strong, so it’s time to push past the basics and start building bigger apps.
Day 36 – Project 7, part one Day 37 – Project 7, part two Day 38 – Project 7, part three Day 39 – Project 8, part one Day 40 – Project 8, part two Day 41 – Project 8, part three Day 42 – Project 8, part four Day 43 – Project 9, part one Day 44 – Project 9, part two Day 45 – Project 9, part three Day 46 – Project 9, part four
Days 47-48: Consolidation IV You’ve tackled some heavyweight skills now, so before we move on it’s time to review what has been covered, go into detail on a handful of topics, and face a fresh challenge.
Day 47 – Milestone: Projects 7-9 Day 48 – Expanding your horizons
Days 49-59: Focus on data In these projects we’re going to start looking more carefully at how we can send, retrieve, and store data in our SwiftUI apps.
Day 49 – Project 10, part one Day 50 – Project 10, part two Day 51 – Project 10, part three Day 52 – Project 10, part four Day 53 – Project 11, part one Day 54 – Project 11, part two Day 55 – Project 11, part three Day 56 – Project 11, part four Day 57 – Project 12, part one Day 58 – Project 12, part two Day 59 – Project 12, part three
Days 60-61: Consolidation V You’ve learned about data, data, and some more data, so it’s time to pause and reflect on what was covered before tackling another new challenge.
Day 60 – Milestone: Projects 10-12 Day 61 – Time for Core Data
Days 62-76: Views and view controllers In these projects the difficulty starts to ramp up as we look at how you integrate code from frameworks outside of SwiftUI, including UIKit and MapKit.
Day 62 – Project 13, part one Day 63 – Project 13, part two Day 64 – Project 13, part three 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 Day 71 – Project 14, part four Day 72 – Project 14, part five Day 73 – Project 14, part six Day 74 – Project 15, part one Day 75 – Project 15, part two Day 76 – Project 15, part three
Days 77-78: Consolidation VI You’ve had a difficult couple of projects as we tackled various parts of UIKit and SwiftUI integration, so let’s pause and review what was learned.
Day 77 – Milestone: Projects 13-15 Day 78 – Time for MapKit
Days 79-94: Controlling UI flow In these projects we build our biggest apps yet, while also exploring more ways to let the user interact with our apps: tab bars, gestures, haptics, and more.
Day 79 – Project 16, part one Day 80 – Project 16, part two Day 81 – Project 16, part three Day 82 – Project 16, part four Day 83 – Project 16, part five Day 84 – Project 16, part six Day 85 – Project 16, part seven Day 86 – Project 17, part one Day 87 – Project 17, part two Day 88 – Project 17, part three Day 89 – Project 17, part four Day 90 – Project 17, part five Day 91 – Project 17, part six Day 92 – Project 18, part one Day 93 – Project 18, part two Day 94 – Project 18, part three
Days 95: Consolidation VII As we approach the end of our 100 days it’s time to pause and reflect on the massive projects we’ve built, then take on a fresh app building challenge.
Day 95 – Milestone: Projects 16-18
Days 96-99: One last project In this final project we cover some last tips and techniques to help you build great apps, including how to optimize for iPad.
Day 96 – Project 19, part one Day 97 – Project 19, part two Day 98 – Project 19, part three Day 99 – Project 19, part four
Wrap up It’s time to see how much you remember from across the entire curriculum. Are you ready for this?
Day 100 – Final exam
Epilogue – What now?