You are here

Individual Differences in Learning Computer Programming: A Social Cognitive Approach

Journal Name:

Publication Year:

Abstract (2. Language): 
The purpose of this study is to investigate and conceptualize the ranks of importance of social cognitive variables on university students’ computer programming performances. Spatial ability, working memory, self-efficacy, gender, prior knowledge and the universities students attend were taken as variables to be analyzed. The study has been conducted with 129 2nd year undergraduate students, who have taken Programming Languages-I course from three universities. Spatial ability has been measured through mental rotation and spatial visualization tests; working memory has been attained through the measurement of two sub-dimensions; visual-spatial and verbal working memory. Data were analyzed through Boosted Regression Trees and Random Forests, which are non-parametric predictive data mining techniques. The analyses yielded a user model that would predict students’ computer programming performance based on various social and cognitive variables. The results yielded that the variables, which contributed to the programming performance prediction significantly, were spatial orientation skill, spatial memory, mental orientation, self-efficacy perception and verbal memory with equal importance weights. Yet, the effect of prior knowledge and gender on programming performance has not been found to be significant. The importance of ranks of variables and the proportion of predicted variance of programming performance could be used as guidelines when designing instruction and developing curriculum.



Ackerman, P. L., Beier, M. E., & Bowen, K. R. (2002). What we really know about our abilities and our knowledge. Personality and Individual Differences, 33, 587-605.
Altun, A., & Mazman, S. G. (2012). Programlamaya iliskin oz yeterlilik algisi olceginin Turkce formumun gecerlilik ve gvvenirlik calismasi Reliability and validity study on Turkish version of perceived self-efficacy scale for programming. Egitimde ve Psikolojide Olcme ve Degerlendirme Dergisi, 3(2), 297-308.
Alwin, D. F. (1994). Aging, personality and social change: The stability of individual differences over the adult life-span. In D. L. Featherman, R. M. Lerner & M. Perlmuter (Eds.), Lifespan development and behavior. Hillsdale, NJ: Lawrence Erlbaum Associates.
Ambrósio, A. P., Costa, F. M., Almeida, L., Franco, A., & Macedo, J. (2011, October). Identifying cognitive abilities to improve CS1 outcome. In Frontiers in Education Conference (FIE), F3G-1.
Askar, P. & Davenport, D. (2009). An investigation of factors related to self-efficacy for Java programming among engineering students. The Turkish Online Journal of Educational Technology - TOJET, 8(1), 26-32.
Baddeley, A. (1992). Working memory. Science, 255(5044), 556-559.
Bandura, A. (1977). Self-efficacy: Toward a unifying theory of behavioral change. Psychological Review, 84, 191-215.
Bandura, A. (1995). Self-efficacy in changing societies. New York: Cambridge University Press.
Bergersen, G. R. & Gustafsson, J. E. (2011). Programming skill, knowledge, and working memory among professional software developers from an investment theory perspective. Journal of Individual Differences, 32(4), 201-209.
Bergin, S. & Reilly, R. (2005). Programming: Factors that Influence Success. ACM SIGCSE Bulletin., 37(1), 411-415.
Bergin, S. & Reilly, R. (2006). Predicting introductory programming performance: A multi-institutional multivariate study. Computer Science Education, 16(4), 303-323.
Beyer, S., DeKeuster, M., Walter, K., Colar, M., & Holcomb, C. (2005). Changes in CS students' sttitudes towards CS over time: An examination of gender differences. SIGCSE Bull., 37(1), 392-396.
Blasko, D., Holliday-Darr, K., Mace, D., & Blasko-Drabik, H. (2004). VIZ: The visualization assessment and training Web site. Behavior Research Methods, Instruments, & Computers, 36(2), 256-260.
Blustein, J. & Satel, J. (2003). Spatial Ability and Information Shape: When do individual differences matter Technical Report CS-2003-11. Canada: Faculty of Computer Science Dalhousie University.
Breiman, L., (2001). Random forests. Machine Learning, 45, 5-32.
Breiman, L. & Cutler, A. (2004). Random forests. Retrived on 24 August 2016 from
Bruyer, R. & Brysbaert, M. (2011). Combining speed and accuracy in cognitive psychology: Is the inverse efficiency score (IES) a better dependent variable than the mean reaction time (RT) and the percentage of errors (PE)? Psychologica Belgica, 51(1), 5-13.
Byrne, P. & Lyons, G. (2001). The effect of student attributes on success in programming. SIGCSE Bulletin, 33(3), 49-52.
Buston, P. M. & Elith, J. (2011). Determinants of reproductive success in dominant pairs of clownfish: A boosted regression tree analysis. Journal of Animal Ecology, 80(3), 528-538.
Carello, C. & Moreno, M. A. (2005). Why nonlinear methods. In M. A. Riley and G. C. van Orden (Eds.), Tutorials in contemporary nonlinear methods for the behavioral sciences (pp.1-25). Retrieved on 24 August 2016 from pdf
Caspersen, M. E. (2007). Educating novices in the skills of programming (Unpublished doctoral dissertation). Aarhus, Denmark: University of Aarhus, Department of Computer Science.
Charlton, J. P. & Birkett, P. E. (1999). An integrative model of factors related to computing course performance. Journal of Educational Computing Research, 20(3), 237-257.
Chen, C. (2000). Individual differences in a spatial-semantic virtual environment. Journal of the American Society for Information Science, 51(6), 529-542.
Cevik, V. (2012). The roles of working memory capacity and instructional strategy teaching in complex cognitive task performances (Unpublished doctoral dissertation). Ankara, Turkey: Hacettepe University Department of Computer Education and Instructional Technologies.
Daneman, M. & Merikle, P. M. (1996). Working memory and language comprehension: A meta-analysis. Psychonomic Bulletin & Review, 3(4), 422-433.
deRaadt, M., Hamilton, M., Lister, R., Tutty, J., Baker, B., Box, I., & Tolhurs, D. (2005, July). Approaches to learning in computer programming students and their effect on success. Paper presented at the 28th HERDSA Annual Conference: Higher Education in a Changing World. Sydney, Australia.
Elith, J., Leathwick, J. R., & Hastie, T. (2008). A working guide to boosted regression trees. Journal of Animal Ecology, 77(4), 802-813.
Friedman, J. H. (2002). Stochastic gradient boosting. Computational Statistics & Data Analysis, 38(4), 367-378.
Genuer, R., Poggi, J. M., & Tuleau-Malot, C. (2010). Variable selection using random forests. Pattern Recognition Letters, 31(14), 2225-2236.
Hannay, J. E., Arisholm, E., Engvik, H., & Sjøberg, D. I. (2010). Effects of personality on pair programming. Software Engineering, IEEE transactions on education, 36(1), 61-80.
Haavisto, M.-L., & Lehto, J. E. (2005). Fluid/spatial and crystallized intelligence in relation to domain-specific working memory: A latent-variable approach. Learning and Individual Differences, 15(1), 1-21.
Hoskinson, P. (2012). Brain Workshop – a Dual N-Back game. Retrieved on 20 December 2012 from
Howard, E. V. (2002). Can we teach introductory programming as a liberal education course? Yes, we can. The Proceedings of ISECON (Vol. 19). San Antonio, TX.
Irons, D. M. (1982). Cognitive correlates of programming tasks in novice programmers. Proceedings of the 1982 Conference on Human Factors in Computing Systems. Gaithersburg, Maryland, USA.
Jaeggi, S. M. , Buschkuehl, M., Perrig, W. J., & Meier, B. (2010). The concurrent validity of the N-back task as a working memory measure, Memory, 18(4), 394-412,
Jegede, P. O. (2009). Predictors of Java programming self-efficacy among engineering students. International Journal of Computer Science and Information Security, 4(1-2). Retrieved on 24 August 2016 from
Jenkins, T. (2002). On the difficulty of learning to program. Paper presented at the 3rd Annual Conference of the LTSN Centre for Information and Computer Sciences. Loughborough University, United Kingdom.
Jonassen, D. H. & Grabowski, B. L. (1993). Handbook of individual differences learning and instruction. London: Routledge.
Jones, S. J. & Burnett, G. (2008). Spatial ability and learning to program. Human Technology, 4(1), 47-61.
Kozhevnikov, M., & Hegarty, M. (2001). A dissociation between object manipulation spatial ability and spatial orientation ability. Memory & Cognition, 29(5), 745-756.
Lau, W. W. F., & Yuen, A. H. K. (2011). Modeling programming performance: Beyond the influence of learner characteristics. Computers & Education, 571(1), 1202-1213.
Lawton, C. (2010). Gender, spatial abilities, and wayfinding. In J. C. Chrisler & D. R. McCreary (Eds.), Handbook of gender research in psychology (pp. 317-341). New York: Springer.
Lehman, S., Bruning, R., & Horn, C. (1983). A tool for improving critical thinking in web-based instruction: Two experimental studies. The CLASS project. The Center for Instructional Innovation of the University of Nebraska.
Lin, Y. T., Wu, C. C., Hou, T. Y., Lin, Y. C., Yang, F. Y., & Chang, C. H. (2016). Tracking students’ cognitive processes during program debugging—An eye-movement approach. IEEE transactions on education, 59(3), 175-186.
Luft, C. D. B., Gomes, J. S., Priori, D., & Takase, E. (2013). Using online cognitive tasks to predict mathematics low school achievement. Computers & Education, 67(0), 219-228.
Mancy, R. & Reid, N. (2004). Aspects of cognitive style and programming. Paper presented at the 16th Workshop of the Psychology of Programming Interest Group (PPIG 16). Carlow, Ireland
Mancy, R. (2007). Explicit and implicit learning: The case of computer programming (Unpublished doctoral dissertation). University of Glasgow, United Kingdom.
Mason, R., Seton, C., & Cooper, G. (2016). Applying cognitive load theory to the redesign of a conventional database systems course. Computer Science Education, 26(1), 68-87.
Mazman, S. G. & Altun, A. (2013). Individual differences in spatial orientation performances: An eye tracking study. World Journal on Educational Technology, 5(2), 266-280.
McGee, M. G. (1979). Human spatial abilities: Psychometric studies and environmental, genetic, hormonal, and neurological influences. Psychological Bulletin, 86(5), 889-918.
Merrienboer, J. J. G. V., & Paas, F. G. W. C. (1990). Automation and schema acquisition in learning elementary computer programming: Implications for the design of practice. Computers in Human Behavior, 6(3), 273-289.
Milic, J. (2009). Predictors of success in solving programming tasks. . The Teaching of Mathematics, 12(1), 25-31.
Pak, R., Rogers, W. A., & Fisk, A. D. (2006). Spatial ability subfactors and their influences on a computer-based information search task. Human Factors: The Journal of the Human Factors and Ergonomics Society, 48(1), 154-165.
Pajares, F. (1996). Self-efficacy beliefs in academic settings. Review of Educational Research, 66(4), 543-578.
Pillay, N. & Jugoo, V. R. (2005). An investigation into student characteristics affecting novice programming performance. SIGCSE Bulletin, 37(4), 107-110.
Ramalingam, V. & Wiedenbeck, S. (1998). Development and validation of scores on a computer programming self-efficacy scale and group analyses of novice programmer self-efficacy. Journal of Educational Computing Research, 19(4), 367-381.
Román-González, M., Pérez-González, J. C., & Jiménez-Fernández, C. (2016). Which cognitive abilities underlie computational thinking? Criterion validity of the computational thinking test. Computers in Human Behavior, 72, 678-691.
Rowan, T. C. (1957). Psychological tests and selection of computer programmers. Journal of the ACM, 4(3), 348-353.
Shute, V. J. (1991). Who is likely to acquire programming skills? Journal of Educational Computing Research, 7(1), 1-24.
Stalcup, K. A. A. (2005). Multimedia learning: Cognitive individual differences and display design techniques predict transfer learning with multimedia learning modules. (Unpublished doctoral dissertation). Graduate Faculty of Texas Tech University.
Sterling, G. D. & Brinthaupt, T. M. (2003). Faculty and industry conceptions of successful computer programmers. Journal of Information Systems Education, 14(4), 417-424.
Svedin, M. & Balter, O. (2016). Gender neutrality improved completion rate for all. Computer Science Education, 26(2-3), 192-207.
Vicente, K. J. & Williges, R. C. (1988). Accommodating individual differences in searching a hierarchical file system. International Journal of Man-Machine Studies, 29(6), 647-668.
Wagenmakers, E.-J., Maas, H. J., & Grasman, R. P. P. (2007). An EZ-diffusion model for response time and accuracy. Psychonomic Bulletin & Review, 14(1), 3-22.
Wiedenbeck, S. (2005). Factors affecting the success of non-majors in learning to program. Paper presented at the First International Workshop on Computing Education Research. Seattle, WA, USA.
Willman, S., Lindén, R., Kaila, E., Rajala, T., Laakso, M. J., & Salakoski, T. (2015). On study habits on an introductory course on programming. Computer Science Education, 25(3), 276-291.
Wilson, B. C. (2002). A study of factors promoting success in computer science including gender differences. Computer Science Education, 12(1-2), 141-164.
Yurdugul, H. & Askar, P. (2013). Learning programming, problem solving and gender: A longitudinal study. Procedia - Social and Behavioral Sciences, 83(0), 605-610.
Wright, R., Thompson, W., Ganis, G., Newcombe, N., & Kosslyn, S. (2008). Training generalized spatial skills. Psychonomic Bulletin & Review, 15(4), 763-771.

Thank you for copying data from