About This Course

Course Description

Advances in mobile technologies are changing the way that individuals and businesses use computing devices. This course will instruct students on the fundamentals of mobile application development using Apple’s iOS SDK. An introduction to the Swift programming language, including object-oriented design and the model-view-controller pattern, will be covered. Using iOS APIs and tools, such as Xcode, Interface Builder and Instruments, students will be able to create fully-featured iPhone and iPad applications. Opportunities to create applications using watchOS or tvOS are possible for the final project. User interface and application design considerations specific to mobile technologies will also be explored.

The course will consist of lectures, hands-on coding exercises and discussion. Weekly programming assignments will culminate into the development of a fully functioning iOS application. As a final project, each student will design and implement an application of their choice to be presented in class.

Each student will also be required to present a case study featuring an app from Apple’s App Store. The studies will include a technical decomposition of the implementation (i.e. features, functionality, design, etc.) and a market analysis (i.e. competition, pricing, positioning, etc.) for the app. These case studies are designed to encourage students to gain an appreciation for the decisions companies and developers face when entering the app market.

Objectives

This course will teach the fundamentals necessary to design and build an iOS application and submit it to Apple’s App Store. By the end of the course, all students will be able to critically analyze apps and recognize important factors that go into building a successful application.

Prerequisites

Knowledge of at least one programming language (e.g. C/C++, C#, Java, or Swift) and familiarity with object-oriented design or consent of the instructor. Students should sign up of a free Apple Developer account after the first class.

This course requires access to a Mac running macOS Mojave (10.14) or higher. Access to an iOS device (iPhone or iPad) is recommended for developing and testing applications, but not required.