Mobile Software Development

Title Mobile Software Development (51039)
Quarter Spring 2020
Instructor Chelsea Troy (

Syllabus What does it mean to be a software engineer?

A software engineer can design a system to address a need. They can identify risks in the system and take steps to prevent problems. They test the system, from the top level goals to the technical details. They leverage version control to document how a system has changed. They observe the big picture of how their software works, and they can track down insidious bugs. They can use these skills on any programming language or stack because they understand what different technologies share, and how they differ.

This course will help you build precisely those skills, taught by a practicing software engineer. You will build a small app in both Android and iOS as you learn to test, refactor, and document your work. The goal isn't to become fluent in a mobile stack; the goal is to practice engineering skills. You will walk away with the ability to learn and implement additional features we didn't cover in class, with a solid understanding of the systems that make them work.

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
Prerequisites (Courses)

Core Programming

Prerequisites (Other)




Tuesday 5:30-8:30PM


Ryerson 277