Over the past two years, we implemented two versions of our
mobile application development class. The first version focused
on application implementation where students learned about user
interface design on small devices, programming with sensors, the
importance of backend services and concentrated on developing
practical and usable applications. The second version focused on
application design where students learn about general issues
related to mobile applications including security, power
management, privacy, commerce etc. and concentrated on
presenting research findings and prototype implementations. Both
classes are well-received by the students with interesting final
deliverables. This paper presents our experience with these
classes from design, to implementation, and to results.