Integrating teaching-and-learning techniques for novice computer programming students Jacqui Chetty & Glenda Barlow-Jones Department of Applied Information Systems University of Johannesburg South Africa jacquic@uj.ac.za & glendab@uj.ac.za Abstract: Computer programming is a subject that many students find challenging to learn. In spite of much research concerning such challenges, there is still uncertainty regarding which pedagogical approaches are best suited to teaching-and-learning novice students’ computer programming. However, research indicates that “learning on the edge of what we know” does provide an opportunity for novice students to link a learnt concept to other unfamiliar yet similar concepts. In other words, learning is transferred from one context to another when the contexts are closely related, also known as mediated transfer. However, in spite of utilizing such techniques learning is also a function of time, not ability, and given time it is possible for novice students to overcome barriers related to computer programming. This paper illustrates that given time and providing students with an opportunity to learn on the edge of what they know, novice students are able to learn the fundamental concepts of computer programming. Introduction Computer programming requires analogical reasoning, where one concept is learnt on the basis of other closely related and already learnt concepts. It is much like building a puzzle, where one piece fits into another piece and if a piece of the puzzle is missing, the puzzle will never be completed. Analogy is at the core of cognition (Hofstadter 2001) and involves transfer of learning. Such transfer refers to any use of past learning when learning something new (Robins 2010) and is “the very foundation of learning, thinking and problem solving” (Haskell 2001). This type of reasoning may contribute to why computer programming is difficult to learn. Analogical reasoning is closely related to “learning on the edge of what we know” and mediated transfer. Such practices are built on the premise that learning takes place when familiar concepts are closely related or linked to unfamiliar concepts and the gap between what the student knows and does not know is small. In other words, transfer of learning is “near”. These practices are closely related to Vygotsky’s Zone of Proximal Development (ZPD), which states that there is a gap between what students know and do not know and unless a bridge is built for the student between the known and unknown, those skills may be too difficult for a student to accomplish on their own (Kozulin 2003). This paper demonstrates that “learning on the edge of what we know” and mediated transfer are educational practices that can be used to build a bridge for students between known knowledge and unknown knowledge. Additionally, the paper explains the importance of “time-on-task” (Dalton 2011), which is when students are given an opportunity to practice computer programming concepts in collaboration, in pairs or individually. Time-on-task provides further assistance for students to master fundamental computer programming concepts (Robins 2010). Learning-on-the-edge-of-what-we-know Bornat, Dehnadi and Simon (2008) stated that “A strongly bimodal distribution of marks in the first programming course is frequently reported anecdotally, and corresponds to our experience in several different academic institutions over a considerable period of time” (Robins 2010). This bimodal pattern is when students - 142 -