UPSI Digital Repository (UDRep)
Start | FAQ | About
Menu Icon

QR Code Link :

Type :thesis
Subject :QA Mathematics
Main Author :Nor Farahwahida Mohd Noor
Title :An integrated development environment on problem-solving for C programming fundamentals
Place of Production :Tanjong Malim
Publisher :Fakulti Seni, Komputeran dan Industri Kreatif
Year of Publication :2022
Corporate Name :Universiti Pendidikan Sultan Idris
PDF Guest :Click to view PDF file

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.

Back to previous page

Installed and configured by Bahagian Automasi, Perpustakaan Tuanku Bainun, Universiti Pendidikan Sultan Idris
If you have enquiries, kindly contact us at pustakasys@upsi.edu.my or 016-3630263. Office hours only.