Several institutions oer courses in mobile application de-
velopment [16] . These courses focus on mobile application
APIs, and do not teach OS concepts. They oer no insight
into the lower-level software infrastructure of mobile plat-
forms on which applications run. In contrast, our method
of using Android to teach OS provides students with a real
understanding of how things work under the covers as em-
bodied by the unique OS environment created by the Linux
kernel running on a mobile device.