[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

A Script-based Approach for Teaching and Assessing Android Application Development

Published: 22 January 2021 Publication History

Abstract

Mobile applications are extremely popular with many higher education institutions offering courses to prepare new developers sought by the software industry. However, teaching and assessing mobile application development poses specific challenges due to the complexity of real-world programming languages and environments. In this work, we present a script-based approach for teaching and assessing Android application development that addresses shortcomings of existing tools that impact negatively on the learning experience. Our evaluation, which covers pedagogical and technical aspects, provides possible evidence that the scripts have been beneficial in helping students to work more efficiently and achieve better results. Additionally, the scripts have been effective in streamlining the grading process and keeping the tutorial material up to date with the evolution of the Android platform.

References

[1]
Seiko Akayama, Birgit Demuth, Timothy C. Lethbridge, Marion Scholz, Perdita Stevens, and Dave R. Stikkolorum. 2013. Tool use in software modelling education. In Proceedings of the Educators Symposium and International Workshop on Open Source Software for Model Driven Engineering Languages and Systems (EduSymp@MoDELS’13)
[2]
Abrar Al-Heeti. 2019. Android is on over 2.5 billion active devices. Retrieved from https://www.cnet.com/news/android-is-on-over-2-5-billion-active-devices//.
[3]
Kirsti Ala-Mutka, Toni Uimonen, and Hannu-Matti Jarvinen. 2004. Supporting students in C++ programming courses with automatic program style assessment. J. Info. Technol. Edu.: Res. 3 (2004), 245--262.
[4]
Anthony Allevato and Stephen H. Edwards. 2012. RoboLIFT: Engaging CS2 students with testable, automatically evaluated Android applications. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (SIGCSE’12). ACM, New York, NY, 547--552.
[5]
Android Studio. 2020. Android Studio Release Notes. Retrieved from https://developer.android.com/studio/releases/.
[6]
Mordechai Ben-Ari. 2001. Constructivism in computer science education. J. Comput. Math. Sci. Teach. 20, 1 (2001), 45--74.
[7]
Barry W. Boehm, John R. Brown, and Mlity Lipow. 1976. Quantitative evaluation of software quality. In Proceedings of the 2nd International Conference on Software Engineering. IEEE Computer Society Press, 592--605.
[8]
Daniel Bruzual, Maria L. Montoya Freire, and Mario Di Francesco. 2020. Automated assessment of Android exercises with cloud-native technologies. In Proceedings of the ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE’20), Michail N. Giannakos, Guttorm Sindre, Andrew Luxton-Reilly, and Monica Divitini (Eds.). ACM, 40--46.
[9]
Barry Burd, João Paulo Barros, Chris Johnson, Stan Kurkovsky, Arnold Rosenbloom, and Nikolai Tillman. 2012. Educating for mobile computing: Addressing the new challenges. In Proceedings of the Final Reports on Innovation and Technology in Computer Science Education Working Groups. ACM, 51--63.
[10]
Julio C. Caiza and José María del Álamo Ramiro. 2013. Programming assignments automatic grading: Review of tools and implementations. In Proceedings of the 7th International Technology, Education and Development Conference (INTED’13). 5691--5700. http://oa.upm.es/25765/.
[11]
Alexander Chatzigeorgiou, Tryfon L. Theodorou, George E. Violettas, and Stelios Xinogalos. 2016. Blending an Android development course with software engineering concepts. Edu. Info. Technol. 21, 6 (2016), 1847--1875.
[12]
Zhixiong Chen and Delia Marx. 2005. Experiences with eclipse IDE in programming courses. J. Comput. Sci. Coll. 21, 2 (Dec. 2005), 104--112. Retrieved from http://dl.acm.org/citation.cfm?id=1089053.1089068.
[13]
John W. Creswell. 2013. Research Design: Qualitative, Quantitative, and Mixed Methods Approaches. Sage publications.
[14]
M. Csikszentmihalyi, S. Abuhamdeh, and J. Nakamura. 2005. Handbook of Competence and Motivation. Guilford Press, New York, 598--698.
[15]
Edsger W. Dijkstra. 1989. On the cruelty of really teaching computing science. Commun. ACM 32, 12 (1989), 1398--1404.
[16]
Edward Dillon, Monica Anderson, and Marcus Brown. 2012. Comparing mental models of novice programmers when using visual and command line environments. In Proceedings of the 50th Annual Southeast Regional Conference. ACM, 142--147.
[17]
Edward Dillon, Monica Anderson-Herzog, and Marcus Brown. 2012. Studying the novice’s perception of visual vs. Command line programming tools in CS1. In Proceedings of the Human Factors and Ergonomics Society Annual Meeting, Vol. 56. SAGE Publications, Los Angeles, CA, 605--609.
[18]
Edward Dillon, Monica Anderson-Herzog, and Marcus Brown. 2014. Teaching students to program using visual environments: Impetus for a faulty mental model?J. Comput. Sci. Edu. 5, 1 (2014), 1--2.
[19]
Stephen H. Edwards and Manuel A. Perez-Quinones. 2008. Web-CAT: Automatically grading programming assignments. SIGCSE Bull. 40, 3 (June 2008), 328--328.
[20]
César Fernández, María Asunción Vicente, M. Mar Galotto, Miguel Martinez-Rach, and Alejandro Pomares. 2017. Improving student engagement on programming using app development with Android devices. Comput. Appl. Eng. Edu. 25, 5 (2017), 659--668.
[21]
Rita Francese, Carmine Gravino, Michele Risi, Giuseppe Scanniello, and Genoveffa Tortora. 2015. Using project-based-learning in a mobile application development course—An experience report. J. Visual Lang. Comput. 31, Part B (2015), 196--205.
[22]
Dominik Franke, Stefan Kowalewski, and Carsten Weise. 2012. A mobile software quality model. In Proceedings of the 12th International Conference on Quality Software (QSIC’12). IEEE, 154--157.
[23]
Markus Fuchs, Markus Heckner, Felix Raab, and Christian Wolff. 2014. Monitoring students’ mobile app coding behavior data analysis based on IDE and browser interaction logs. In Proceedings of the IEEE Global Engineering Education Conference (EDUCON’14). IEEE, 892--899.
[24]
Mark H. Goadrich and Michael P. Rogers. 2011. Smart smartphone development: IOS versus Android. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (SIGCSE’11). ACM, New York, NY, 607--612.
[25]
Gradle. 2020. Gradle Build Tool. Retrieved from https://gradle.org.
[26]
Tor-Morten Gronli, Jarle Hansen, Gheorghita Ghinea, and Muhammad Younas. 2014. Mobile application platform heterogeneity: Android vs. Windows Phone vs. iOS vs. Firefox OS. In Proceedings of the IEEE 28th International Conference on Advanced Information Networking and Applications (AINA’14). IEEE, 635--641.
[27]
Mercedes Gómez-Albarrán. 2005. The teaching and learning of programming: A survey of supporting software tools. Comput. J. 48, 2 (2005), 130.
[28]
Michael Halper. 2014. Using Android as a platform for programming in the IT curriculum. In Proceedings of the 15th Annual Conference on Information Technology Education (SIGITE’14). ACM, New York, NY, 127--132.
[29]
Dongjie He, Lian Li, Lei Wang, Hengjie Zheng, Guangwei Li, and Jingling Xue. 2018. Understanding and detecting evolution-induced compatibility issues in Android apps. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering. ACM, 167--177.
[30]
IDC. 2020. Smartphone Market Share—Updated 02 Apr. 2020. Retrieved from https://www.idc.com/promo/smartphone-market-share/os.
[31]
Petri Ihantola, Tuukka Ahoniemi, Ville Karavirta, and Otto Seppälä. 2010. Review of recent systems for automatic assessment of programming assignments. In Proceedings of the 10th Koli Calling International Conference on Computing Education Research (KoliCalling’10). ACM, New York, NY, 86--93.
[32]
Ivaylo Ilinkin. 2014. Opportunities for Android projects in a CS1 course. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE’14). ACM, New York, NY, 615--620.
[33]
Tony Jenkins. 2002. On the difficulty of learning to program. In Proceedings of the 3rd Annual Conference of the LTSN Centre for Information and Computer Sciences, Vol. 4. 53--58.
[34]
Hieke Keuning, Johan Jeuring, and Bastiaan Heeren. 2016. Towards a systematic review of automated feedback generation for programming exercises. In Proceedings of the ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE’16). ACM, New York, NY, 41--46.
[35]
Donald L. Kirkpatrick and J. D. Kirkpatrick. 2006. The Four Levels: An Overview. Berret-Koehler Publishers, San Francisco, CA, 26--35.
[36]
Stefan Koch and Markus Kerschbaum. 2014. Joining a smartphone ecosystem: Application developers’ motivations and decision criteria. Info. Softw. Technol. 56, 11 (2014), 1423--1435.
[37]
Kati Kuusinen. 2016. Are software developers just users of development tools? Assessing developer experience of a graphical user interface designer. In Human-Centered and Error-Resilient Systems Development. Springer, 215--233.
[38]
Maxime Lamothe and Weiyi Shang. 2018. Exploring the use of automated API migrating techniques in practice: An experience report on Android. In Proceedings of the 15th International Conference on Mining Software Repositories. 503--514.
[39]
Li Li, Jun Gao, Tegawendé F. Bissyandé, Lei Ma, Xin Xia, and Jacques Klein. 2018. Characterising deprecated Android apis. In Proceedings of the 15th International Conference on Mining Software Repositories. ACM, 254--264.
[40]
LimeSurvey Team. 2020. LimeSurvey: An open source survey tool. Retrieved from http://www.limesurvey.org.
[41]
Andrew Luxton-Reilly, Ibrahim Albluwi, Brett A. Becker, Michail Giannakos, Amruth N. Kumar, Linda Ott, James Paterson, Michael James Scott, Judy Sheard, Claudia Szabo et al. 2018. Introductory programming: A systematic literature review. In Proceedings Companion of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education. ACM, 55--106.
[42]
Matej Madeja and Jaroslav Porubän. 2018. Automated testing environment and assessment of assignments for Android MOOC. Open Comput. Sci. 8, 1 (2018), 80--92.
[43]
Ference Marton and Roger Säljö. 1976. On qualitative differences in learning: Outcome and process. Brit. J. Edu. Psychol. 46, 1 (1976), 4--11.
[44]
Victor Matos and Rebecca Grasser. 2010. Building applications for the Android OS mobile platform: A primer and course materials. J. Comput. Sci. Coll. 26, 1 (2010), 23--29.
[45]
J. McCall. 1977. Factors in software quality: Preliminary handbook on software quality for an acquisiton manager, volume 1--3. General Electric 130 (Nov. 1977).
[46]
Michael McCracken, Vicki Almstrum, Danny Diaz, Mark Guzdial, Dianne Hagan, Yifat Ben-David Kolikant, Cary Laxer, Lynda Thomas, Ian Utting, and Tadeusz Wilusz. 2001. A multi-national, multi-institutional study of assessment of programming skills of first-year CS students. SIGCSE Bull. 33, 4 (Dec. 2001), 125--180.
[47]
T. McDonnell, B. Ray, and M. Kim. 2013. An empirical study of API stability and adoption in the Android ecosystem. In Proceedings of the IEEE International Conference on Software Maintenance. 70--79.
[48]
Robin Nunkesser. 2018. Beyond web/native/hybrid: A new taxonomy for mobile app development. In Proceedings of the 5th International Conference on Mobile Software Engineering and Systems (MOBILESoft@ICSE’18), Christine Julien, Grace A. Lewis, and Itai Segall (Eds.). ACM, 214--218.
[49]
Luca Pascarella, Franz-Xaver Geiger, Fabio Palomba, Dario Di Nucci, Ivano Malavolta, and Alberto Bacchelli. 2018. Self-reported activities of Android developers. In Proceedings of the 5th International Conference on Mobile Software Engineering and Systems (MOBILESoft@ICSE’18), Christine Julien, Grace A. Lewis, and Itai Segall (Eds.). ACM, 144--155.
[50]
Evan W. Patton, Michael Tissenbaum, and Farzeen Harunani. 2019. MIT app inventor: Objectives, design, and development. In Computational Thinking Education. Springer, 31--49.
[51]
Roy D. Pea and D. Midian Kurland. 1984. On the cognitive effects of learning computer programming. New Ideas Psychol. 2, 2 (1984), 137--168.
[52]
Arnold Pears, Stephen Seidman, Lauri Malmi, Linda Mannila, Elizabeth Adams, Jens Bennedsen, Marie Devlin, and James Paterson. 2007. A survey of literature on the teaching of introductory programming. In Working Group Reports on ITiCSE on Innovation and Technology in Computer Science Education (ITiCSE-WGR’07). ACM, New York, NY, 204--223.
[53]
Derek Riley. 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. ACM, 541--546.
[54]
Anthony Robins, Janet Rountree, and Nathan Rountree. 2003. Learning and teaching programming: A review and discussion. Comput. Sci. Edu. 13, 2 (2003), 137--172.
[55]
Susan Elliott Sim and Richard C. Holt. 1998. The ramp-up problem in software projects: A case study of how software immigrants naturalize. In Proceedings of the 20th International Conference on Software Engineering. IEEE, 361--370.
[56]
Jonathan Sprinkle. 2011. Teaching students to learn to learn mobile phone programming. In Proceedings of the Compilation of the Co-located Workshops on DSM’11, TMC’11, AGERE!’11, AOOPES’11, NEAT’11, and VMIL’11 (SPLASH’11 Workshops). ACM, New York, NY, 261--266.
[57]
Neena Thota and Richard Whitfield. 2010. Holistic approach to learning and teaching introductory object-oriented programming. Comput. Sci. Edu. 20, 2 (2010), 103--127.
[58]
Phillip Treweek. 1996. Comparing interfaces: Should we assume that ease of use influences users’ preference? In Proceedings of the 6th Australian Conference on Computer-Human Interaction. IEEE, 159--160.
[59]
Antony Unwin and Heike Hofmann. 1999. Gui and command-line-conflict or synergy? In Proceedings of the 31st Symposium on the Interface: models, predictions, and computing, Schaumburg, Illinois, June 9 - 12, 1999 (Computing science and statistics; 31), Kenneth Berk and Mohsen Pourahmadi (Eds.). Interface Foundation of North America, 246--253.
[60]
Chris Wilcox. 2016. Testing strategies for the automated grading of student programs. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education. ACM, 437--442.
[61]
Xiaohong Yuan, K. Williams, S. McCrickard, C. Hardnett, L. H. Lineberry, K. Bryant, Jinsheng Xu, A. Esterline, Anyi Liu, S. Mohanarajah, and R. Rutledge. 2016. Teaching mobile computing and mobile security. In Proceedings of the IEEE Frontiers in Education Conference (FIE’16). 1--6.

Cited By

View all
  • (2021)A New Sustainable Hybrid Software Development Methodology: FIRAT-UG2021 9th International Symposium on Digital Forensics and Security (ISDFS)10.1109/ISDFS52919.2021.9486385(1-4)Online publication date: 28-Jun-2021

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Computing Education
ACM Transactions on Computing Education  Volume 21, Issue 1
March 2021
211 pages
EISSN:1946-6226
DOI:10.1145/3446622
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 January 2021
Accepted: 01 September 2020
Revised: 01 July 2020
Received: 01 June 2019
Published in TOCE Volume 21, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Android
  2. command-line scripting
  3. mobile application development
  4. semi-automatic grading
  5. teaching and assessment

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)28
  • Downloads (Last 6 weeks)5
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2021)A New Sustainable Hybrid Software Development Methodology: FIRAT-UG2021 9th International Symposium on Digital Forensics and Security (ISDFS)10.1109/ISDFS52919.2021.9486385(1-4)Online publication date: 28-Jun-2021

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media