Abstract
Currently, Android is used in 70% of smartphones worldwide, which results in the rising importance of Android application programming. To improve its educations, we have developed Android Programming Learning Assistance System: APLAS, as a teaching aid for students to practice self-learning. Widgets take significant roles in Android programming for interactive applications using User Interface (UI). Students are required to master how to use them in implementing highly usable UI. In this paper, we propose the Advanced Widgets learning topic to execute an interactive application named Color game in APLAS. For evaluations, we assign the proposal to 40 undergraduate students in Indonesia, where 95% of them successfully solved it. Thus, the effectiveness of the proposal was confirmed
Similar content being viewed by others
References
Gladden D. The effects of smartphones on social lives: how they affect our social interactions and attitudes. In: OTS Master’s Level Projects & Papers. 2018; p.586.
Hsiao K. Android smartphone adoption and intention to pay for mobile internet: perspectives from software, hardware, design, and value. Library Hi Technol. 2013. https://doi.org/10.1108/07378831311329022.
StatCounter. Mobile operating system market share worldwide, June 2019 - June 2020. In: Statcounter Global Stats. 2020. https://gs.statcounter.com/os-market-share/mobile/worldwide. Accessed 10 Oct 2020.
Kim DK. Towards performance-enhancing programming for Android application development. Int J Contents. 2017. https://doi.org/10.5392/IJoC.2017.13.4.039.
Marsicano K, Gardner B, Phillips B, Stewart C. Android programming: the big nerd ranch guide. Big Nerd Ranch Guides; 2019.
Kirkwood A, Price L. Examining some assumptions and limitations of research on the effects of emerging technologies for teaching and learning in higher education. Br J Edu Technol. 2013. https://doi.org/10.1111/bjet.12049.
Syaifudin YW, Funabiki N, Kuribayashi M, Kao W-C. A proposal of Android programming learning assistant system with implementation of basic application learning. Int J Web Inf Syst. 2019. https://doi.org/10.1108/IJWIS-08-2019-0038.
Funabiki N, Matsushima Y, Nakanishi T, Watanabe K, Amano N. A Java programming Learning Assistant System using test-driven development method. IAENG Int J Comput Sci. 2013;40(1):38–46.
Tort A, Olivè A, Sancho M-R. An approach to test-driven development of conceptual schemas. Data Knowl Eng. 2011. https://doi.org/10.1016/j.datak.2011.07.006.
Bissi W, Neto AGSS, Emer MCFP. The effects of test driven development on internal quality, external quality and productivity: a systematic review. Inf Softw Technol. 2016. https://doi.org/10.1016/j.infsof.2016.02.004.
JUnit. JUnit: a simple framework to write repeatable tests. In: JUnit. 2020. https://junit.org/junit4/. Accessed 5 Oct 2020.
Robolectric. Robolectric: a framework that brings fast and reliable unit tests to Android. In: Robolectric. 2020. http://robolectric.org/. Accessed 20 Jun 2020.
Syaifudin YW, Funabiki N, Mentari M, Saputra PY, Yunhasnawa Y, Ulfa F, Kuribayashi M. Web application implementation of Android programming learning assistance system and its evaluations. IOP Conf Ser: Mater Sci Eng. 2021. https://doi.org/10.1088/1757-899X/1073/1/012060.
Joo H. A study on understanding of UI and UX, and understanding of design according to user interface change. Int J Appl Eng Res. 2017;12(20):9931–5.
Android Developers. View. In: Google Developers. 2020. https://developer.android.com/reference/android/view/View. Accessed 10 Jun 2020.
Syaifudin Y W, Funabiki N, Kuribayashi M. An implementation and evaluation of advanced widgets topic for interactive application stage in Android programming learning assistance system. In: Proceedings of 8th international conference on information and education technology, Okayama, Japan; 2020. https://doi.org/10.1145/3395245.3396198.
Smyth N. Android Studio 3.0 Development Essentials 8th ed. CreateSpace Independent Publishing Platform; 2017.
Sokolova K, Lemercier M, Garcia L. Android passive MVC: a novel architecture model for Android application development. In: Proceedings of 5th international conference on pervasive patterns application, Valencia, Spain; 2013.
Jackson W. Pro Android UI. New York: Apress; 2014.
Hanafi HF, Samsudin K. Mobile Learning Environment System (MLES): the case of Android-based learning application on undergraduates’ learning. Int J Adv Comput Sci Appl. 2012. https://doi.org/10.14569/IJACSA.2012.030311.
Köse U. A web based system for project-based learning activities in “web design and programming’’ course. Procedia Soc Behav Sci. 2010. https://doi.org/10.1016/j.sbspro.2010.03.168.
Yang T-C, Yang S J, Hwang G-J. Development of an interactive test system for students’ improving learning outcomes in a computer programming course. In: Proceedings of IEEE 14th international conference on advance learning technology, Athens, Greece. 2014. https://doi.org/10.1109/ICALT.2014.186.
Hayashi Y, Fukamachi K I, Komatsugawa H. Collaborative learning in computer programming courses that adopted the flipped classroom. In: Proceedings of international conference on learning teachnology and computer engineering, Taipei, Taiwan, 2015. https://doi.org/10.1109/LaTiCE.2015.43.
Hundt C, Schlarb M, Schmidt B. SAUCE: a web application for interactive teaching and learning of parallel programming. J Parallel Distrib Comput. 2017. https://doi.org/10.1016/j.jpdc.2016.12.028.
Su J-M, Wang S-J. A Web-based learning activity integrated with scratch tool to support programming learning. In: Proceedings of the 10th international conference on ubi-media computer and workshops, Pattaya, Thailand. 2017. https://doi.org/10.1109/UMEDIA.2017.8074137.
Su J-M, Hsu F-Y. Building a visualized learning tool to facilitate the concept learning of object-oriented programming. In: Proceeding of the 6th IIAI international congress on advanced applied informatics, Hamamatsu, Japan. 2017. https://doi.org/10.1109/IIAI-AAI.2017.180.
Kang H, Cho J. Case study on efficient android programming education using multi Android development tools. Indian J Sci Technol. 2015. https://doi.org/10.17485/ijst/2015/v8i19/75984.
Rekhawi HAA, Naser SSA. Android applications UI development intelligent tutoring system. Int J Eng Inf Syst. 2018;2(1):1–14.
Amalfitano D, Riccio V, Amatucci N, Simone VD, Fasolino AR. Combining automated GUI exploration of Android apps with capture and replay through machine learning. Inf Soft Technol. 2019. https://doi.org/10.1016/j.infsof.2018.08.007.
Wahid M, Almalaise A. JUnit framework: an interactive approach for basic unit testing learning in software engineering. In: Proceedings of 3rd international congress engineering education, Kuala Lumpur, Malaysia. 2011. https://doi.org/10.1109/ICEED.2011.6235381.
Linares-Vásquez M, Bernal-Cardenas C, Moran K, Poshyvanyk D. How do developers test Android applications?. In: Proceedings of IEEE international conference on software maintenance and evolution, Shanghai, China. 2017. https://doi.org/10.1109/ICSME.2017.47.u
Sadeh B, Gopalakrishnan S. A study on the evaluation of unit testing for Android systems. Int J New Comput Arch Their Appl. 2011;1(4):926–41.
Usener CA, Majchrzak TA, Kuchen H. E-assessment and software testing. Interact Technol Smart Edu. 2012. https://doi.org/10.1108/17415651211228095.
Almeida DR, Machado PDL, Andrade WL. Testing tools for Android context-aware applications: a systematic mapping. J Braz Comput Soc. 2019. https://doi.org/10.1186/s13173-019-0093-7.
Mostefaoui GK, Tariq F. Mobile apps engineering: design, development, security, and testing. Boca Raton: CRC Press; 2019.
Kong P, Li L, Gao J, Liu K, Bissyandé TF, Klein J. Automated testing of Android apps: a systematic literature review. IEEE Trans Reliab. 2019. https://doi.org/10.1109/TR.2018.2865733.
Meier R. Android 2 application development. New York: Wiley; 2010.
Google. Fundamentals of testing. In: Google developers. https://developer.android.com/training/testing/fundamentals. Accessed 10 Jun 2020.
Kim HK. Test driven mobile applications development. In: Proceedings of World Congress on Engineering Computer Science, San Fransisco, USA. 2013.
Verdecchia R, Malavolta I, Lago P. Guidelines for architecting Android apps: a mixed-method empirical study. In: Proceedings of IEEE international conference on soft arch, Hamburg, Germany. 2019. https://doi.org/10.1109/ICSA.2019.00023.
DiMarzio J. Beginning Android programming with Android Studio. New York: Wiley; 2017.
Sarkar A, Goyal A, Hicks D, Sarkar D, Hazra S. Android application development: a brief overview of Android platforms and evolution of security systems. In: Proceedings of the 3rd international conference on I-SMAC, Palladam, India. 2019. https://doi.org/10.1109/I-SMAC47947.2019.9032440.
Syaifudin Y W, Funabiki N, Kuribayashi M. Learning model for Android programming learning assistant system. In: Proceedings of IEICE Gen Conference, Tokyo, Japan, 2019.
Syaifudin YW, Funabiki N, Kuribayashi M. An implementation and evaluation of basic activity topic for interactive application stage in Android programming learning assistance system. In: Proceedings of forum information and technology, Okayama, Japan. 2019.
Maudoux G, Mens K. Correct, efficient, and tailored: the future of build systems. IEEE Soft. 2018. https://doi.org/10.1109/MS.2018.111095025.
Song M, Song H, Fu X. Methodology of user interfaces design based on Android. In: Proceedings of International Conference on Multimedia Technology, Hangzhou, China. 2011. https://doi.org/10.1109/ICMT.2011.6002076.
Punchoojit L, Hongwarittorrn N. Usability studies on mobile user interface design patterns: a systematic literature review. Adv Hum Comput Interact. 2017. https://doi.org/10.1155/2017/6787504.
Gogus A. Bloom’s taxonomy of learning objectives. Boston, Springer: Encyclopedia of the Sciences of Learning; 2012.
Krathwohl DR. A revision of Bloom’s taxonomy: an overview. Theory Pract. 2002. https://doi.org/10.1207/s15430421tip4104_2.
Hwang W-Y, Wang C-Y, Hwang, Huang Y-M, Huang S. A web-based programming learning environment to support cognitive development. Interact Comput. 2008; https://doi.org/10.1016/j.intcom.2008.07.002
Coppola R, Morisio M, Torchiano M. Maintenance of Android Widget-based GUI testing: a taxonomy of test case modification causes. In: Proceedings of IEEE international conference of software testing, verification, and validation workshops, Vasteras, Sweden. 2018. https://doi.org/10.1109/ICSTW.2018.00044.
Google. App resources overview. In: Google Developers. https://developer.android.com/guide/topics/resources/providing-resources. Accessed 10 June 2020.
Google. AndroidX overview. In: Google Developers. https://developer.android.com/jetpack/androidx. Accessed 10 June 2020.
Esakia A. Transitioning to teaching Android with Kotlin and Jetpack components. In: Proceedings of 51st ACM technology symposium of computer science education, New York, USA. 2020. https://doi.org/10.1145/3328778.3372603.
Liu J, Qiu Y, Ma Z, Wu Z. Autoencoder based API recommendation system for Android programming. In: Proceedings of 14th international conference of computer science education, Toronto, Canada. 2019. https://doi.org/10.1109/ICCSE.2019.8845349.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
This article does not contain any studies with animals performed by any of the authors.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Syaifudin, Y.W., Funabiki, N., Kuribayashi, M. et al. A Proposal of Advanced Widgets Learning Topic for Interactive Application in Android Programming Learning Assistance System. SN COMPUT. SCI. 2, 172 (2021). https://doi.org/10.1007/s42979-021-00580-1
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s42979-021-00580-1