UPSI Digital Repository (UDRep)
|
|
|
Abstract : Universiti Pendidikan Sultan Idris |
The industrial revolution is now in great need of more skilful programmers with
problem-solving skills. However, the learning process for programming is very
challenging due to its complexity and limited educational application that covers both
problem-solving and programming environments. This study aims to develop an
introductory Integrated Development Environment (IDE) application (C-SOLVIS) and
evaluate its usability. It integrates both environments for problem-solving and program
development for the C language. The purpose is to guide the users in problem-solving
and help in writing a C program. This study used a mix-method approach, in which
qualitative methods were conducted during the requirement planning phase through a
literature review supported by semi-structured interviews, document reviews, and
content validation by seven expert programming lecturers. Meanwhile, a quantitative
method to evaluate the application's usability among the same lecturers was conducted
using the System Usability Scale (SUS) instrument to obtain its mean score. The
application's development process has employed Rapid Application Development
(RAD) Model in which application design has been accomplished by iterative
prototyping process, followed by application construction. The study has discovered
suitable techniques and designs for the problem-solving and program development
environment. In the problem-solving environment, Computational Thinking (CT)
concepts have been applied and supported by Input-Proses-Output (IPO) Model
through Scientific Instructions and Inquiries. Meanwhile, the program development
environment features frame-based programming through Code Patterns. The CSOLVIS
has achieved a SUS mean score of 86.07 which is interpreted by SUS as an A
grade, indicating C-SOLVIS as a highly usable application for the teaching and learning
of an introductory programming course. In conclusion, C-SOLVIS could facilitate the
teaching and learning of C programming fundamentals effectively. The implication is
that the development process of C-SOLVIS can be used as a guideline for educational
software development, especially in the application of programming education. |
References |
Abd Aziz, N. A., Musa, M. H., Mohamad Khalid, R., Abd Aziz, N. N., & Abdul Malik, S. (2021). The Acceptance of E-Learning Among Distance Learners: A case study on public universities in South Malaysia. Environment-Behaviour Proceedings Journal, 6(16), 61–67. https://doi.org/10.21834/ebpj.v6i16.2701
Abdul Rahman, T. F. B., Anuar, N., & Mohd Said, R. F. (2018). How the nature of programming and learning materials affects novice learner’s motivation and programming ability. ACM International Conference Proceeding Series, 124–128. https://doi.org/10.1145/3178158.3178184
Abe, K., Fukawa, Y., & Tanaka, T. (2019). Prototype of Visual Programming Environment for C Language Novice Programmer. Proceedings - 2019 8th International Congress on Advanced Applied Informatics, IIAI-AAI 2019, 140–145. https://doi.org/10.1109/IIAI-AAI.2019.00037
Adelson, J. L., & McCoach, D. B. (2010). Measuring the mathematical attitudes of elementary students: The effects of a 4-point or 5-point likert-type scale. Educational and Psychological Measurement, 70(5), 796–807. https://doi.org/10.1177/0013164410366694
Agarwal, P., Singhal, A., & Garg, A. (2017). SDLC Model Selection Tool and Risk Incorporation. International Journal of Computer Applications, 172(10), 6–10. https://doi.org/10.5120/ijca2017915143
Agbo, F. J., Oyelere, S. S., Suhonen, J., & Adewumi, S. (2019). A systematic review of computational thinking approach for programming education in higher education institutions. ACM International Conference Proceeding Series. https://doi.org/10.1145/3364510.3364521
Agrahari, V., & Chimalakonda, S. (2020). SupportArr: A plugin to comprehend arrays for novice programmers. Proceedings - IEEE 20th International Conference on Advanced Learning Technologies, ICALT 2020, 206–207. https://doi.org/10.1109/ICALT49669.2020.00066
Ahadi, A., Lal, S., Lister, R., & Hellas, A. (2018). Learning Programming, Syntax Errors and Institution-specific Factors. ACM International Conference Proceeding Series, 90–96. https://doi.org/10.1145/3160489.3160490
Alhadreti, O. (2021). Assessing Academics’ Perceptions of Blackboard Usability Using SUS and CSUQ: A Case Study during the COVID-19 Pandemic. International Journal of Human-Computer Interaction, 37(11), 1003–1015. https://doi.org/10.1080/10447318.2020.1861766
Alimadadi, S., Mesbah, A., & Pattabiraman, K. (2016). Understanding asynchronous interactions in full-stack JavaScript. Proceedings - International Conference on Software Engineering, 14-22-May-, 1169–1180. https://doi.org/10.1145/2884781.2884864
Alshamrani, A., & Bahattab, A. (2015). A Comparison Between Three SDLC Models Waterfall Model, Spiral Model, and Incremental/Iterative Model. IJCSI International Journal of Computer Science Issues, 12(1), 106–111. https://www.academia.edu/10793943/A_Comparison_Between_Three_SDLC_Models_Waterfall_Model_Spiral_Model_and_Incremental_Iterative_Model
Alshaye, I., Tasir, Z., & Jumaat, N. F. (2019). The Conceptual Framework of Online Problem-Based Learning Towards Problem-Solving Ability and Programming Skills. 2019 IEEE Conference on E-Learning, e-Management and e-Services, IC3e 2019, January, 12–15. https://doi.org/10.1109/IC3e47558.2019.8971780
Amirrudin, M., Nasution, K., & Supahar, S. (2020). Effect of Variability on Cronbach Alpha Reliability in Research Practice. Jurnal Matematika, Statistika Dan Komputasi, 17(2), 223–230. https://doi.org/10.20956/jmsk.v17i2.11655
Andrade, C. (2021). The Inconvenient Truth About Convenience and Purposive Samples. Indian Journal of Psychological Medicine, 43(1), 86–88. https://doi.org/10.1177/0253717620977000
Annamalai, S., & Nur, S. (2017). Facilitating Programming Comprehension for Novice Learners with Multimedia Approach : A Preliminary Investigation. AIP Conference Proceedings 1891, 020029(October). https://doi.org/10.1063/1.5005362
Bada, & Olusegun, S. (2015). Constructivism Learning Theory : A Paradigm for Teaching and Learning. IOSR Journal of Research & Method in Education (IOSR-JRME), 5(6), 66–70. https://doi.org/10.9790/7388-05616670
Baist, A., & Pamungkas, A. S. (2017). Analysis of student difficulties in computer programming. Jurnal Ilmiah Pendidikan Teknik Elektro, 2(2), 81–92.
Bakar, M. A., Mukhtar, M., & Khalid, F. (2019). The development of a visual output approach for programming via the application of cognitive load theory and constructivism. International Journal of Advanced Computer Science and Applications, 10(11), 305–312. https://doi.org/10.14569/IJACSA.2019.0101142
Bciit, P. A., & Noida, G. (2016). Analysis of Cloud IDEs for Software Development. 4(4), 261–265.
Bollinger, T., & Philippe Gabrini, L. M. (2001). Software Construction. May, 263–271.
Bosse, Y., & Gerosa, M. A. (2016). Why is programming so difficult to learn? Patterns of Difficulties Related to Programming Learning. ACM SIGSOFT Software Engineering Notes, 41(6), 1–6. https://doi.org/10.1145/3011286.3011301
Bouraqadi, N., & Mason, D. (2018). Test-driven development for generated portable Javascript apps. Science of Computer Programming, 161(February), 2–17. https://doi.org/10.1016/j.scico.2018.02.003
Bowen, G. A. (2009). Document analysis as a qualitative research method. Qualitative Research Journal, 9(2), 27–40. https://doi.org/10.3316/QRJ0902027
Braunschweig, D. (2018). Input-process-Output model– Programming fundamentals. Https://Press.Rebus.Community/Programmingfundamentals/Chapter/Input- Process-Output-Model/.
Brooke, J. (2018). SUS - A quick and dirty usability scale. Iron and Steel Technology, 15(8), 41–47. https://doi.org/10.5948/upo9781614440260.011
Budny, D., Lundz, L., Vipperman, J., & If, J. L. P. (2002). FOUR STEPS TO TEACHING C PROGRAMMING Session F1G. 2–6.
Campbell, S., Greenwood, M., Prior, S., Shearer, T., Walkem, K., Young, S., Bywaters, D., & Walker, K. (2020). Purposive sampling: complex or simple? Research case examples. Journal of Research in Nursing, 25(8), 652–661. https://doi.org/10.1177/1744987120927206
Caspersen, M. E., & Bennedsen, J. (2007). Instructional Design of a Programming Course . A Learning Theoretic Approach. 111–122.
Chatrangsan, M., & Petrie, H. (2019). The effect of typeface and font size on reading text on a tablet computer for older and younger people. Proceedings of the 16th Web For All 2019 Personalization - Personalizing the Web, W4A 2019. https://doi.org/10.1145/3315002.3317568
Cheah, C. S. (2020). Factors Contributing to the Difficulties in Teaching and Learning of Computer Programming: A Literature Review. Contemporary Educational Technology, 12(2), ep272. https://doi.org/10.30935/cedtech/8247
Chen, G. (2017). Programming Language Teaching Model Based on Computational Thinking and Problem-based Learning. Advances in Social Science, Education and Humanities Research (ASSEHR), 2nd International Seminar on Education Innovation and Economic Management (SEIEM 2017), 156(Seiem), 128–131. https://doi.org/10.2991/seiem-17.2018.31
Choi, S. Y. (2019). Development of an instructional model based on constructivism for fostering computational thinking. International Journal of Innovative Technology and Exploring Engineering, 8(3C), 381–385.
Chung, I. L., Chou, C. M., Hsu, C. P., & Li, D. K. (2016). A programming learning diagnostic system using case-based reasoning method. 2016 IEEE International Conference on System Science and Engineering, ICSSE 2016, 1–4. https://doi.org/10.1109/ICSSE.2016.7551544
Clark, N., Dabkowski, M., Driscoll, P. J., Kennedy, D., Kloo, I., & Shi, H. (2021). Empirical Decision Rules for Improving the Uncertainty Reporting of Small Sample System Usability Scale Scores. International Journal of Human-Computer Interaction, 37(13), 1191–1206. https://doi.org/10.1080/10447318.2020.1870831
Creswell, J. W. (2009). Reserach Design: Qualitative, Quantitative, and Mixed Methods Approaches. Third Edition. SAGE Publications. Inc., 2009.
De Barros, L. N., Dos Santos Mota, A. P., Delgado, K. V., & Matsumoto, P. M. (2005). A Tool for Programming Learning with Pedagogical Patterns. Proceedings of the 2005 OOPSLA Workshop on Eclipse Technology EXchange (Eclipse’05), January, 125–129. https://doi.org/10.1145/1117696.1117722
Deek, F. P., McHugh, J. A., & Roxanne Hiltz, S. (2000). Methodology and technology for learning programming. Journal of Systems & Information Technology 4(1), 4(1), 23–35. https://doi.org/10.1108/13287260080000751
Deek, Fadi P., Kimmel, H., & McHugh, J. A. (1998). Pedagogical Changes in the Delivery of the First-Course in Computer Science : Problem Solving , Then Programming. Journal of Engineering Education, July.
Deek, Fadi P., Turoff, M., & McHugh, J. A. (1999). A common model for problem solving and program development. IEEE Transactions on Education, 42(4), 331–336. https://doi.org/10.1109/13.804541
Department of Polytechnic and Community College Education, M. of E. M. (2019). Course Information DEC20012 Programming Fundamentals.
Derisma. (2020). The usability analysis online learning site for supporting computer programming course using System Usability Scale (SUS) in a university. International Journal of Interactive Mobile Technologies, 14(9), 182–195. https://doi.org/10.3991/ijim.v14i09.13123
Dooly, M., Moore, E., & Vallejo, C. (2017). Research Ethics (pp. 351–362). Research-publishing.net.
Edwards, J. M., Fulton, E. K., Holmes, J. D., Valentin, J. L., Beard, D. V., & Parker, K. R. (2019). Separation of syntax and problem solving in Introductory Computer Programming. Proceedings - Frontiers in Education Conference, FIE, 2018-Octob(May 2019), 1–5. https://doi.org/10.1109/FIE.2018.8658852
Edwards, J. M., Fulton, E. K., Holmes, J. D., Valentin, J. L., Beard, D. V, & Parker, K. R. (2018). Separation of Syntax and Problem Solving in Introductory Computer Programming. 2018 IEEE Frontiers in Education Conference (FIE), October, 1–5. https://doi.org/10.1109/FIE.2018.8658852
Egan, M. H., & Mcdonald, C. (2020). An Evaluation of SeeC : A Tool Designed to Assist Novice C Programmers with Program Understanding and Debugging. Computer Science Education, 00(00), 1–34. https://doi.org/10.1080/08993408.2020.1777034
Emerson, A., Smith, A., Rodriguez, F. J., Wiebe, E. N., Mott, B. W., Boyer, K. E., & Lester, J. C. (2020). Cluster-based analysis of novice coding misconceptions in block-based programming. SIGCSE ’20: Proceedings of the 51st ACM Technical Symposium on Computer Science Education, 825–831. https://doi.org/10.1145/3328778.3366924
Ettles, A., Luxton-Reilly, A., & Denny, P. (2018). Common Logic Errors Made By Novice Programmers. ACM International Conference Proceeding Series, 83–89. https://doi.org/10.1145/3160489.3160493
Evans, C. (2018). Analysing Semi-Structured Interviews Using Thematic Analysis : Exploring Voluntary Civic Participation Analysing Semi-Structured Interviews Using Thematic Analysis : Exploring Voluntary Civic Participation. SAGE Research Methods Datasets.
Fiddi, P. (2015). Epistemological Pluralism of Problem-Solving Styles and Gender in Pedagogical IDE Use. May. https://doi.org/10.13140/RG.2.1.2946.9601
García, C. T., Gómez, L. D., Cepeda, L. C., Cena, C. G., & Hadithi, B. Al. (2012). Flash TM Applications for Learning C Programming Language. 77–81.
Gok, F., & Kwon, K. (2020). A Case Study Exploring Pre-Service Teachers’ Programming Difficulties and Strategies when Learning Programming Languages. Psychology and Cognitive Sciences – Open Journal, 6(1), 1–6. https://doi.org/10.17140/pcsoj-6-152
Guo, P. J. (2013). Online python tutor: Embeddable web-based program visualization for cs education. SIGCSE 2013 - Proceedings of the 44th ACM Technical Symposium on Computer Science Education, 579–584.
Gupta, D., Ahlawat, A. K., Sagar, K., & Access, O. (2017). Usability Prediction & Ranking of SDLC Models Using Fuzzy Hierarchical Usability Model. Open Eng., 161–168. https://doi.org/10.1515/eng-2017-0021
Hamza, Z. A. K., & Hammad, M. (2020). Testing approaches for Web and mobile applications: An overview. International Journal of Computing and Digital Systems, 90(4), 657–664. https://doi.org/10.12785/ijcds/090413
Hasan, A. H., Hilmi, M. F., Ibrahim, F., & Haron, H. (2020). INPUT PROCESS OUTPUT ( IPO ) AI CHATBOT AS PERSONAL LEARNING ASSISTANT FOR PROGRAMMING COURSEWORK. Proceedings of International Conference on The Future of Education IConFEd) 2020, November 2020, 17–18.
Hashim, A. S., Ahmad, R., & Shahrul Amar, M. S. (2017). Difficulties in Learning Structured Programming: A Case Study in UTP. Proceedings - 2017 7th World Engineering Education Forum, WEEF 2017- In Conjunction with: 7th Regional Conference on Engineering Education and Research in Higher Education 2017, RCEE and RHEd 2017, 1st International STEAM Education Conference, STEAMEC 201, 210–215. https://doi.org/10.1109/WEEF.2017.8467151 Heinsen Egan, M., & McDonald, C. (2014). Program visualization and explanation for novice C programmers. Conferences in Research and Practice in Information Technology Series, 148, 51–57.
Helminen, J., & Malmi, L. (2010). Jype - A program visualization and programming exercise tool for python. Proceedings of the ACM Conference on Computer and Communications Security, 153–162. https://doi.org/10.1145/1879211.1879234
Henry, J., & Dumas, B. (2020). Developing an Assessment to Profile Students based on their Understanding of the Variable Programming Concept. Annual Conference on Innovation and Technology in Computer Science Education, ITiCSE, June, 33–39. https://doi.org/10.1145/3341525.3387400
Hidayat, N., & Hati, K. (2021). Penerapan Metode Rapid Application Development ( RAD ) dalam Rancang Bangun Sistem Informasi Rapor Online ( SIRALINE ). 1, 8–17.
Ho, W. (2020). Approaches of Integrating Computational Thinking into Programming Lessons. Proceedings of International Teacher Forum on International Conference on Computational Thinking Education 2020, 7–8.
Hosanee, M., & Rana, M. E. (2018). A Refined Approach for Understanding Role of Variables in Elementary Programming. Journal of Advanced Research in Dynamical and Control Systems, 10(11), 238–248.
Hundhausen, C. D., Olivares, D. M., & Carter, A. S. (2017). IDE-Based Learning Analytics for Computing Education: A Process Model, Critical Review, and Research Agenda. ACM Transactions on Computing Education, 17(3), 1–26. https://doi.org/10.1145/3105759
Iqbal, S. Z., & Idrees, M. (2017). Z-SDLC Model A New Model For Software Development Life Cycle (SDLC). International Journal of Engineering and Advanced Research Technology (IJEART), 3(2), 1–9. https://www.ijeart.com/download_data/IJEART03203.PDF
Ishizue, R., Sakamoto, K., Washizaki, H., & Fukazawa, Y. (2020). PVC . js : Visualizing C Programs on Web Browsers for Novices. Heliyon, 6(December 2019), e03806. https://doi.org/10.1016/j.heliyon.2020.e03806
Ishizue, R., Washizaki, H., Sakamoto, K., & Fukazawa, Y. (2018). PVC: Visualizing C programs on web browsers for novices. SIGCSE 2018 - Proceedings of the 49th ACM Technical Symposium on Computer Science Education, 2018-Janua, 245–250. https://doi.org/10.1145/3159450.3159566
Islam, N., Shafi Sheikh, G., Fatima, R., & Alvi, F. (2019). A Study of Difficulties of Students in Learning Programming. Journal of Education & Social Sciences, 7(2), 38–46. https://doi.org/10.20547/jess0721907203
ISO/IEC/ IEEE 42010. (2011). IEEE 42010 Architecture description (1st ed., Vol. 2011).
ISO. (2018). 9241-11: Ergonomics of human-system interaction—Part 11: Usability: Definitions and concepts (2018). 9214.
Israel, M., & Hay, I. (2006). Research Ethics for Social Scientist between Ethical Conduct and Regulatory Compliance. SAGE Publications.
Jarzebowicz, A., & Weichbroth, P. (2021). A Qualitative Study on Non-Functional Requirements in Agile Software Development. IEEE Access, 9, 40458–40475. https://doi.org/10.1109/ACCESS.2021.3064424
Kasliwal, V., & Vladimirov, A. (2017). A Performance-Based Comparison of C / C ++ Compilers. 1–43.
Khan, F. Q., Rasheed, S., Alsheshtawi, M., Ahmed, T. M., & Jan, S. (2020). A Comparative Analysis of RAD and Agile Technique for Management of Computing Graduation Projects. Computers, Materials & Continua, June. https://doi.org/10.32604/cmc.2020.010959
Khan, I. A., Iftikhar, M., Hussain, S. S., Rehman, A., Gul, N., Jadoon, W., & Nazir, B. (2020). Redesign and Validation of a Computer Programming Course using Inductive Teaching Method. PLoS ONE, 15(6), 1–21. https://doi.org/10.1371/journal.pone.0233716
Khan, M. J., & Mustafa, K. (2018). Integrated Help. Asian Journal of Education and E-Learning, 6(4), 78–94. https://doi.org/10.24203/ajeel.v6i4.5457
Kimmel, S. J., Kimmel, H. S., & Deek, F. P. (2003). The Common Skills of Problem Solving: From Program Development to Engineering Design. International Journal of Engineering Education, 19(6), 810–817.
Kohn, T. (2017). Variable evaluation: An exploration of novice programmers’ understanding and common misconceptions. Proceedings of the Conference on Integrating Technology into Computer Science Education, ITiCSE, 345–350. https://doi.org/10.1145/3017680.3017724
Komiyama, T., Fukuzumi, S., Azuma, M., Washizaki, H., & Tsuda, N. (2020). Usability of Software–Intensive Systems from Developers’ Point of View. Current Status and Future Perspectives of International Standardization of Usability Evaluation. The 22nd International Conference on Human-Computer Interaction, HCI International 2020 (HCII 2020), 450–463.
Kwon, K. (2017). Novice Programmer ’ s Misconception of Programming Reflected on Problem-Solving Plans. International Journal of Computer Science Education in Schools, 1(4). https://doi.org/10.21585/ijcses.v1i4.19
Lai, X., & Wong, G. K. wai. (2022). Collaborative versus individual problem solving in computational thinking through programming: A meta-analysis. British Journal of Educational Technology, 53(1), 150–170. https://doi.org/10.1111/bjet.13157
Lawshe, C. H. (1975). A Quantitative Approach To Content Validity. Personnel Psychology, 28(4), 563–575. https://doi.org/10.1111/j.1744-6570.1975.tb01393.x
Leung, S. O. (2011). A comparison of psychometric properties and normality in 4-, 5-, 6-, and 11-point likert scales. Journal of Social Service Research, 37(4), 412–421. https://doi.org/10.1080/01488376.2011.580697
Liang, T. Y., Peng, H. T., & Li, H. F. (2016). A block-oriented C programming environment. 2016 International Conference on Applied System Innovation, IEEE ICASI 2016, 6–9. https://doi.org/10.1109/ICASI.2016.7539741
Lindgaard, G., Dillon, R., Trbovich, P., White, R., Fernandes, G., & Lundahl, S. (2006). User Needs Analysis and requirements engineering : Theory and practice. Interacting with Computers, 18, 47–70. https://doi.org/10.1016/j.intcom.2005.06.003
Liu, Z., Zhi, R., Hicks, A., & Barnes, T. (2017). Understanding problem solving behavior of 6–8 graders in a debugging game. Computer Science Education, 27(1), 1–29. https://doi.org/10.1080/08993408.2017.1308651
Löfberg, M., & Molin, P. (2005). Web vs . Standalone Application - A maintenance application for Business Intelligence (Issue June). Longhurst, R. (2010). Semi-structured Interviews and Focus Groups. In Key Methods in Geography (pp. 103–115).
MacNeil, S., Ding, Z., Quan, K., Parashos, T., Sun, Y., & Dow, S. P. (2021). Framing Creative Work: Helping Novices Frame Better Problems through Interactive Scaffolding. Creativity and Cognition C&C ’21, 1–10. https://doi.org/10.1145/3450741.3465261
Malik, S. I., & Coldwell-Neilson, J. (2017). A model for teaching an introductory programming course using ADRI. Education and Information Technologies, 22(3), 1089–1120. https://doi.org/10.1007/s10639-016-9474-0
Malik, S. I., Mathew, R., Tawafak, R. M., & Alfarsi, G. (2021). A web-based model to enhance algorithmic thinking for novice programmers. E-Learning and Digital Media, 0(0), 1–18. https://doi.org/10.1177/20427530211026988
Margulieux, L. E., Morrison, B. B., & Decker, A. (2020). Reducing Withdrawal and Failure Rates in Introductory Programming with Subgoal Labeled Worked Examples. International Journal of STEM Education, 7(1). https://doi.org/10.1186/s40594-020-00222-7
Massoudi, M. (2019). A Review on Challenges and Solutions in Learning Programming Courses at Undergraduate Level. International Journal of Applied Research 2019; 5(8): 146-149 ISSN, 5(8), 146–149.
Mat Isa, N. A., & Md Derus, S. R. (2017). Students experience in learning Fundamental Programming : An analysis by gender perception. Advanced Journal of Technical and Vocational Education, 1(1), 240–248.
Md Derus, S. R. (2016). Kesan Pelbagai Strategi Pembelajaran Aktif Berbantukan Visualisasi Program Terhadap Prestasi Pengaturcaraan dan Efikasi-Kendiri Pelajar.
Md Derus, S. R., & Mohamad Ali, A. Z. (2012). Difficulties in Learning Programming: Views of Students. International Conference on Current Issues in Education, ICCIE 2012, 74–79.
Md Derus, S. R., & Mohamad Ali, A. Z. (2014). Integration of visualizaiton techniques and active learning strategy in learning computer programming: A proposed framework. International Journal on New Trends in Education and Their Implications, 5(1), 93–103. http://www.ijonte.org/FileUpload/ks63207/File/10a.derus.pdf%5Cnhttp://www.ijonte.org/?SyfNmb=2&pt=THE NEXT ISSUE
Mehmood, E., Abid, A., Farooq, M. S., & Nawaz, N. A. (2020). Curriculum , Teaching and Learning , and Assessments for Introductory Programming Course. IEEE Access, 8, 125961–125981. https://doi.org/10.1109/ACCESS.2020.3008321
Merriam, S. B. (2002). Introduction to Qualitative Research.
Milne, I., & Rowe, G. (2002). Difficulties in learning and teaching programming - Views of students and tutors. Education and Information Technologies, 7(1), 55–66. https://doi.org/10.1023/A:1015362608943
Mkpojiogu, E. O. C., Hussain, A., & Hassan, F. (2018). A Systematic Review of Usability Quality Attributes for the Evaluation of Mobile Learning Applications for Children. AIP Conference Proceedings, 2016(September). https://doi.org/10.1063/1.5055494
Mohamad Marzuki, M. F., Yaacob, N. A., & Yaacob, N. M. (2018). Translation, cross-cultural adaptation, and validation of the Malay version of the system usability scale questionnaire for the assessment of mobile apps. JMIR Human Factors, 5(2), 1–7. https://doi.org/10.2196/10308
Mohd Yusof, S. S. (2018). Keberkesanan Penggunaan Alat Bantu Mengajar Interaktif Bagi Meningkatkan Kefahaman Konsep Pengaturcaraan Dalam Kalangan Pelajar. Jurnal Penyelidikan Dedikasi, 15.
Mohd Yusoff, K., Ashaari, N. S., Tengku Wook, T. S. M., & Mohd Ali, N. (2020). Analysis on the Requirements of Computational Thinking Skills to Overcome the Difficulties in Learning Programming. International Journal of Advanced Computer Science and Applications, 11(3), 244–253. https://doi.org/10.14569/ijacsa.2020.0110329
Moon, J., Do, J., Lee, D., & Choi, G. W. (2020). A conceptual framework for teaching computational thinking in personalized OERs. Smart Learning Environments, 7(1). https://doi.org/10.1186/s40561-019-0108-z
Morales, J., Botella, F., Rusu, C., & Qui, D. (2019). How “ Friendly ” Integrated Development Environments Are? G. Meiselwitz (Ed.): HCII 2019, LNCS 11578, Pp. 80–91, 2019, 3, 80–91. https://doi.org/10.1007/978-3-030-21902-4
Muktar, M., Effendi, M., Ewan, @, & Matore, M. (2021). Validation of Psychological Well-Being Measurement Itemsusing Content Validity Ratio Technique. Journal of Contemporary Issues in Business and Government, 27(2), 6083–6095. https://doi.org/10.47750/cibg.2021.27.02.605
Mulla, F., Nair, S., & Chhabria, A. (2016). Cross platform C compiler. Proceedings - 2nd International Conference on Computing, Communication, Control and Automation, ICCUBEA 2016, 3–6. https://doi.org/10.1109/ICCUBEA.2016.7859982
Nacheva, R. (2017). Prototyping Approach in User Interface Development. 2nd Conference on Innovative Teaching Methods (ITM 2017), October, 78–84.
Naidu, T. J., & Saad, A. (2018). a Guideline for an Effective User Interface for Educational Semantic Application. The International Journal of Multimedia & Its Applications, 10(06), 71–89. https://doi.org/10.5121/ijma.2018.10607
Nathasya, R. A., Karnalim, O., & Ayub, M. (2019). Integrating program and algorithm visualisation for learning data structure implementation. Egyptian Informatics Journal, 20(3), 193–204. https://doi.org/10.1016/j.eij.2019.05.001
Natow, R. S. (2020). The use of triangulation in qualitative studies employing elite interviews. Qualitative Research, 20(2), 160–173. https://doi.org/10.1177/1468794119830077
Navarro, E. O., & Hoek, A. Van Der. (2016). On the Role of Learning Theories in Furthering Software Engineering Education (Issue January 2008). https://doi.org/10.4018/978-1-60566-102-5.ch003
Nelson, G. L., Xie, B., & Ko, A. J. (2017). Comprehension First: Evaluating a Novel Pedagogy and Tutoring System for Program Tracing in CS1. Proceedings of the 2017 ACM Conference on International Computing Education Research - ICER ’17., 42–51. https://doi.org/10.4324/9781315211800
Nelson, N., Sarma, A., & Hoek, A. van der. (2017). Towards an IDE to Support Programming as Problem-Solving. Proceedings of the 2017 Psychology of Programming Interest Group (PPIG), 15.
Nemetz, S., Schmitt, S., & Freiling, F. (2018). A standardized corpus for SQLite database forensics. DFRWS 2018 EU - Proceedings of the 5th Annual DFRWS Europe, 24, S121–S130. https://doi.org/10.1016/j.diin.2018.01.015 Ojha T, & Sharma G. (2020). Learning C Programming for Undergraduate Students : Motivation , Perception and Strategies. Journal of Current Engineering and Technology ISSN: 2582-1210, 2(1), 2–4.
Pandey, D., Suman, U., Ramani, A. K., & Ahilyavishwavidyalaya, D. (2011). A Framework for Modelling Software Requirements. International Journal of Computer Science Issues IJCSI, 8(3), 164–171.
Pareek, P., & Chande, S. V. (2020). Grey Box Approach for Mobile Application Testing Peeyush. Proceedings of FICR-TEAS, 411–419.
Perera, P., Tennakoon, G., Ahangama, S., Panditharathna, R., & Chathuranga, B. (2021). A Systematic Mapping of Introductory Programming Languages for Novice Learners. IEEE Access, 9, 88121–88136. https://doi.org/10.1109/ACCESS.2021.3089560
Pressman, R. S., & Maxim, B. R. (2015). Software Engineering: A Practitioner’s Approach (8th ed.). McGraw-Hill Education.
Price, A. M., Kim, C. J., Burkholder, E. W., Fritz, A. V., & Wieman, C. E. (2021). A Detailed Characterization of the Expert Problem-Solving Process in Science and Engineering : Guidance for Teaching and Assessment. CBE—Life Sciences Education, 20(3), 1–15. https://doi.org/10.1187/cbe.20-12-0276
Price, B. A., Baecker, R. M., & Small, I. S. (1993). A Principled Taxonomy of Software Visualization. https://doi.org/10.1006/jvlc.1993.1015
Priyanto, A. (2022). Analisa Informasi Inventory Barang Dengan Metode ( Rapid Application. Information System Development, 7(2).
Qian, Y., & Lehman, J. (2017). Students’ misconceptions and other difficulties in introductory programming: A literature review. ACM Transactions on Computing Education, 18(1), 1–24. https://doi.org/10.1145/3077618
Qian, Y., & Lehman, J. D. (2019). Using Targeted Feedback to Address Common Student Misconceptions in Introductory Programming : A Data-Driven Approach. SAGE Open, 9(4), 215824401988513., 1800. https://doi.org/10.1177/2158244019885136
QRA Team. (2019). Functional vs non-functional requirements: The definitive guide. Qra, 2019. https://qracorp.com/functional-vs-non-functional-requirements/ Rahmat, M., Shahrani, S., Latih, R., Yatim, N. F. M., Zainal, N. F. A., & Rahman, R. A. (2012). Major Problems in Basic Programming that Influence Student Performance. Procedia - Social and Behavioral Sciences, 59, 287–296. https://doi.org/10.1016/j.sbspro.2012.09.277
Rahmawati, V., & Rosyida, S. (2020). Analisa Model Rapid Application Development Dalam Membangun Sistem Informasi Sekolah Mengemudi. Paradigma – Jurnal Informatika Dan Komputer, 22(1).
Ramdhani, M. A., Sa, D., Amin, A. S., & Aulawi, H. (2018). Requirements Elicitation in Software Engineering. International Journal of Engineering & Technology, 7, 772–775.
Ramli, N. F. binti, Talib, O. bin, Manaf, U. K. binti A., & Hassan, S. A. binti. (2018). Content Validity of STEMTIP Using CVR Method. International Journal of Academic Research in Business and Social Sciences, 8(7), 1118–1125. https://doi.org/10.6007/ijarbss/v8-i7/4559
Reyes, R. D. G. D., & Torio, V. A. G. (2021). The Relationship of Expert Teacher–Learner Rapport and Learner Autonomy in the CVIF-Dynamic Learning Program. Asia-Pacific Education Researcher, 30(5), 471–481. https://doi.org/10.1007/s40299-020-00532-y
Rich, P. J., Egan, G., & Ellsworth, J. (2019). A framework for decomposition in computational thinking. Annual Conference on Innovation and Technology in Computer Science Education, ITiCSE, 416–421. https://doi.org/10.1145/3304221.3319793
Riza, L. S., Handoko, B., Wihardi, Y., & Herbert. (2019). Computational story: Learning media for algorithm and programming based on computational thinking. International Journal of Engineering and Advanced Technology, 9(1), 2682–2685. https://doi.org/10.35940/ijeat.A9738.109119
Rubio, M. A., Romero-Zaliz, R., Manoso, C., & De Madrid, A. P. (2015). Enhancing an introductory programming course with physical computing modules. Proceedings - Frontiers in Education Conference, FIE, 2015-Febru(February). https://doi.org/10.1109/FIE.2014.7044153
Saad, A., & Dawson, C. (2018). Requirement elicitation techniques for an improved case based lesson planning system. Journal of Systems and Information Technology, 20(1), 19–32. https://doi.org/10.1108/JSIT-12-2016-0080
Sáez López, J. M., Buceta Otero, R., & De Lara García-Cervigón, S. (2020). Introducing robotics and block programming in elementary education. RIED. Revista Iberoamericana de Educación a Distancia, 24(1), 95. https://doi.org/10.5944/ried.24.1.27649
Sajaniemi, J., Byckling, P., Gerdt, P., & Kulikova, Y. (2006). Roles of Variables in Three Programming Paradigms. Computer Science Education, 16(December), 261 –279 Roles. https://doi.org/10.1080/08993400600874584
Saritepeci, M. (2020). Developing Computational Thinking Skills of High School Students: Design-Based Learning Activities and Programming Tasks. Asia-Pacific Education Researcher, 29(1), 35–54. https://doi.org/10.1007/s40299-019-00480-2
Satav, S. K., Satpathy, S. K., & Satao, K. J. (2011). A Comparative Study and Critical Analysis of Various Integrated Development Environments of C, C++, and Java Languages for Optimum Development*. 1(1), 9–15. http://uniascit.in/files/documents/2011_03.pdf
Scherer, R., Siddiq, F., & Sánchez Viveros, B. (2020). A meta-analysis of teaching and learning computer programming: Effective instructional approaches and conditions. Computers in Human Behavior, 109(0318). https://doi.org/10.1016/j.chb.2020.106349
Schoch, K. (2020). Chapter 16 Case Study Research. In The Scholar-Practitioner’s Guide to Research Design (pp. 245–256).
Schrepp, M. (2020). On the Usage of Cronbach’s Alpha to Measure Reliability of UX Scales. Journal of Usability Studies, 15(4), 247–258.
Schwarz, N., Groves, R., & Schuman, H. (1998). Survey Methods. In The Handbook of Social Psychology (Issue August, pp. 143–178).
Shi, N., Min, Z., & Zhang, P. (2017). Effects of Visualizing Roles of Variables with Animation and IDE in Novice Program Construction. Telematics and Informatics, 34(5), 743–754. https://doi.org/10.1016/j.tele.2017.02.005
Shin, W. (2018). A Study on the Effects of Visualization Tools on Debugging Program and Extending Functionality. International Journal of Advanced Science and Technology Vol.115 (2018), Pp.149-160, 115, 149–160. https://doi.org/http://dx.doi.org/10.14257/ijast.2018.115.14 Sidhanth, N., Sanjeev, S., Swettha, S., & Srividya, R. (2014). A Next Generation IDE through Multi Tenant Approach. International Journal of Information and Electronics Engineering, 4(1), 27–30. https://doi.org/10.7763/IJIEE.2014.V4.402
Sim, T. Y., & Lau, S. L. (2018). Online Tools to Support Novice Programming: A Systematic Review. 2018 IEEE Conference on E-Learning, e-Management and e-Services, IC3e 2018, 91–96. https://doi.org/10.1109/IC3e.2018.8632649
Singh, A., & Kaur, P. J. (2019). Analysis of Software Development Life Cycle Models. Proceeding of the Second International Conference on Microelectronics, Computing & Communication Systems, Mccs 2017, 689–699. https://doi.org/10.1007/978-981-10-8234-4
Singh, G. (2017). Using Virtual Reality for Scaffolding Computer Programming Learning. Proceedings OfVRST ’17.
Škoric, I., Pein, B., & Orehovacki, T. (2016). Selecting the Most Appropriate Web IDE for Learning Programming Using AHP. 39th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), Opatija, 877–882. https://doi.org/10.1109/MIPRO.2016.7522263.
Sneha, K., & Malle, G. M. (2017). Assistant Professor in Computer Science Department. 2017 International Conference on Energy, Communication, Data Analytics and Soft Computing (ICECDS), 77–81.
Sommerville, I. (2016). Software Engineering (10th ed.). Pearson.
Sosnovsky, S., & Gavrilova, T. (2006). DEVELOPMENT OF EDUCATIONAL ONTOLOGY FOR C-PROGRAMMING. International Journal “Information Theories & Applications,” 13, 303–308.
Sousa, V. E. C., & Lopez, K. D. (2017). Towards Usable E-Health: A Systematic Review of Usability Questionnaires. Applied Clinical Informatics.
Spieler, B., Pfaff, N., & Slany, W. (2020). Reducing Cognitive Load through the Worked Example Effect within a Serious Game Environment. Proceedings of 6th International Conference of the Immersive Learning Research Network, ILRN 2020, 1–8. https://doi.org/10.23919/iLRN47897.2020.9155187
Stephen Cass. (2019). The Top Programming Languages 2019. IEEE Spectrum. https://spectrum.ieee.org/computing/software/the-top-programming-languages- 2019
Suárez Martel, M. J., & Martín Santana, J. D. (2021). The mediating effect of university teaching staff’s psychological well-being between emotional intelligence and burnout. Psicologia Educativa, 27(2), 145–153. https://doi.org/10.5093/psed2021a12
Supriyadi, D., Thya Safitri, S., & Kristiyanto, D. Y. (2020). Higher Education e-Learning Usability Analysis Using System Usability Scale. International Journal of Information System & Technology Akreditasi, 4(1), 436–446.
Susanto, N., Budiawan, W., Ismail, R., Ariyanto, M., & Sahal, A. (2018). Usability Evaluation of Anthropomorphic Prosthetic Hand Based on ISO 9241-11. MATEC Web of Conferences, 159, 1–6. https://doi.org/10.1051/matecconf/201815902069
Svensson, B. (2020). “Unplugged” Programming - A Way to Learn the Basics of Programming. Proceedings of International Teacher Forum on International Conference on Computational Thinking Education 2020, 21–22.
Sweller, J., van Merriënboer, J. J. G., & Paas, F. (2019). Cognitive Architecture and Instructional Design: 20 Years Later. Educational Psychology Review, 31(2), 261–292. https://doi.org/10.1007/s10648-019-09465-5
Swezller, J. (1994). Cognitive Load Theory , Learning Difficulty , and Instructional Design. 4, 295–312.
Szabó, Z. (2020). Problem Solving and Interrelation of Concepts in Teaching Algorithmic Thinking and Programming. Proceedings of the 11th International Conference on Applied Informatics, 2650, 318–327.
Taat, M. S., & Francis, A. (2020). Factors influencing the students’ acceptance of e-learning at teacher education institute: An exploratory study in Malaysia. International Journal of Higher Education, 9(1), 133–141. https://doi.org/10.5430/ijhe.v9n1p133
Taherkhani, A., Korhonen, A., & Malmi, L. (2011). Recognizing algorithms using language constructs, software metrics and roles of variables: An experiment with sorting algorithms. Computer Journal, 54(7), 1049–1066. https://doi.org/10.1093/comjnl/bxq049
Tawfik, A. A., Graesser, A., Gatewood, J., & Gishbaugher, J. (2020). Role of questions in inquiry-based instruction: towards a design taxonomy for question-asking and implications for design. Educational Technology Research and Development, 68(2), 653–678. https://doi.org/10.1007/s11423-020-09738-9
TIOBE Index for January 2021. (2021). https://www.tiobe.com/tiobe-index/ Index
Veerasamy, A. K., D’Souza, D., Lindén, R., & Laakso, M. J. (2019). Relationship between perceived problem-solving skills and academic performance of novice learners in introductory programming courses. Journal of Computer Assisted Learning, 35(2), 246–255. https://doi.org/10.1111/jcal.12326
Venigalla, A. S. M., Lakkundi, C. S., & Chimalakonda, S. (2020). PointerViz - Towards Visualizing Pointers for Novice Programmers. Proceedings of the 53rd Hawaii International Conference on System Sciences, 3, 118–126. https://doi.org/10.24251/hicss.2020.015
Virtanen, A. T., Lahtinen, E., & Järvinen, H.-M. (2005). VIP, a Visual Interpreter for Learning Introductory Programming with C++. Koli Calling 2005 - Proceedings of the Fifth Koli Calling Conference on Computer Science Education. Turku Centre for Computer Science. Https://Tucs.Fi/Publications/ View/?Pub_id=pSaMaLa06a, November, 125–130.
Vrachnos, E., & Jimoyiannis, A. (2017). Secondary Education Students’ Difficulties in Algorithmic Problems with Arrays: An Analysis Using the SOLO Taxonomy. Themes in Science and Technology Education, 10(1), 31–52.
Waite, J., Curzon, P., Marsh, W., & Sentance, S. (2020). Difficulties with design: The challenges of teaching design in K-5 programming. Computers and Education, 150(September 2019), 103838. https://doi.org/10.1016/j.compedu.2020.103838
Warner, J., & Guo, P. J. (2017). CodePilot : Scaffolding End-to-End Collaborative Software Development for Novice Programmers. 9, 1136–1141.
Winslow, L. E. (1996). Programming Pedagogy - A Psychological Overview. SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education), 28(3), 17–23. https://doi.org/10.1145/234867.234872
Wohlin, C., & Runeson, P. (2021). Guiding the selection of research methodology in industry–academia collaboration in software engineering. Information and Software Technology, 140(November 2020), 106678. https://doi.org/10.1016/j.infsof.2021.106678
Wolff, C. E., Jarodzka, H., & Boshuizen, H. P. A. (2021). Classroom Management Scripts: a Theoretical Model Contrasting Expert and Novice Teachers’ Knowledge and Awareness of Classroom Events. Educational Psychology Review, 33(1), 131–148. https://doi.org/10.1007/s10648-020-09542-0
Wu, L., Liang, G., Kui, S., & Wang, Q. (2011). CEclipse : An Online IDE for Programing in the Cloud. 45–52. https://doi.org/10.1109/SERVICES.2011.74
Wulf, T. (2005). Constructivist Approaches for Teaching Computer Programming. Proceedings of the 6th Conference on Information Technology Education - SIGITE ’05, 245–248.
Xinogalos, S. (2016). Designing and deploying programming courses: Strategies, tools, difficulties and pedagogy. Education and Information Technologies, 21(3), 559–588. https://doi.org/10.1007/s10639-014-9341-9
Yan, Y., Hara, K., Kazuma, T., Hisada, Y., & He, A. (2018). PROVIT-CI : A Classroom-Oriented Educational Program Visualization Tool *. IEICE TRANS. INF. & SYST., VOL.E101–D, NO.2 FEBRUARY 2018 PAPER, 2, 447–454.
Yen, C. W., & Wang, T. I. (2017). Using Self-Explanation and Ontology for Providing Proper Feedbacks in a Programming Environment. Proceedings - 2017 6th IIAI International Congress on Advanced Applied Informatics, IIAI-AAI 2017, 585–590. https://doi.org/10.1109/IIAI-AAI.2017.136
Yusoff, M. S. B. (2019). ABC of Content Validation and Content Validity Index Calculation. Education in Medicine Journal, 11(2), 49–54. https://doi.org/10.21315/eimj2019.11.2.6
Zaid, N., & Tasir, Z. (2007). Penggunaan teknik penyelesaian masalah dalam pembangunan aturcara komputer bagi pelajar pendidikan. 1st International Malaysian Educational Technology Convention, 1989, 844–851.
|
This material may be protected under Copyright Act which governs the making of photocopies or reproductions of copyrighted materials. You may use the digitized material for private study, scholarship, or research. |