One of the hardest parts of iOS development is state management and app architecture. CS193p utilizes the architectural pattern as its backbone. By following the full course, you learn how to cleanly separate your data, your business logic, and your UI, leading to clean, maintainable, and testable code. 3. Rigorous Homework Assignments
You will learn more in two hours of struggling with an assignment than in ten hours of watching lectures. Do not skip the assignments. If you get stuck, look for public GitHub repositories of other students who have completed the course to see how they approached the logic (but try to solve it yourself first!). Read the Swift Documentation
Creating smooth, implicit, and explicit animations that make apps feel premium.
Completely overhauled to focus on SwiftUI , Apple’s modern, declarative framework for building user interfaces. Why the "Full" CS193p Experience is Unmatched
While CS193p is an introductory course to iOS , it is an introductory course to programming .
Taking this course outside of a university setting requires discipline. Because it is a real university course, it moves fast. Follow these tips to get the absolute most out of your self-study journey: Don't Just Watch—Code Along
It is highly tempting to put the lectures on 1.5x speed and just watch Paul Hegarty code. Resist this urge. Open Xcode on your Mac and type out the code with him. Pause the video when you don't understand an error, read the error message, and fix it. Do Every Single Assignment
Watching lectures is easy; writing code is hard. The true value of the full CS193p course lies in its assignments. They are notoriously challenging but incredibly rewarding. You will build complex games, emoji-art creators, and data-driven apps that force you to read documentation and solve problems independently. Core Topics Covered in the Full Course
