Best practices in teaching mobile application development | Synapse