An Analysis of Learning Difficulties Among First-Year Students in Basic Computer Programming
Abstract
Learning difficulties in introductory programming are a common phenomenon experienced by first-year vocational students, particularly in the fields of engineering and mechatronics, which require mastery of conceptual, algorithmic logic, syntactic, and technical competencies. This study aims to analyze the level of learning difficulties in the Basic Computer Programming course using a descriptive quantitative approach involving 45 first-year students of the Vocational Mechatronics Education Study Program in the 2025/2026 Academic Year. Data were collected using a five-point Likert scale questionnaire and analyzed through descriptive statistics. The findings indicate that all difficulty indicators fall within the moderate category, with mean values ranging from 2.302 to 2.769. The highest level of difficulty was reported in algorithmic logic (mean = 2.769), reflecting students’ limited ability to develop programming logic and understand conditional and looping structures. Syntactic difficulties (mean = 2.711) were observed in interpreting error messages and debugging, while conceptual difficulties (mean = 2.573) indicate that students’ mental models of variables, data types, and input–process–output structures have not been fully established. Technical difficulties recorded the lowest mean (2.302), although challenges were still present in using IDEs and configuring directories. The findings also demonstrate interdependencies among indicators, where weak conceptual understanding leads to poor algorithmic reasoning and increased syntactic errors. Based on the results, the implementation of project-based learning strategies, conceptual reinforcement through visualization and structured practice, gradual algorithmic training, and technical mentoring for programming software usage is recommended. This research provides theoretical contributions to literature on programming education within the vocational context and offers practical foundations for designing adaptive and contextual pedagogical interventions to enhance students’ learning achievement.
References
Basar, A. M. (2021). The effectiveness of online learning in vocational education during pandemic COVID-19. International Journal of Education and Learning, 3(3), 185–195. https://doi.org/10.31763/ijele.v3i3.370
Brown, N. C. C., & Kölling, M. (2015). Highlighting key words in a code editor can help novices read code better. Proceedings of the 46th ACM Technical Symposium on Computer Science Education, 573–578. https://doi.org/10.1145/2676723.2677266
Cohen, L., Manion, L., & Morrison, K. (2018). Research Methods in Education (8th ed.). Routledge.
Creswell, J. W., & Creswell, J. D. (2018). Research Design: Qualitative, Quantitative, and Mixed Methods Approaches (5th ed.). Sage Publications.
Efendi, H., & Cahyono, B. (2024). Examining the impact of block-based visual programming environments on motivation and learning outcomes of novice programming students in Indonesia. Indonesian Journal of Teaching in Science, 4(1), 45–58. https://ejournal.upi.edu/index.php/IJoTis/article/download/78732/29888
Fitriani, A., & Sari, Y. (2023). Analisis kesulitan belajar mahasiswa pada mata kuliah pemrograman dasar: Studi kasus di politeknik negeri. Jurnal Pendidikan Vokasi, 13(1), 45–56. https://doi.org/10.21831/jpv.v13i1.56789
Fitzgerald, S., Lewandowski, G., Eagan, R. E., Sandler, B., & Thomas, L. (2008). Debugging: Finding, fixing and flailing, a multi-institutional study of novice debuggers. ACM SIGCSE Bulletin, 40(1), 177–181. https://doi.org/10.1145/1352322.1352191
Gomes, A., & Mendes, A. J. (2022). Difficulties in learning programming: A review. Education and Information Technologies, 27(3), 3141–3162. https://doi.org/10.1007/s10639-021-10747-5
Hair, J. F., Page, M., & Brunsveld, N. (2022). Essentials of Business Research Methods (5th ed.). Routledge.
Herdiana, D., & Supriatna, A. (2023). Analisis kesulitan mahasiswa dalam mata kuliah pemrograman dasar menggunakan pendekatan survei. Jurnal Pendidikan Teknik Elektro, 4(1), 78–89. https://doi.org/10.24037/jpte.v4i1.567
Koulouri, T., Lauria, S., & Macredie, R. D. (2015). Teaching introductory programming: A quantitative evaluation of different approaches. ACM Transactions on Computing Education (TOCE), 14(4), 1–28. https://doi.org/10.1145/2662412
Lahtinen, E., Ala-Mutka, K., & Järvinen, H. M. (2005). A study of the difficulties of novice programmers. ACM SIGCSE Bulletin, 37(3), 199–202. https://doi.org/10.1145/1151958.1151963
Nugroho, A., & Wibawa, S. (2025). An innovative learning approach for enhancing basic programming skills in Indonesian vocational higher education. TEM Journal, 14(2), 1629–1641. https://www.temjournal.com/content/142/TEMJournalMay2025_1629_1641.pdf
Pratama, A., & Yuliana, D. (2020). Penggunaan media pembelajaran interaktif untuk meningkatkan pemahaman konsep pemrograman dasar mahasiswa. Jurnal Pendidikan Teknologi Dan Kejuruan, 27(1), 55–66. https://doi.org/10.21831/jptk.v27i1.30791
Putri, T., & Sari, R. P. (2024). A preliminary study: The cause of university students’ difficulties in programming subject. Jurnal Ilmiah Teknik Elektro Komputer Dan Informatika, 9(4), 123–135. https://www.researchgate.net/publication/378121219_A_preliminary_study_The_cause_of_university_students_difficulties_in_programming_subject
Qian, Y., & Lehman, J. (2017). Students’ misconceptions and other difficulties in introductory programming: A literature review. ACM Transactions on Computing Education (TOCE), 18(1), 1–24. https://doi.org/10.1145/3077618
Qian, Y., & Lehman, J. D. (2021). Correlates of Success in Introductory Programming: A Study with Middle School Students. Journal of Research on Technology in Education, 53(4), 432–449. https://doi.org/10.1080/15391523.2020.1778856
Rahardja, U., & Abdullah, M. (2025). A systematic review of challenges in teaching and learning programming in higher education. International Journal of Computing Sciences, 3(1), 12–25. http://ijcs.net/ijcs/index.php/ijcs/article/view/4592
Rivers, K., & Koedinger, K. R. (2017). Data-driven hint generation in vast solution spaces: A self-improving python programming tutor. International Journal of Artificial Intelligence in Education, 27(1), 37–64. https://doi.org/10.1007/s40593-016-0129-y
Robins, A. (2019). Novice programmers and introductory programming. Computer Science Education, 29(2--3), 135–172. https://doi.org/10.1080/08993408.2019.1565235
Saeli, M., Perrenet, J., Jochems, W., & Zwaneveld, B. (2020). The role of learning analytics in improving computer programming education. Journal of Educational Technology & Society, 23(4), 45–60. https://www.jstor.org/stable/26921467
Saputro, R. E., & Salam, M. (2021). Analisis kesulitan mahasiswa dalam memahami logika pemrograman berbasis Python pada mata kuliah algoritma dan pemrograman. Jurnal Pendidikan Teknologi Dan Kejuruan, 27(2), 123–134. https://doi.org/10.21831/jptk.v27i2.41327
Sari, D. P., & Efendi, A. (2025). Effectiveness of coding in enhancing computational thinking skills among elementary students. Edunesia: Jurnal Ilmiah Pendidikan, 6(2), 150–162. https://www.edunesia.org/index.php/edu/article/download/1299/590/9544
Sorva, J., Karavirta, V., & Seppälä, L. (2011). A review of recent research on the teaching of programming. In Lecture Notes in Computer Science (Vol. 6882, pp. 32–40). https://doi.org/10.1007/978-3-642-22023-2_4
Sugiyono. (2021). Metode Penelitian Kuantitatif, Kualitatif, dan R&D. Alfabeta.
Watson, C., Li, F. W. B., & Godwin, J. L. (2020). Learning programming at scale: Challenges and opportunities in MOOCs. Journal of Computer Assisted Learning, 36(1), 121–133. https://doi.org/10.1111/jcal.12381
Whalley, J., Lister, R., Thompson, E., Clear, T., Robins, P., Kumar, P. K. A., & Prasad, C. (2006). A multi-national study of reading and tracing skills in novice programmers. ACM SIGCSE Bulletin, 38(3), 119–123. https://doi.org/10.1145/1151869.1151890
Yahaya, N., Abd Kadir, R., Miskon, M. F., & Jusoh, A. (2020). Integrating programming skills in mechatronics education: A case study. International Journal of Emerging Technologies in Learning (IJET), 15(10), 65–79. https://doi.org/10.3991/ijet.v15i10.12793
Zhong, B., & Xia, L. (2020). Threading and anchoring: Scaffolding computational thinking in block-based programming. Journal of Educational Computing Research, 58(6), 1176–1200. https://doi.org/10.1177/0735633120919950

















Contact Person +6282139474255
Email : ijevss@citakonsultindo.or.id / editor.ijevss@gmail.com