Mobile devices are ubiquitous: they encompass portable audio and video players, digital cameras, tablet PCs and PDAs, as well as cell phones and smart phones. A Sept. 2006 Cellular News story (http://www.cellular-news.com/story/19223.php) estimated that there are more than 2.5 billion mobile phones worldwide. Although the mobile systems market is large and the career opportunities for students are excellent, relatively few universities offer mobile computing courses, much less teach mobile systems programming. Because mobile networks are likely to drive computing for the foreseeable future, the University of Melbourne Computer Science and Software Engineering Department created a Master of Engineering in Distributed Computing degree program.The MEDC program educates graduate students in rapidly evolving key areas such as distributed computing, mobile computing, pervasive computing, and sensor networks. I teach CSSE 653: Mobile Computing Systems Programming.