<aside> <img src="/icons/warning_gray.svg" alt="/icons/warning_gray.svg" width="40px" />

Disclaimer

This is a special pilot offering of COMP 433 focusing on iOS development. The instructor reserves the right to make changes to the syllabus and course format. Any changes will be announced as early as possible and will be made with the intention to improve the course for students and their learning outcomes.

Change Log

Bulletin Description


Introduces students to the fundamentals of building iOS applications. Begins with an introduction to Swift, SwiftUI, and Xcode, the tools used to write such applications, and discusses best practices and unique opportunities in app development. At the end of the course, students should be able to build impressive, moderate-scale iOS applications and think critically about the software they use on their mobile devices daily.

Because Xcode, the IDE used to build native iOS apps, only runs on macOS, students must have reliable access to a Mac laptop capable of running macOS Sequoia in order to take this course.

Course Details


Course: COMP 433

Instructor: Sam Shi

Teaching Assistants

Office Hours

See the course website for information about office hours.

Course Description


Smartphones have become ubiquitous in our daily lives. We use them to connect with our friends and family, manage our finances, order ahead at our favorite coffee shops, track health and fitness data, manage our to do lists and schedules, and much more. Additionally, mobile applications have access to unique capabilities and operating system integrations, creating opportunities that are not possible on other software platforms.

This course teaches you how to build high-quality software for the most popular mobile device platform in the United States: iOS. We will begin with an in-depth introduction to the foundational tools used to build iOS apps: Xcode (IDE), Swift (programming language), and SwiftUI (UI framework). Additionally, we will discuss best-practices that ensure our apps are high-quality, accessible, and scalable.

By taking this class, you will also gain new perspectives and experiences that are beneficial outside the realm of iOS app development: project architecture, UI development with a declarative framework, system design, etc.

Prerequisites

C or better in COMP 210, COMP 211, and COMP 301.