MPCS 51030 iOS Application Development (Winter 2022)

Section 1
Instructor(s) Binkowski, Thomas (abinkowski)
Location Online Only
Meeting Times Tuesday 5:30pm - 7pm
Fulfills Elective Specialization - Application Development (APP-1)


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 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.

Course Contents
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.

Course Textbook
None required.

Course Prerequisites

Core Programming

Other Prerequisites

Knowledge of at least one programming language (e.g. Python, 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 M series or Intel-based Apple Macintosh computer running the latest version of Mac OS X. Access to an iOS device (iPod touch, iPhone, or iPad) is recommended for developing and testing applications.

This course requires competency in Unix and Linux. Please plan to attend the MPCS Unix Bootcamp ( or take the online MPCS Unix Bootcamp Course on Canvas.

Overlapping Classes

This class is scheduled at a time that conflicts with these other classes:

  • MPCS 55001-1 -- Algorithms
  • MPCS 51042-1 -- Python Programming

Eligible Programs

Masters Program in Computer Science MS in Computational Analysis in Public Policy (Year 2) MA in Computational Social Science (Year 2) Bx/MS in Computer Science (Option 1: Research-Oriented) Bx/MS in Computer Science (Option 2: Professionally-oriented - CS Majors) Bx/MS in Computer Science (Option 3: Profesionally-oriented - Non-CS Majors)