Globally, numerous students struggle with understanding computer programming, which is one of the most difficult courses in the computer science curriculum as stated in the literature. This is especially true in a diverse learning environment where students come from different disciplinary backgrounds, language skills, and cultures. Hence, to improve on the aforementioned challenges, another research introduces a framework that combines constructivist and collaborative learning theories with a student-centered teaching pedagogy for teaching postgraduate introductory programming classes at Central Queensland University, Australia. However, the framework will not work effectively when teaching computer programming courses to undergraduate students in Saudi Arabia. This is due to geographical differences, study levels, negative emotional issues, and stress affecting students' learning. Such as students' first view that programming is difficult, or the difference between students' and teachers' perspectives on learning (disciplinary backgrounds, language skills, and cultures). Therefore, this paper proposed a student-centered learning and teaching method that combines constructive alignment (consistency), collaborative learning theory (collaboration, conception, and cognition), and bits of Maslow's theory (love/belonging and self-actualization) in a student-centered teaching pedagogy. The research findings reveal that when using the existing method to teach Introduction to Computing-II (Object Oriented Programming in Java) at the University of Hafr Al Batin, Saudi Arabia, only 87.5% of students passed the course, while 12.5% failed. However, when using the proposed method 95.2% of the students passed the course, while only 4.8% failed. Thus, the proposed method clearly shows significant improvement, with the failure rate reducing from 12.5% to only 4.8%.
Read full abstract