MPCS 51032 Advanced iOS (Autumn 2022)

Section 1
Instructor(s) Binkowski, Thomas (abinkowski)
Location Online
Meeting Times Wednesday 10am - 11:30am
Fulfills Specialization - Application Development (APP-2) Elective

Syllabus

Course Description

Advances in mobile technologies are changing the way that individuals and businesses use computing devices. This course will explore real-world issues with developing robust, high-performance iOS applications for iPhone, iPod Touch, iPad, Watch and TV. The course will consist of lectures, hands-on coding exercises and discussion. Weekly programming assignments will be used to create a portfolio of applications using advanced iOS frameworks.

Throughout the course, students will design and develop an application as a final project. Students may opt to work in collaboration with local companies or emerging start-ups for their project. These opportunities will be discussed during the first week of class and may vary by quarter.

 

Course Contents

This course will explore real-world issues with developing robust, high-performance iOS applications for iPhone, iPod Touch, iPad, Watch and TV.  Advanced topics in iOS development such as accessibility, performance, debugging, localization, and image processing will be addressed.   iOS's game development framework, SpriteKit, watchOS, and tvOS will also be explored in assignments.  The course will use Swift for all assignments, although topics in Objective-C will be discussed.

 

Coursework

Students will complete weekly programming assignments during the first 7 weeks of class.  At that time, they will submit a proposal for their final project, an application of their own design.  Students may opt to work in collaboration with local companies or emerging start-ups for their project.  During the final 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.

Each student will also be required to present a case study featuring a open source iOS framework or library. The studies will describe and review their utility and implementation details of the source code. These case studies are designed to broaden students exposure to best practices in iOS development.

 

Course Textbook

None required.

 

Requirements

This course requires access to an Intel-based Apple Macintosh computer capable of running Xcode 7 (Mac OS X Mavericks or later).  Access to an iOS device (iPod touch, iPhone, or iPad) is recommended for developing and testing applications.

Course Prerequisites

MPCS 51030 iOS Application Development.

Other Prerequisites

This course requires competency in Unix and Linux. Please plan to attend the MPCS Unix Bootcamp (https://masters.cs.uchicago.edu/page/mpcs-unix-bootcamp) or review the UChicago CS Student Resource Guide here: https://uchicago-cs.github.io/student-resource-guide/.

Overlapping Classes

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

  • MPCS 50101-2 -- Concepts of Programming
  • MPCS 51042-2 -- 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)