Programming Assignments from Coursera's Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems.