Course Number
Primary Program
Course Format
Asynchronous Online

This project-oriented course will investigate application development on iOS platforms. First, we will cover the main language for iOS, Swift, Apple’s in-house, open sourced language for iOS, macOS and watchOS development, along with tools such as Xcode, Instruments, and Swift Playgrounds. Second, we will discuss the aspects of creating an application: the application life cycle, user experience and data presentation, user interface elements (including how to use the SwiftUI framework), and application performance. Then, we will discuss the application frameworks that the iOS SDK provides: CoreData, SpriteKit, MapKit, and Notifications, to name just a few. Finally, we will prepare your app for deployment, considering localization and internationalization, accessibility, and App Store Connect. By the end of the class, students will be able to use Xcode, implement the Model-View-Controller paradigm, use Protocols and Delegates, construct a user interface that operates on many different devices, store and retrieve data on the network, interact with the OS or other applications, distinguish between the various iOS frameworks, and explain the App publication process. Course prerequisite(s): EN.605.201 Introduction to Programming Using Java or equivalent Java or Objective C experience. Course note(s): Access to a Mac running the current version of macOS *IS REQUIRED* for this class. Development tools can be downloaded for free from the Mac App Store. Additional hardware (iPhones, iPods, iPads) is strongly suggested, as several class examples and some projects will work best (or only work) on devices. *THIS REQUIREMENT IS SUBJECT TO CHANGE*

Course Offerings

There are no sections currently offered, however you can view a sample syllabus from a prior section of this course.