*This course will be conducted remotely and will be online only for Winter 2021*
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 iPod Touch, 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 the 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.
The course will focus on Apple’s most recent developer tools (Xcode), languages (Objective-C, Swift) and technologies (iOS11 SDK).
Students will complete a weekly programming assignments during the first six weeks of class. At that time, they will submit a proposal for their final project, an application of their own design. During the final four weeks, students will be expected to complete the work on their final projects. There will be no written exam for the course. The final exam class time will be used for students to conduct a formal presentation and live demonstration of their final projects to the class.
Throughout the quarter, each student will also be required to present a case study of application currently in Apple’s App Store. Presentation assignments will be scheduled during Week 2.
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.
This course requires access to an Intel-based Apple Macintosh computer running Mac OS X High Sierra (10.12). Access to an iOS device (iPod touch, iPhone, or iPad) is recommended for developing and testing applications.