Blending an Android development course with software engineering concepts
The tremendous popularity of mobile computing and Android in particular has attracted millions of developers who see opportunities for building their own start-ups. As a consequence Computer Science students express an increasing interest into the related technology of Java development for Android applications. Android projects are complex by nature and relatively large software products while their development calls for the application of established software engineering practices and tools. However, most software engineering courses focus on ‘conventional’ software development for desktop or web applications. In this paper we report on the design, implementation and assessment of a novel short course aiming at bridging the gap between software engineering and Android development. The goal is to demonstrate the need for applying software engineering principles on Android development as well as to emphasize that writing software for mobile devices should be regarded as an equally serious programming activity. The proposed course covers design principles, patterns, metrics, refactorings and collaborative software development. The course has been delivered to three groups of undergraduate and postgraduate students at two different institutes. The course has been evaluated: a) by performing a student satisfaction survey, b) through summative assessment of students’ performance, c) by investigating whether the proposed course modified the students’ career interests and d) by employing assessment by peers based on rubrics. The results indicate that such a short course is capable of increasing student’s interest on Android development as well as their awareness of the importance of software engineering concepts on mobile application software development.
KeywordsSoftware engineering Android development Teaching strategies Classroom teaching
- ACM. (2013). Curriculum guidelines for Undergraduate Programs in Computer Science, Retrieved December 15, 2014, from www.acm.org/education/CS2013-final-report.pdf.
- Akopian, D., Melkonyan, A., Golgani, S., Yuen, T., & Saygin, C. (2013). A template-based short course concept on android application development. Journal of Information Technology Education. Innovations in Practice, 12(2013), 13–28.Google Scholar
- Biggs, J. (2003). Aligning teaching and assessing to course objectives. Teaching and Learning in Higher Education: New Trends and Innovations. University of Aveiro.Google Scholar
- Biggs, J., & Tang, C. (2011). Teaching for quality learning at University (4th ed.). Maidenhead: Open University Press.Google Scholar
- Carnegie Mellon. (2014). Aligning assessment with objectives. Retrieved August 18, 2014 from http://www.cmu.edu/teaching/assessment/howto/basics/objectives.html.
- Dewey, J. (1938). Education and experience. New York: Macmillan.Google Scholar
- European Commission. (2012). European vacancy and recruitment report. Retrieved December 15, 2014 from http://ec.europa.eu/social/main.jsp?catId=738&langId=en&pubId=7267&type=2&furtherPubs=yes.
- Fong, B. (1987). The external examiners approach to assessment. Washington, DC: Association of American Colleges.Google Scholar
- Gartner. (2013). Gartner says Worldwide PC, Tablet and Mobile Phone shipments to grow 4.5 percent in 2013 as lower-priced devices drive growth. Retrieved January 16, 2014 from http://www.gartner.com/newsroom/id/2610015.
- git. (2014). Git. Retrieved February 21, 2014 from http://git-scm.com/.
- GitHub. (2014). GitHub. Retrieved February 21, 2014 from https://github.com/.
- Heckman, S., Horton, T. B., & Sherriff, M. (2011). Teaching second-level Java and software engineering with Android. In Proceedings of 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T’11) (pp. 540–542). New York: IEEE Press. doi:10.1109/CSEET.2011.5876144.
- Herbert, N., de Salas, K., Lewis, I., Cameron-Jones, M., Chinthammit, W., Dermoudy, J., Ellis, L., & Springer, M. (2013). Identifying career outcomes as the first step in ICT curricula development. In Proceedings of the Fifteenth Australasian Computing Education Conference-Volume 136 (pp. 31–40). Australian Computer Society, Inc..Google Scholar
- Hu, W., Chen, T., Shi, Q., & Lou, X. (2010). Smartphone Software Development Course design based on Android. In Proceedings of the 10th IEEE Conference on Computer and Information Technology (CIT’10) (pp. 2180–2184). New York: IEEE Press. doi:10.1109/CIT.2010.374.
- JUnit. (2014). JUnit. Retrieved March 2, 2014 from http://junit.org/.
- Keller, J. M. (1983). Motivational design of instruction. In C. Riegeluth (Ed.), Instructional design theories and models (pp. 383–434). Hillsdale: Erlbaum.Google Scholar
- Kennedy, D., Áine, H., & Norma, R. (2006). Writing and using learning outcomes: A practical guide. In EUA Bologna handbook – Making Bologna work. Berlin: Raabe Verlag.Google Scholar
- LeBlanc, R., & Sobel, A. (2004). Software Engineering 2004: Curriculum guidelines for Undergraduate Degree Programs in Software Engineering. IEEE Computer Society and ACM.Google Scholar
- Mahmoud, Q. H. (2008). Integrating mobile devices into the computer science curriculum. In Proceedings of the 38th Annual Conference on Frontiers in Education Conference (FIE’08). S3E-17 - S3E-22. doi:10.1109/FIE.2008.4720686.
- Martin, R. C. (2003). Agile software development: Principles, patterns, and practices. Upped Saddle River: Prentice Hall PTR.Google Scholar
- Mednieks, Z., Dornin, L., Meike, G. B., & Nakamura, M. (2012). Programming android: Java programming for the new generation of mobile devices. Sebastopol: O’Reilly Media.Google Scholar
- Mulligan, M., & Card, D. (2014). Sizing the EU app economy. Retrieved January 10, 2014 from http://eurapp.eu/sites/default/files/Sizing%20the%20EU%20App%20Economy.pdf.
- Parker, K. R., & Chao, J. T. (2007). Wiki as a teaching tool. Interdisciplinary Journal of Knowledge and Learning Objects, 3(2007), 57–72.Google Scholar
- Petkovic, D., Thompson, G., & Todtenhoefer, R. (2006). Teaching Practical Software Engineering and Global Software Engineering: Evaluation and comparison. In Proceedings of the 11th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, (ITICSE’06) (pp. 294–298). New York: ACM. doi:10.1145/1140124.1140202.
- Quality Matters. (2014). Quality matters overview. Retrieved May 15, 2014 from https://www.qualitymatters.org/applying-Rubric15/download/QM_Overview_for%20Current%20Subscribers_AE2013.pdf.
- Riley, D. (2012). Using mobile phone programming to teach Java and advanced programming to computer scientists. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (SIGCSE’12) (pp. 541–546). New York: ACM. doi:10.1145/2157136.2157292.
- Roethlisberger, F. J., & Dickson, W. J. (1939). Management and the worker. Cambridge: Harvard University Press.Google Scholar
- Schwartz, L., Clark, S., Cossarin, M., & Rudolph, J. (2004). Educational wikis: features and selection criteria. International Review of Research in Open Distance Learn, 5(1).Google Scholar
- SFIA Foundation. (2015). Skills framework for the information age. http://www.sfia-online.org/. Accessed 26 June 2015.
- Spinellis, D. (2003). Code reading: The open source perspective. Boston: Addison-Wesley Professional.Google Scholar
- Tenenberg, J. D. (1995). Using cooperative learning in the undergraduate computer science classroom. Journal of Computing in Small Colleges, 11(2), 38–49.Google Scholar
- Victor, H. (2013). Android’s Google Play beats App Store with over 1 million apps, now officially largest. Retrieved January 16, 2014 from http://www.phonearena.com/news/Androids-Google-Play-beats-App-Store-with-over-1-million-apps-now-officially-largest_id45680.
- Wasserman, A. I. (2010). Software engineering issues for mobile application development. In Proceedings of the 18th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FoSER ’10) (pp. 397–400). New York: ACM Press. doi:10.1145/1882362.1882443.
- Whitney, L. (2012). Android reclaims 61 percent of all U.S. smartphone sales | Internet & Media - CNET news. Retrieved January 16, 2014 from http://news.cnet.com/8301-1023_3-57429192-93/android-reclaims-61-percent-of-all-u.s-smartphone-sales/.