This project-oriented course will investigate application development on iOS platforms. First, we will cover the main language for iOS, Swift, a new language to which Apple is transitioning for both iOS and OS X development, along with tools such as Xcode, Interface Builder, 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, 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 iTunes 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, 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.
605.201 Introduction to Programming Using Java or equivalent Java or Objective C experience.
Access to a Mac running at least OS X 10.12 is required for this class. Development tools can be downloaded for free from the Mac App Store. Additional hardware (iPhones, iPods, iPads) is not necessary, but if you plan on fully deploying your app then testing on additional hardware is highly recommended. *THIS REQUIREMENT IS SUBJECT TO CHANGE*