"Learning and teaching are central activities in the increasingly complex and multi-facetted educational enterprises that are a prominent feature of post-industrial societies" (Hager, 2005, p. 633). Research into educational methods and theories is an ongoing process that covers many disciplines. In the Computer Science and Information Systems fields, there has been much concern regarding both the learning and teaching of computer programming and the high attrition rates associated with these courses (Robins, Rountree & Rountree, 2003). In spite of many years of research, it would appear that there is still a global problem within the educational environment relating to computer programming (Mead et al., 2006). The focus of many studies has been on improving the quality of teaching, aiming to make it more efficient and effective. However, it appears that less attention has been paid to the experience of learning to program from the students' perspective, and understanding what, in their perception, are the difficulties presented by the nature of programming. In the words of Jenkins (2002, p. 53), "If students struggle to learn something, it follows that this thing is for some reason difficult to learn." It would seem that in order to teach more effectively, it is essential for educators to have an understanding of what it is about programming that makes learning it so troublesome for many students worldwide.
This paper reports on a study that was conducted to understand and describe how students personally experience fear whilst learning programming and to investigate whether this fear affects other aspects related to their studies, such as self-confidence, time management, and problem solving skills, all of which are needed in order to succeed (Scott, 2008; Simon et al., 2006). Narratives of their experiences were analyzed and relationships between the units of meaning were elicited to formulate and propose a model as a concrete tool for educators interested in studying how the fears that beset programming students affect their learning.
Fear, programming, and phenomenology were core concepts used in this study. "Fear" may be considered an overly emotional word, but for this study it should be regarded as a descriptor for denoting a lack of interest in, or lack of appreciation of, programming as a discipline. In other words, some students may be experiencing a lack of confidence or apprehension regarding their ability to code or program, rather than actual fear. "Programming", as used in this study, refers to the full systems development cycle. It includes learning the basic theoretical concepts, as well as the practical act of coding, and having a final product ready for implementation. "Phenomenology" is an interpretive research approach used to study human experiences (Bruce et al., 2004). It does not aim to categorize individuals but rather to detail the number of different ways people can experience a single phenomenon, which, in this study, is learning to program.
It is anticipated that this research into the challenges and difficulties of learning to program, as encountered and narrated by the students themselves, will contribute to a deeper understanding of this area of concern for educationalists in general and tertiary programming educators in particular. It is also hoped that the research findings will provide useful insight for students who are also experiencing anxiety as a result of their struggle with learning programming.
The Act of Learning to Program
The teaching and learning of programming appears to be a subject of worldwide, historic concern. "Learning to program is notoriously considered difficult. In spite of more than forty years of experience, teaching programming is still considered a major challenge" (Caspersen & Bennedsen, 2007, p. 111). Many researchers regard programming courses as extremely demanding and the associated attrition rates high (Bergin & Reilly, 2005a, 2005b; Boyle, Carter, & Clark 2002); Gomes & Mendes, 2007a, 2007b; Jenkins, 2002; Simon et al. …