| Section | 1 |
|---|---|
| Instructor(s) | Binkowski, Thomas (abinkowski) |
| Location | Crerar 011 |
| Meeting Times | Tuesday 2pm - 4:50pm |
| Fulfills | Specialization - Application Development (APP-2) Elective |
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, iPad, Watch, and TV. The latest developer tools and technologies for developing on Apple's platforms, including Apple Intelligence, will be used. 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. 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 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. 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 Apple Silicon based Macintosh computer capable of running Xcode 26. Student will be required to have an active paid Apple Developer account to allow them to fully take advantage of developing for Apple's platforms. Access to an iOS device (iPod touch, iPhone, or iPad) is recommended for developing and testing applications.
MPCS 51030 iOS Application Development
This course requires competency in Unix and Linux. If you attended the MPCS Unix Bootcamp you covered the required material. If you did not, please review the UChicago CS Student Resource Guide here: https://uchicago-cs.github.io/student-resource-guide/.
Course request information for non-MPCS students: https://masters.cs.uchicago.edu/student-resources/non-mpcs-student-course-requests/
This class is scheduled at a time that conflicts with these other classes: