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 Objective-C programming language, including memory management, 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 iPod Touch, iPhone, and iPad applications. 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 the 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.

Course 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 Objective-C) and familiarity with object oriented design or consent of the instructor. Students should sign up of a free Apple Developer account before the first class.

Hardware Requirements

This course requires access to an Intel-based Apple Macintosh computer running Mac OS X Snow Leopard (10.6) or Lion (10.7). Access to an iOS device (iPod touch, iPhone, or iPad) is recommended for developing and testing applications.