A data design for integrating problem solving into frame-based programming
Keywords:problem-solving, frame-based programming, data design, C language programming
Data design is one of the main types of design in software development. This paper aims to design a database for a programming application as a part of the application development process. The purpose of the application is to help students of Introductory Programming in the higher learning institutions of Malaysia solve programming problems in a programming environment, especially in the C language. The objective of the study is to produce a data design to integrate data from a problem-solving process into a frame-based programming environment. To achieve this objective, the study is adopting the user design part of the Rapid Application Development (RAD) Model. Six validated problem-solving steps which are based on computational thinking (CT) concepts combined with the input-process-output (IPO) Model were utilized to gather data in the problem-solving process. Then, these data were integrated into ten validated sets of programming Code Patterns to be utilized in the frame-based programming environment. An entity-relationship diagram (ERD) which shows the relationship of seven entities was produced to illustrate the data design of the IPO database. This IPO database is the core of this programming application that integrates problem-solving into the frame-based programming environment. This integration contributes to the advancement of an integrated development environment (IDE) approach specifically for the needs of the novices. It helps to automate the instruction coding based on the guided problem solution, thus helping the novices to overcome the difficulties due to their incompetency in the programming language. Therefore, the design produced from this study is significant in developing an introductory IDE application for the students to improve their problem-solving and programming skills and prepare them for future demands of the industrial revolution challenges.
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
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
Chaka, C. (2020). Skills, Competencies and Literacies Attributed to 4IR/Industry 4.0: Scoping Review. International Federation of Library Associations and Institutions, 46(4), 369–399. https://doi.org/10.1177/0340035219896376
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.
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
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
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
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
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
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
Kurnianda, N. R. (2018). Database Design for Customer Retention and Loyalty Administration Information System. IJCSMC:: International Journal of Computer Science and Mobile Computing, 7(10), 1-8.
Lubis, J. H., & Zamzami, E. M. (2019). Relational database reconstruction from SQL to Entity Relational Diagrams Relational database reconstruction from SQL to Entity Relational Diagrams. Journal of Physics: Conference Series, 10–15. https://doi.org/10.1088/1742-6596/1566/1/012072
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
Masura, R., Shahrina, S., Rodziah, L., Noor Faezah, M. Y., Noor Faridatul Ainun, Z., & Rohizah, A. R. (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
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.
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
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.
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
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
Rahmawati, V., & Rosyida, S. (2020). Analisa Model Rapid Application Development Dalam Membangun Sistem Informasi Sekolah Mengemudi. Paradigma – Jurnal Informatika Dan Komputer, 22(1).
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. (2020). Students’ computational thinking skill through cooperative learning based on hands-on, inquiry-based, and student-centric learning approaches. Universal Journal of Educational Research, 8(1), 290–296. https://doi.org/10.13189/ujer.2020.080135
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
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
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
Warner, J., & Guo, P. J. (2017). CodePilot : Scaffolding End-to-End Collaborative Software Development for Novice Programmers. 9, 1136–1141.
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
How to Cite
Copyright (c) 2022 Nor Farahwahida Mohd Noor, Aslina Saad, Abu Bakar Ibrahim
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.