MPCS 51039 Mobile Software Development (Spring 2023)

Section 1
Instructor(s) Troy, Chelsea (ctroy)
Location Online
Meeting Times Tuesday 5:30pm - 8:30pm
Fulfills Elective


This course examines software engineering skills through the lens of mobile development. Students will leave with more confidence in their ability to debug, decipher complex software systems, test their code, navigate documentation, leverage version control, and learn new programming languages. We'll exercise these skills with both the Android and the iOS framework, but the goal isn't to become fluent in a mobile stack; the goal is to practice the skills. The course also capitalizes on the unique history of mobile handsets and tablets to talk about about accessibility, data privacy, sourcing ethics, and to what degree it is our responsibility as engineers to understand and prioritize these things.

Students should either have a laptop that runs a Mac OS or have access to a Mac. This class will be using XCode (which comes on the Mac) and Android Studio (downloaded from

Course Prerequisites

Core Programming

Other Prerequisites

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:

Overlapping Classes

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

  • MPCS 55001-1 -- Algorithms
  • MPCS 52040-1 -- Distributed Systems
  • MPCS 51235-1 -- Advanced User Interface and User Experience Design

Eligible Programs

Masters Program in Computer Science MS in Computational Analysis in Public Policy (Year 2) MS in Molecular Engineering 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)