A Design for Challenge-Based Learning of Programming

Rodziah Latih, Marini Abu Bakar, Norleyza Jailani, Noorazean Mohd Ali, Syahanim Mohd Salleh, Abdullah Mohd. Zin


Computer Science students are expected to acquire good programming skills. Both students and instructors accept that learning programming for first-year college students is fairly difficult. To assist students to achieve this goal, instructors will have to adopt a suitable design for programming courses. This paper reports on the design of a Computer Programming course based on the integrated course design approach, which was conducted by a research group at Universiti Kebangsaan Malaysia from the Faculty of Information Science and Technology. The course is designed to provide relevant teaching and learning activities, feedback, and assessment that will ultimately support the learning goals of students. The design will provide opportunities for preparation time, meaningful feedback, and a competitive feel to the course. The effectiveness of this approach is then evaluated via an online survey that was administered to first-year undergraduate students. The results obtained from 250 first-year students showed that the students were able to improve their programs with the utilization of PC2, as it allowed them to obtain prompt feedback. The use of PC2 also gives them a competitive atmosphere, which motivates them to perform better. The survey results also indicate that the students used their time to prepare for lab sessions via tutorials and self-learning.


Integrated Course Design; Three-Tier Course Structure; Automated Feedback; Programming Exercise; Programming Assessment

Full Text:



Yang, T.-C., Hwang, G.-J., Yang, S. J. H., & Hwang, G.-H. (2015). “A Two-Tier Test-based Approach to Improving Students’ Computer- Programming Skills in a Web-Based Learning Environment”, Educational Technology & Society, 18(1), pp. 198–210.

Brame CJ and Biel R (2015). “Test-enhanced learning: The potential for testing to promote greater learning in undergraduate science courses”, CBE—Life Sciences Education 14, pp. 1-12.

Kani, U. M., Sa’ad, T. U. (2015), “Drill as a Process of Education”, European Journal of Business and Management, Vol.7 (21), pp. 175-178.

H. Mohamad Judi, S. Mohd Salleh, N. Hussin, S. Idris (2010), “The Use of Assignment Programming Activity Log to Study Novice Programmers’ Behavior between Non-Plagiarized and Plagiarized Groups,” Journal Information Technology, 9(1), pp. 98-106. DOI: 10.3923/itj.2010.98.106

N. F. A. Zainal, S. Shahrani, N. F. M. Yatim, R. A. Rahman, M. Rahmat, and R. Latih (2012), “Students’ Perception and Motivation towards Programming,” Procedia - Soc. Behav. Sci., vol. 59, pp. 277-286. https://doi.org/10.1016/j.sbspro.2012.09.276

Sun, W. and Sun, X. (2011). “Teaching Computer Programming Skills to Engineering and Technology Students with a Modular Programming Strategy”. Technical Report (AC 2011-308), Oregon Institute of Technology.

Krpan, D., Mladenović, S. and Rosić, M. (2015). “Undergraduate Programming Courses, Students’ Perception and Success”, Procedia - Social and Behavioral Sciences, vol. 174(2015), pp. 3868 – 3872.

Fink, L. D. (2007). “The Power of Course Design to Increase Student Engagement and Learning”. Peer Review, Winter 200, pp. 13–18.

M. Mukhtar, Y. Yahya, S. Abdullah, A. R. Hamdan, N. Jailani, & Z. Abdullah (2009). “Employability and service science: Facing the challenges via curriculum design and restructuring”, Proceedings of the 2009 International Conference on Electrical Engineering and Informatics (ICEEI 2009), pp. 357-361. DOI: 10.1109/ICEEI.2009.5254712

Kleinschmit, M. (2015). “Generation Z characteristics: 5 infographics on the Gen Z lifestyle”, [Online]. Available: https://www.visioncritical.com/generation-z-infographics/.

Mohr, Kathleen A. J. and Mohr, Eric S. (2017). “Understanding Generation Z Students to Promote a Contemporary Learning Environment”. Journal on Empowering Teaching Excellence: vol. 1(1), Article 9. http://doi.org/10.15142/T3M05T

Singh A. (2014), “Challenges and issues of Generation Z”, IOSR Journal of Business and Management, vol. 6(7), pp. 59-63.

(2016) Gen Z in the Classroom: Creating the Future. [Online]. Available: http://www.adobeeducate.com/genz/adobe-education-genz.

Gupta, S. and Gupta, A. (2018). “E-Assessment Tools for Programming Languages: A Review”. Proceedings of the First International Conference on Information Technology and Knowledge Management, vol. 14, pp. 65-70. DOI: 10.15439/2018KM31.

White, G. and Kiegaldie, D. (2011). “Gen Y Learners: Just How Concerned Should We Be?”, Clin. Teach., vol. 8(4), pp. 263–266.

M. Rahmat, S. Shahrani, R. Latih, N. F. M. Yatim, N. F. A. Zainal, and R. A. Rahman, (2012). “Major Problems in Basic Programming that Influence Student Performance,” Procedia - Soc. Behav. Sci., vol. 59, pp. 287–296. https://doi.org/10.1016/j.sbspro.2012.09.277

S.A. Sukiman, H. Yusop, R. Mokhtar, and N.H. Jaafar (2016). “Competition-Based Learning: Determining the Strongest Skill that Can Be Achieved Among Higher Education Learners”, Regional Conference on Science, Technology and Social Sciences: Business and Social Sciences, pp. 505-516.

I. Supriana, RD. Agustin, M. A. Bakar, & N.A.M. Zin, (2017). “Serious games for effective learning”, 6th International Conference on Electrical Engineering and Informatics (ICEEI’2017).

(2017) “Welcome to the PC2 Home Page”. [Online]. Available: https://pc2.ecs.csus.edu/

Keuning, H., Jeuring, J., & Heeren, B. (2016). “Towards a Systematic Review of Automated Feedback Generation for Programming Exercises”. Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE’16), pp. 41–46. http://doi.org/10.1145/2899415.2899422

DOI: http://dx.doi.org/10.18517/ijaseit.8.5.6455


  • There are currently no refbacks.

Published by INSIGHT - Indonesian Society for Knowledge and Human Development