Philippine Information Technology Journal, Vol. 5, No. 1, February 2012
29
EFFECTS OF ATTITUDES TOWARDS JAVA PROGRAMMING ON NOVICE PROGRAMMERS’ ERRORS Rex P. Bringula, Michael Angelo A. Tolentino, Geecee Maybelline A. Manabat, and Edmon L. Torres College of Computer Studies and Systems, University of the East 2219 C.M. Recto Avenue, Sampaloc, Manila {rex_bringula,miguelangelotolentino}@yahoo.com,
[email protected],
[email protected]
ABSTRACT This study determined the effects of attitudes towards Java programming on novice Java programming errors. Two hundred fifty-three (253) students (i.e., novice Java programmers) were the subject of the study. Factor analysis revealed that there were five types of attitudes exhibited during laboratory programming exercises. Novice Java programmers tend to be enthusiastic, unmotivated, unconfident, elated, or driven. Also, it was revealed that there were five types of errors committed. These were Invalid symbols or keywords, Mismatched symbols, Missing symbols, Inappropriate naming, and Excessive Symbols. Multiple regression analysis showed that an unconfident attitude towards programming was more likely to predict all types of errors. The implications of the findings were also discussed.
Categories and Subject Descriptors K.3.2 [Computing Milieux]: Computer and Information Science Education – Computer science education
General Terms Human Factors
Keywords Attitudes, Errors, Java, Novice Programmers
1. INTRODUCTION Programming requires exceptional perfection [23, 27]. This makes learning to program difficult [22, 25] and poses a big challenge for beginners. Beginner programmers are called novice programmers. Novice programmers are inexperienced programmers in the art of programming and usually taking up introductory programming course [9]. Every novice programmer is confronted with a wide range of difficulties and deficits in programming [25]. Novice programmers have been subject of different research studies such as their difficulty of learning to program [2], their difficulty in selection structure [9], factors influencing their learning [3], their problem-solving skills [5], their debugging techniques [7], and their affect and behavior in relation to their achievement [26]. Furthermore, contrary to rich attitudinal research studies in mathematics (e.g., [1, 11, 17, 19, 20, 32]), there is scarcity of literature that investigated attitudes of students (i.e., novice Java programmers) towards programming. Also, no studies had yet been conducted to find the effects of such attitudes on the errors committed during laboratory programming exercises. Thus, this study has been conceived.
Toward these aims, the study sought answers to the following questions. 1) What are the attitudes of novice Java programmer towards Java programming? 2) What are the errors committed by novice Java programmers? 3) Do attitudes significantly, singly or in combination, affect errors committed by novice Java programmers?
2. LITERATURE REVIEW 2.1 Novice Programmer Lack of programming knowledge [25] and strategies [3, 25] are the major characteristics of novice programmers. In spite of the simplicity and appropriateness of the program to their own level, they are still less skilled at using functional information [31]. They have difficulty tracing one or more variables in order to see how these are transformed in the program (data flow view) [3, 18]. They read codes by “line-by-line” approach ([9], Winslow, 1996 cited in [25]) as if they were reading a book. They have limited debugging skills [3], and have incomplete understanding of language constructs such as variables, loops, arrays, and recursions [9]. They are also confronted with a wide range of difficulties and deficits in programming [25]. First, novices have difficulty in expressing natural language solutions into computer programming language solutions [6, 14]. They might know the syntax and semantics of the individual statements of the programming language but they are unable to put them together into a valid program (Winslow, 1996 cited in [25]). Second, they have problems in analyzing and designing mathematical expressions, naming variables and assigning suitable data types and structures to these variables, evaluating correctly output statements, arithmetic expressions, and relationship expressions [9]. Lastly, they also have difficulty in debugging loop conditions, conditional logic, arithmetic errors, and data initialization and update [7]. Due to these difficulties, it can be expected that novice programmers will encounter programming errors. Attitudes of students towards mistakes or errors are important [25] since affect and behavior predicts novice programmer achievement (see [26]). Rogerson and Scott [27] found out that students tend to associate the word “programming” to anxiety, panic, nightmare, and stress. Also, novice programmers feel grief and frustration [30] when confronted with errors. These can lead to surrender [30]. In fact, the difficulty in programming is attributed to high dropout rates in programming courses [25].
2.2 Attitudes Attitudes are important because they affect both the way we perceive the world and how we behave [10]. Different literature
30
Bringula et al.: E↵ects of Attitudes Towards Java Programming on Novice Programmers’ Errors
attempted to define attitude. It refers to “our evaluations of people, groups, and objects in our social world” [10, p. 67]. It is “a covert, unexpressed psychological predisposition or tendency” [29, p. 61]. It is also “an association between a concept and an evaluation— positive or negative, favorable or unfavorable, desirable or undesirable” [24, p. 464]. It guides our judgment and behavior and assists our decisions on how to interact with the world [24]. Attitudes are composed of three components. The first component, the affective component, refers to the individual’s feelings or emotions associated with an object [10, 28]. Shelley [29] puts it simply as an expression of fundamental likes or dislikes. The cognitive component of attitudes (second component) encompasses all the information the individual has about a particular attitude object [28]. It also refers to beliefs, thoughts, and attributes associated with an object [10]. The behavioral component is the explicit physical or verbal actions of the individual towards the attitude object [28]. It is a mental representation of previous, current, and future behaviors concerning an attitude object [10]. Attitudes also vary. It varies along dimensions (expressed or latent), strength (held very firmly or loosely to a belief), and valence or direction (e.g., libertarian view) [29]. Attitudes can be measured in a variety of ways [29]. Attitudes can be measured directly by asking people to report their feelings (explicit attitudes) [24]. This is done by administering a survey form [29]. “Reporting an attitude involves making a decision concerning liking versus disliking or favoring versus disfavoring an attitude object” [10, p. 67]. Indirectly, attitudes can be measured based on performance on a task designed to measure associations between concepts and evaluations (implicit attitudes) [24].
3. RESEARCH HYPOTHESIS The independent variable, Attitudes towards Java Programming, was composed of 20 questions. The construction of the questions on the independent variable was guided by the affective and cognitive components of attitudes. Meanwhile, the dependent variable (Errors Committed by Novice Java Programmers) was composed of eighteen (18) errors (e.g., No semi-colon at the end of a statement, Excessive semi-colon, Putting a period between the keyword import and java packages, etc.). Self-reporting method [16] was used to determine the frequency of errors committed. The measurement, validity, and reliability of the constructs are discussed in details in the following section. It is hypothesized that attitudes towards Java programming, singly or in combination, do not significantly affect errors committed by novice Java programmers.
4. METHODOLOGY This descriptive design study employed a survey as the research instrument. The College of Computer Studies and Systems of the University of the East was selected as the research locale of the study. Adopting the definition of Gobil et al. [9] and Shuhidan et al. [30] of novice programmers, first year students who were enrolled in Introductory Computer Programming Course in Java Programming (PROG1) were selected as the respondents of the study.
Eighty-one (81) students participated in the experiment (programming activity) and forty (40) in the pre-test of the questionnaire. This number of students (121) was deducted from the total population enrolled (N = 598) in PROG1. Thus, the true population considered in the study was 477. Using Sloven’s formula with a sampling error of 0.05, the computed sample size was 217. Respondents were randomly selected through their class sections in PROG1. The sample size was increased by 48% (322 respondents) to accommodate low return rate. Two hundred fiftythree (253) forms were retrieved and these were all used in the study. There were two phases in the construction of the survey form. The first phase involved determination of questions to be included in the survey form. An experiment, which involved a laboratory programming activity, was conducted in three sections (with a total of 81 students) of PROG1. The purpose of the experiment was to identify the errors committed by novice Java programmers. Three experts (2 professors with at least 10 years of teaching experience in programming and 1 Certified Java Programmer) validated the complexity, relevance, and appropriateness of the programming problem given (application of an if-else structure) in the activity. They agreed that the problem could be solved within 60 minutes. The students were allowed to use books, lecture notes, or sample programs. The programming problem was relevant to the lecture. It must be noted that a lecture was conducted prior to the experiment. The students were also asked to take screenshots of their compilations in order to log their common errors in programming. The screenshots were then pasted in a word processer. Errors committed were tabulated based on the screenshots. The screenshots were used as basis in the formulation of questions with regard to errors committed by novice Java programmers. Eighteen questions were extracted. These served as the dependent variable of the study. The second phase involved pre-testing of the questionnaire. It was pre-tested to 40 students who were excluded in the sample. To determine the frequency errors committed, respondents could answer from 1 (Never) to 5 (Always). The weight and verbal interpretation of this construct are given below (Table 1). All questions under Errors Committed by Novice Java Programmer were found to be valid (factor loading of at least 0.50) and reliable ( = 0.794) (above the minimum criterion of 0.70) [8, 21].
Five-Point Scale/Weight Verbal Interpretation 5 Always 4 Often 3 Sometimes 2 Seldom 1 Never Table 1. Five-Point Scale/Weight and Verbal Interpretation Attitudes towards Java Programming was measured from an interval scale of 1 (Highly disagree) to 10 (Highly agree). Nineteen out of twenty questions were found to be valid (factor loading of at
Philippine Information Technology Journal, Vol. 5, No. 1, February 2012 least 0.50) and reliable ( = 0.748) (above the minimum criterion of 0.70) [8, 21]. Factor analysis was also used to determine the components of the independent and dependent variables. Items with a factor loading lower than 0.5 were discarded. Multiple regression analysis at 5% level of probability and 95% reliability was employed to determine the effects of attitudes towards programming on novice Java programmers’ errors.
5. RESULTS AND DISCUSSIONS 5.1 Attitudes towards Java Programming The respondents of the study were first year students (average age was 17 years old) who were taking up degree programs in Information Technology (f=194, 77%) and Computer Science (f=54, 21%), and a non-degree program in Computer Technology (Associate in Computer Technology, f=5, 2%). Most of the respondents were male (f=187, 74%). There were no repeaters in the respondents. Table 2 shows the factor analysis of Attitudes towards Java Programming of novice programmers. Five groups with eigenvalues greater than 1.00 [4] were found. Thus, five factors (i.e., five attitudes towards Java programming) were revealed. It is revealed that novice Java programmers may feel Enthusiastic (eigenvalue = 5.555), Unmotivated (eigenvalue = 3.258), Unconfident (eigenvalue = 1.456), Elated (eigenvalue = 1.127), or Driven (eigenvalue = 1.029) during programming laboratory exercises. These are accounted to 62% of the attitudes exhibited during programming laboratory exercises. This extends the findings of Rogerson and Scott [27] and Shuhidan et al. [30]. The findings suggest that novice Java programmers may experience mixed attitudes towards programming and teachers should deal with these attitudes accordingly. It also shows the profound importance on the role of the teachers on educating novice Java programmers. For instance, in individual level, it is interesting to note that a novice Java programmer might find Java programming a confusing task (loaded highly under Enthusiastic, factor loading = 0.521) but he might also find it challenging (loaded highly under Enthusiastic, factor loading = 0.678) at the same time. Teachers should guide students on how to solve the given problem in order for latter not be lost as caused by confusion. If teachers could not guide the students in solving the programming problem, novice Java programmer (i.e., students) may feel grief and frustration, and eventually, lead to surrender, when confronted by difficulty in programming [30]. On collective level, the findings show that students might exhibit different attitudes from one another. The findings give an initial insight of these attitudes and teachers can respond appropriately to each of one’s concerns. For instance, other students might be enthusiastic, elated, and driven, but others might be unmotivated and unconfident towards programming. The last two attitudes have to be addressed early; otherwise, students might dropout and may shift to other degree program [25]. Teachers should do a balancing act in dividing his attention to his students. Encourage those are unmotivated and unconfident while keeping track the progress of those who are enthusiastic, elated, and driven. Therefore, a diversified teaching approach is needed.
31
Attitudesa ENTHUSIASTIC I find Java programming a confusing task. I find Java programming a challenging task. I feel happy whenever I got a solution to a Java programming problem. I believe that Java programming is an important subject. I believe that Java programming is useful in the industry. I believe that Java programming is a practical skill. UNMOTIVATED I do not like Java programming. I find Java programming a lazy task. I find Java programming a boring subject. I am just forcing myself to study Java programming. UNCONFIDENT I find Java programming a hard subject. I believe that Java programming is only for intelligent students. I feel insecure whenever I see someone who is good in Java programming. I am not good in Java programming. I feel uneasy whenever I program in Java. ELATED I feel happy whenever I program in Java. I feel excited whenever a Java programming problem is given. DRIVEN I feel popular whenever I got a solution to a Java programming problem. I feel satisfaction whenever I got a solution to a Java programming problem. a cummulative % of variance = 62.128
Eigenvalue
Factor Loading 0.521 0.678 0.721
5.555 0.806 0.830 0.671 0.718 0.682 3.258
0.732 0.634
0.597 0.551 1.456
0.643 0.704 0.647
0.603 1.127 0.876
0.762 1.029 0.506
Table 2. Factor Analysis of Attitudes towards Java Programming
5.2 Java Programming Errors Committed Table 3 shows the factor analysis of the eighteen (18) novice Java programming errors. Five types of errors (i.e., factors) are retained since their eigenvalues are greater than 1.00 [4]. The cumulative percentage of variance is 56.35%. All variables loaded highly on each type of error (greater than 0.50). The first type of error extracted is called Invalid symbols or keywords. It has the highest eigenvalue of 5.209. This is composed of errors such as No period between class name and method name, Capitalized keywords, Replacing ( and ) with < and > or [ and ] in output stream, and else without if. The second type of error is related to Mismatched symbols (eigenvalue = 1.445). These errors
Bringula et al.: E↵ects of Attitudes Towards Java Programming on Novice Programmers’ Errors
32
Types of errorb Invalid symbols or keywords No period between class name and method name Capitalized keywords Replacing ( and ) with < and > or [ and ] in output stream else without if Mismatched symbols Unmatched curly braces Incorrect greater than or equal to sign Cannot find symbol because of mismatched between the declared and used variable Cannot find symbol because of undeclared variable Missing symbols No semi-colon at the end of a statement No close/open parenthesis on ifcondition No parentheses on if-condition Unclosed literals Inappropriate naming Inappropriate casing of method names Inappropriate casing of class names Splitting a class name by putting a space Excessive symbols Excessive semi-colon Putting a period between the keyword import and java packages Putting a semi-colon after the ifcondition b cummulative % of variance = 56.35
Eigenvalue
Factor Loading 0.754
5.209
0.524 0.647 0.539 0.585 0.592
1.445
0.631 0.741
0.602 1.281
0.739 0.629 0.540
1.135
0.713 0.743 0.732 0.639
1.072
0.787 0.523
Table 3. Factor Analysis of Novice Java Programmers’ Errors Committed are due to Unmatched curly braces, Incorrect greater than or equal to sign, Cannot find symbol because of mismatched between the declared and used variable, and Cannot find symbol because of undeclared variable. Meanwhile, No semi-colon at the end of a statement, No close/open parenthesis on if condition, No parentheses on if-condition, and Unclosed literals are the errors under Missing symbols (eigenvalue = 1.281). Inappropriate naming (eigenvalue = 1.135) is the fourth type of error that is composed of errors such as Inappropriate casing of method names, Inappropriate casing of class names, and Splitting a class name by putting a space. Excessive symbols (eigenvalue = 1.072) are the last type of errors. These are composed of Excessive semi-colon, Putting a period between the keyword import and java packages, and Putting a semi-colon after the if-condition. The findings of this study are similar to the studies of Jackson et al. [12], Jadud [13], and Gobil et al. [9]. Jadud [13] reported that out of 1,926 errors encountered by the students, more than half of all errors generated by students while programming are missing semicolons, unknown symbol-variable, illegal start of expression, bracket expected, and unknown symbol-class. Jackson et al. [12]
also reported that novice programmers also encountered the following errors: cannot resolve symbol, semi-colon expected, illegal start of expression, class or interface expected, expected, ) expected, incompatible types, int, not a statement, and } expected. Gobil et al. [9] also found out that the most common errors are basic mechanic symbols (braces, brackets and semicolons, formatting outputs and indenting), and incorrect and irrelevant naming of variables or constants. The findings of Jackson et al. [12], Jadud [13], and Gobil et al. [9] are extended by classifying them into types of errors committed shown in Table 3. The implication of the findings is threefold. First, the finding stressed the importance of teachers [27] as they play an important role in “curing” these errors. The findings provide Java programming teachers an insight on understanding the errors committed by novice Java programmers. Shuhidan et al. [27, p. 148] commented that “improved understanding of novice errors will also better inform educators about alleviating the difficulties experienced by novices at commencement.” Thus, teachers can expect that their students will always encounter these errors and therefore can be readily equipped to correct these mistakes. This could greatly help students in coping with these errors since “the type and number of syntax errors students must deal with after compiling their code play a significant role in determining their consequent behavior” [13, p. 31]. The second implication is that, since more than 50% in the variation (cumulative percentage of variance = 56.346%) of the types of errors committed is accounted to the five factors, lecture hours and laboratory exercises can be focused on these types of errors. Thus, strong focus should be given on the discussion on these errors since it could greatly enhance the performance of the students in programming. Consequently, Introductory Java programming syllabus can be designed in a way that tackles these topics. This could elevate the teaching standards of Java teachers. This is very important since teaching standards can influence the outcomes of courses that teach programming [15]. This is the third implication of the study.
5.3 Regression of Errors Committed by Novice Java Programmers Table 4 shows that Invalid symbol is predicted by Enthusiastic (beta = -0.347, p < 0.05), Unmotivated (beta = 0.188, p < 0.05), and Unconfident (beta = 0.265, p < 0.05) attitudes. Among the three, Enthusiastic attitude has the strongest effect on invalid symbol errors committed by novice Java programmers. Its negative beta value shows that an enthusiastic attitude could decrease Invalid symbol error. Twenty percent (Adj. R2 = 0.200) of the variation in Invalid symbol errors is accounted to these three attitudes. This is unlikely to have arisen from sampling error (Fvalue =13.478, p < 0.05). Unconfident attitude (beta = 0.279, p < 0.05) affects Mismatched symbol errors. Eight percent (Adj. R2 = 0.084) in the variation of mismatched symbol error is accounted to Unconfident attitude and this is unlikely to have arisen from sampling error (F-value =5.581, p < 0.05). Unconfident attitude (beta = 0.253, p < 0.05) has a stronger effect than Enthusiastic attitude (beta = -0.197, p < 0.05) in predicting missing symbol errors. Nine percent (Adj. R2 = 0.089) in the variation of missing symbols are explained by these attitudes
Philippine Information Technology Journal, Vol. 5, No. 1, February 2012 which is unlikely to have arisen from sampling error (F-value =5.830, p < 0.05). Types of Error Invalid symbol Mismatched symbol Missing symbol Inappropriat e naming Excessive symbol
Predictor(s)
Beta
Sig.
Enthusiastic
-0.347
0.000
Unmotivated
0.188
0.005
Unconfident
0.265
0.000
Unconfident
0.279
0.000
Enthusiastic
-0.197
0.022
Unconfident
0.253
0.000
Unmotivated
0.245
0.000
Unconfident
0.149
0.035
Unconfident
0.230
0.002
33
balance their attention between students who exhibits positive and negative attitudes towards programming. It is suggested that teachers should nurture those students who exhibits positive attitudes towards programming but also encourage those who shows negativity.
Adj. R2
Fvalue
Sig.
0.200
13.478
0.000
0.084
5.581
0.000
0.089
5.830
0.000
0.116
7.503
0.000
• The study only focused on syntax errors. Thus, semantic errors can also be investigated.
0.045
3.303
0.007
• Errors due to flawed arithmetic and relationship expressions can also be included.
Table 4. Effects of Attitudes towards Java Programming on Novice Java Programmers’ Errors Unmotivated (beta = 0.245, p < 0.05) compounded with Unconfident (beta = 0.149, p < 0.05) attitudes significantly affects (F-value = 7.503, p < 0.05) Inappropriate naming errors. Twelve percent (Adj. R2 = 0.116) in the variation in Inappropriate naming errors are accounted to these attitudes. Lastly, an Unconfident attitude (beta = 0.230, p < 0.05) affects significantly (F-value = 3.303, p < 0.05) Excessive symbols. The explanatory power of Unconfident attitude is only about 5% (Adjusted R2 = 0.045). All in all, the predictive power of all attitudes in the study ranged from 5 to 20%. It is interesting to note that an Enthusiastic attitude could lessen Invalid and Missing symbols. This shows students who show eagerness or keenness to details are more likely to avoid or detect such kind of errors. In other words, eagerness or keenness to details is needed in detecting and finding invalid and missing symbols errors. It can also be noted that an Unconfident attitude was consistently found to have significant effects on errors committed by novice Java programmers. This is quite alarming since this implies that students with low self-confidence are more likely to commit all of these errors. Conversely, helping students to boost their confidence will most likely avoid all of these errors. These signals educators not to only act as teachers but academic counselors as well. A constant communication with students with the theme of increasing their confidence would be very helpful.
6. CONCLUSIONS AND RECOMMENDATIONS Based on the findings that Enthusiastic, Unmotivated, or Unconfident attitudes affect Java programming errors, the null hypothesis stating that attitudes towards Java programming (singly or in combination) do not significantly affect errors committed by novice Java programmers is partially rejected. The findings showed the importance of the role of educators in dealing with the diverse attitudes of novice Java programmers. This calls for educators to be well-equipped in dealing with students with different attitudes towards programming. Educators should
Though the study provides insights on novice Java programming errors and attitudes towards programming, there are still research gaps to fill in. This study suggests the following. • There are other factors related to attitudes that can be included in the future studies such as their emotions, expectations, and values [11] towards programming. Attitudes according to its category can also investigated (e.g., implicit or explicit, and extrinsic or intrinsic).
• No studies had yet been conducted on the difficulties experienced by novices in using Java. These difficulties therefore might be significant factors in predicting the errors committed in Java programming. • A study can be initiated to determine why Java novice programmers are unmotivated and unconfident towards programming. • The study did not deal on controlling the effects of attitudes towards programming. This can be further investigated by future studies.
7. ACKNOWLEDGMENTS The authors are greatly indebted to Dr. Ester A. Garcia, Dr. Linda P. Santiago, and Dean Rodany A. Merida for the approval of the funding. We also like to acknowledge the help of our colleagues at the College of Computer Studies and Systems by providing assistance in data gathering.
8. REFERENCES [1] Billones, L. T. 2007. A survey of the profile, conditions, and attitudes of UE-Manila freshmen vis-à-vis their performance in College Algebra. UE Res. Bul., 9 (Oct. 2007), 50–68. [2] Benander, A., Benander, B., and Sang, J. 2004. Factors related to the difficulty of learning to program in Java – An empirical study of non-novice programmers. Inform. Software Tech., 46 (Aug. 2003), 99–107. [3] Carbone, A., Hurst, J., Mitchell, I., and Gunstone, D. 2009. An exploration of internal factors influencing student learning of programming. In Proceedings of the Computing Education 2009: Proceedings 11th Australasian Computing Education Conference: Conferences in Research and Practice in Information Technology (CRPIT) (Wellington, New Zealand, January 20-23, 2009). ACE ’09. Australian Computer Society, Inc., Sydney, Australia, 25–34. [4] Dancey, C. P., and Reidy, J. 2002. Statistics without maths for Psychology: Using SPSS for Windows 2nd edn. Pearson Education Limited, England.
34
Bringula et al.: E↵ects of Attitudes Towards Java Programming on Novice Programmers’ Errors
[5] De Raadt, M. 2007. A review of Australasian investigations into problem solving and the novice programmer. Comput. Sci. Edu., 17, 3 (Sep. 2007), 201–213. [6] Ebrahimi, A. 1994. Novice programmer errors: Language constructs and plan composition. Int. J. Hum.-Comput. St., 41 (Oct. 1994), 457–480. [7] Fitzgerald, S., Lewandowski, G., Mccauley, R., Murphy, L., Simon, B., Thomas, L., and Zander, C. 2008. Debugging: Finding, fixing and flailing, a multi-institutional study of novice debuggers. Comput. Sci. Edu, 18, 2 (June 2008), 93–116. [8] George, D., and Mallery, P. 2009. SPSS for Windows step by step: A simple guide and reference 16.0 update 9th edn. Boston: Pearson Education.
[19] Odell, P. M., and Schumacher, P. 1998. Attitudes toward mathematics and predictors of college mathematics grades: Gender differences in a 4-year business college. J. Edu. Bus., 74, 1 (Sep. – Oc., 1998), 34–38. [20] Orhun, N. 2007. An investigation into the mathematics achievement and attitude towards mathematics with respect to learning style according to gender. Int. J. Math. Educ. Sci. Technol., 38, 3 (Apr. 2007), 321–333. [21] Pallant, J. 2001. SPSS survival manual: A step by step guide to data analysis using SPSS for Windows version 10. Open University Press, Buckingham. [22] Pendergast, M. O. 2006. Teaching introductory programming to IS students: Java problems and pitfalls. J. Inform. Technol. Edu., 5, 491–595.
[9] Gobil, A. R. M., Shukor, Z., and Mohtar, I. A. 2009. Novice difficulties in selection structure. In Proceedings of 2009 International Conference on Electrical Engineering and Informatics (Selangor, Malaysia, August 5-7, 2009). ICEEI ’09. IEEE Computer Society, New Jersey, USA, 351–356.
[23] Perkins, D. N., and Martin F. 1986. Fragile knowledge and neglected strategies in novice programmers. In E. Soloway & S. Iyengar (Eds.), Empirical studies of programmers, First Workshop (pp. 213–229). Norwood, NJ: Ablex.
[10] Haddock, G., and Maio, G. R. 2007. Attitudes. In Encyclopedia of Social Psychology, Ed(s). Roy F. Baumeister and Kathleen D. Vohs. Vol 1. Thousand Okas, CA: Sage Publications Inc., 67– 69.
[24] Ranganath, K. A., and Nosek, B. A. 2007. Implicit attitudes. In Encyclopedia of Social Psychology, Ed Roy F. Baumeister and Kathleen D. Vohs. Vol. 1. Thousand Oaks, CA: Sage Publications Inc., 464–466.
[11] Hannula, M. S. 2002. Attitude towards mathematics: Emotions, expectations and values. Edu. Stud. Math., 49 (Jan. 2002), 25– 46.
[25] Robins, A., Rountree, J., and Rountree, N. 2003. Learning and teaching programming: A review and discussion. Comput. Sci. Edu., 13, 2, 137–172.
[12] Jackson, J., Cobb, M., and Carver, C. 2005. Identifying top java errors for novice programmers. In Frontiers in Education Conference (Indianapolis, IN, Oct. 19-22, 2005). FEI ’05. IEEE Society, Indianapolis, IN, T4C24–T4C27.
[26] Rodrigo, M. M. T., Baker, R. S., Jadud, M. C., Amarra, A. C. M., Dy, T., Espejo-Lahoz, M. B. V., Lim, S. A. L., Pascua, S. A. M. S., Sugay, J. O., and Tabanao, E. S. 2009. Affective and behavioral predictors of novice programmer achievement. ACM SIGCSE Bull. - ITiCSE '09, 41, 3 (July 2009), 156–160.
[13] Jadud, M. C. 2005. A first look at novice compilation behavior using BlueJ. Comput. Sci. Edu., 15, 1, 25–40. [14] Kelleher, C., and Pausch, R. 2005. Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers. ACM Comput. Surv., 37, 2 (June 2005), 83–137.
[27] Rogerson, C., and Scott, E. 2010. The fear factor: How it affects students learning to program in a tertiary environment. J Inform. Technol. Edu., 9, 147–171. [28] Salinas, M. F. 2006. Attitudes. In Encyclopedia of Human Development, Ed Neil J. Salkind, Vol. 1. Thousand Oaks, CA: Safe Reference, 140–142.
[15] Linn, M. C., and Dalbey, J. 1985. Cognitive consequences of programming instruction: Instruction, access, and ability. Educ. Psychol., 20, 4 (June 2010), 191–206.
[29] Shelley, M. C. 2006. Attitudes. In Encyclopedia of Educational Leadership and Administration, Ed Fenwick W. English, Vol. 1. Thousand Oaks, CA: Safe Reference, 61–62.
[16] Meister, D. 1989. The nature of human error. In Proceedings of the Global Telecommunications Conference and Exhibition (Dallas, TX, USA, Nov. 27-30, 1989). GLOBECOM ’89. IEEE Society, Dallas, TX, USA, 783–786 vol. 2.
[30] Shuhidan, S., Hamilton, M., and D’souza, D. 2009. A taxonomic study of novice programming summative assessment. In Computing Education 2009: Proceedings 11th Australasian Computing Education Conference: Conferences in Research and Practice in Information Technology (CRPIT) (Wellington, New Zealand, Jan. 20-23, 2009). ACE 2009. Australian Computer Society, Inc., Sydney, Australia, 147–156.
[17] Midgley, C., Feldlaufer, H., and Eccles, J. S. 1989. Student/teacher relations and attitudes the transition to junior high school. Child Dev., 60, 4 (Aug. 1989), 981–992. [18] Mosemann, R., and Wiedenbeck, S. 2001. Navigation and comprehension of programs by novice programmers. In Proceedings of the 9th International Workshop on Program Comprehension (Toronto, Ont. , Canada, May 12-13, 2001). IWPC ’01. IEEE Computer Society, Washington, DC, 79–88.
[31] Wiedenbeck, S. 1986. Organization of programming knowledge of novices and experts. J. Am. Soc. Inform. Sci., 37, 5, 294–299. [32] Yüksel-Şahin, F. 2008. Mathematics anxiety among 4th and 5th grade Turkish elementary school students. Int. Electron. J. Math. Edu., 3, 3, 179–192.