The contemporary convolutions of teaching and learning computer science/software engineering are increased in a diverse learning environment where students are diverse in their disciplinary backgrounds, language skills, and cultures. Some of the characteristics that are negatively impacting computer science students learning achievements are: the gap between the students’ and the teacher’s perspective of learning outcomes and task completion (Thompson, Hunt, & Kinshuk, 2006)1; the initial perception of students that “learning Programmeming is hard” (Tan et al., 2009). Computer Programmeming “requires the use of complex cognitive skills, such as reasoning, problem solving and planning” (Tie et al., 2010)2. “A Programmemer forms abstract representations of a process, expresses them in the form of logic structures, and finally translates them into correct code using the formal language” (Wiedenbeck et al., 2004)3. The three primary pedagogical goals in teaching a Programmeming language are therefore covering the language’s syntax, developing Programme design skills and creative thinking. The selection of the most suitable Programmeming language and the teaching approach are presented as two fundamental issues related to teaching Programmeming (Al-Imamy 2006)4. Computer science pedagogy varies from developing skills in design and implementation focusing on the understanding of the machine aspects or real world application aspects such as object-oriented design and development (Berglunda, et al., 2009)5. For this reason, I believe that students should be empowered with reflective lifelong learning skills to be successful in the highly dynamic field of ICT where Programmeming languages and tools constantly evolve. In general, with respect to computer science/software engineering, I realize any task that involve practical applications helps students become and remain engaged in a cognitive process. While traditional teacher-centric pedagogy is focused on the course content and transferring knowledge to the students whereas a learner-centric view is focused on assisting students to develop or build knowledge (Wright, 2011)6, but it is considered not effective in systematically guiding computer science students to be able to learn and feel very comfortable with new ideas and their applications. Bearing in mind the challenges that computer Programmeming represents to students, I believe that finding and implementing an appropriate teaching approach will be one of the crucial factors in students’ to be able to succeed in mastering the course content. Fortunately, one of the most rewarding aspects of an academic position is the opportunity to teach and interact with students. Whether or not they realize it, students have the freedom to explore and to think about problems in new ways. As teachers, we have the opportunity to guide students’ discoveries and learn a great deal in the process. Hence, I have found several approaches helpful in systematically guiding computer science/software engineering students to be able to learn and feel very comfortable with new ideas and their applications; among the approaches are constructive alignment, collaborative learning theory, and Maslow’s hierarchy of needs theory. In constructive alignment: learner constructs his or her own learning through relevant learning activities, while teacher creates a learning environment that supports the learning activities relevant to achieving the desired learning outcomes (Biggs, 2003)7. Collaborative learning facilitates: cognitive constructivism where peer discussion leads to enhanced conceptual understanding (Crouch & Mazur, 2001)8; social construction of new knowledge by reflecting on the new material, cognitive rehearsal, and assimilation, through teamwork and deeper understanding, promoted by interaction among team members with varying levels of prior knowledge (Sangin, Molinari, Nüssli, & Dillenbourg, 2011)9. While Maslow’s theory (Maslow, 1943)10 is a motivational theory in psychology consisting of five hierarchy of human needs. For an individual to be self-actualized, all the five hierarchy of needs most be satisfied in a sequential manner as shown in figure 1. Figure 1: Maslow’s Hierarchy of needs By examining the literature related to this philosophy, I, however, have to argue with Maslow’s, 1943 theory of Humanism, for fact that most people reached self-actualisation without going through the hierarchy of needs in sequence (e.g. a person that came from a poor family but yet become successful in life). Hence, not everyone will move through the hierarchy in a uni-directional manner but may move back and forth between the different types of needs (McLeod, 2017)11. Consequently, I would like to propose a student-centered learning and teaching method that integrates constructive alignment (consistency), collaborative learning theory (collaboration, conception, and cognition), and bits of Maslows theory (love/belonging and self-actualisation) in a student-centered teaching pedagogy as shown in figure 2. Figure 2: Integration of Learning Theories into Student-Centered Teaching Pedagogy Figure 2 is designed to transforms the traditional 2-hour lecture to a flipped classroom (by assigning recorded video lectures as homework, and use class time for active learning exercises/activity and direct engagement/discussion with students) but classified into five different sessions: 1. Explanation/ Elaboration Session: By explaining where necessary, elaborating on the concept to be taught using simulations and real-world examples, and referring back to previously-taught concepts (“teaching by facilitating” (Rogers, 1967)12, which is “driven by what learner’s need to know” (Knowles, 2005) 2. Conceive and Communication Session: Facilitating collaborative learning through this session, by taking 5 to 10 minutes to form some small group discussions. The group discussions are to be guided by questions related to the main concept and are intended to enable the social construction of new knowledge (“learners using their prior experience” (Knowles, 2005). These communication sessions will reduce the difficulties experienced by students in framing questions and expressing their doubts in the early stages of the course (“because learning is pervasive – involving the whole person” (Rogers, 1967). 3. Interaction Session: During the interaction session, students will raise questions or share their insights gained during their group discussions (“which is developing learner’s full potential” (Rogers, 1967). Based on this feedback, the new concept is further explained and linked to existing schemas in the knowledge construction process (“through identifying what needs to be learned, which is relevant” (Knowles, 2005). It will further enable the students to share their group learning experiences with the whole class. 4. Collective Problem Solving Session: During this session, students will work together in small teams in solving a