Open Journal Systems

“Cowboy” and “Cowgirl” Programming: The Effects of Precollege Programming Experiences on Success in College Computer Science

Chen Chen, Stuart Jeckel, Gerhard Sonnert, Philip M Sadler


This study examines the relationship between students' pre-college experience with computers and their later success in introductory computer science classes in college. Data were drawn from a nationally representative sample of 10,197 students enrolled in computer science at 118 colleges and universities in the United States. We found that students taking introductory college computer science classes who had programmed on their own prior to college had a more positive attitude toward computer science, lower odds of dropping out, and earned higher grades, compared with students who had learned to program in a pre-college class, but had never programmed on own, or those who had never learned programming before college. Moreover, nearly half of the effect on final grades was mediated by a positive attitude toward computing.



Computer Science; Programming; Self-directed; Performance; Experience


Anderson, N., & Gegg-Harrison, T. (2013). Learning computer science in the comfort zone of proximal development. In Proceeding of the 44th ACM technical symposium on Computer science education (pp. 495-500). ACM.

Ito, M., Baumer, S., Bittanti, M., Cody, R., Stephenson, B. H., Horst, H. A., ... & Perkel, D. (2009). Hanging out, messing around, and geeking out: Kids living and learning with new media. MIT press.

Beaubouef, T. (2002) Why Computer Science Students Need Math. ACM SIGCSE Bulletin. 34(4), 57-59.

Bennedsen, J., & Caspersen, M. E. (2007). Failure rates in introductory programming. ACM SIGCSE Bulletin, 39(2), 32.

Beyer, S., Rynes, K., Perrault, J., Hay, K., & Haller, S. (2003, January). Gender differences in computer science students. ACM SIGCSE Bulletin, 35(1), 49-53. doi:10.1145/611892.611930

Brann, E. T. (1979). Paradoxes of education in a republic. Chicago: University of Chicago Press.

Byrne, P., & Lyons, G. (2001). The effect of Student Attributes on success in programming. 2001.

College Board. (2014). 2014 College-Bound Seniors: Total Group Profile Report. Retrieved December 13, 2016, from

College Board Office of Research and Development. (1999). Concordance between SAT I and ACT scores for individual students (Report RN-07, June 1999). New York: College Board.

Dehnadi, S., & Bornat, R. (2006). The camel has two humps. Paper presented at the LittlePPIG 2006 workshop, Coventry, UK. Retrieved June, 2009, from

Dweck, C. S. (2006). Mindset: the new psychology of success. New York: Random House.

Fay, A. L., & Mayer, R. E. (1994). Benefits of teaching design skills before teaching logo computer programming: Evidence for syntax-independent learning. Journal of Educational Computing Research, 11(3), 187-210.

Goldman, R., Eguchi, A., & Sklar, E. (2004). Using educational robotics to engage inner-city students with technology. In Proceedings of the 6th international conference on Learning sciences (pp. 214-221). International Society of the Learning Sciences.

Hagan, D., & Markham, S. (2000). Does it help to have some programming experience before beginning a computing degree program? ACM SIGCSE Bulletin, 32(3), 25–28.

Handelsman, J., & Smith, M. (2016, February 11). STEM for All. Retrieved December 12, 2016, from

Harmin, M., & Toth, M. (2006). Inspiring active learning: A complete handbook for today's teachers. ASCD.

Honour Werth, L. (1986). Predicting Student Performance in a Beginning Computer Science Class. Proceedings of the 17th ACM Technical Symposium on Computer Science Education - SIGCSE ’86, 138–143.

Kabátová, M., & Pekárová, J. (2010). Lessons learnt with LEGO Mindstorms: from beginner to teaching robotics. group, 10, 12.

Kersteen, Z. A., Linn, M. C., Clancy, M., & Hardyck, C. (1988). Previous experience and the learning of computer programming: The computer helps those who help themselves. Journal of Educational Computing Research, 4(3), 321-333.

Kölling, M. (1999). The problem of teaching object-oriented programming. Journal of Object Oriented Programming, 11(8), 8-15.

Konvalina, S., Wileman, S. A., & Stephens, L. J. (1983) Math proficiency: A key to success for computer science students. Communications of the ACM. 26(5), 377-382.

Lee, M. O. C., & Thompson, A. (1997). Guided instruction in LOGO programming and the development of cognitive monitoring strategies among college students. Journal of Educational Computing Research, 16(2), 125-144.

Liggett, J. B. (2014). Geek as a constructed identity and a crucial component of STEM persistence. University of North Texas.

Mayer, R. E. (2004). Should there be a three-strikes rule against pure discovery learning?. American psychologist, 59(1), 14.

McKenna, B. W., & Bergie, L. (2016). Creating the Next Generation of Innovators.

Mubin, O., Stevens, C. J., Shahid, S., Al Mahmud, A., & Dong, J. J. (2013). A review of the applicability of robots in education. Journal of Technology in Education and Learning, 1(209-0015), 13.

National Research Council (2012) Report of a Workshop on Science, Technology, Engineering, and Mathematics (STEM) Workforce Needs for the U.S. Department of Defense and the U.S. Defense Industrial Base. Washington, DC: The National Academies Press.

Nowaczyk, R. H. (1984). The relationship of problem-solving ability and course performance among novice programmers. International Journal of Man-Machine Studies, 21(2), 149–160.

Piaget, J., & Inhelder, B. (2008). The psychology of the child. Basic books.

Ramalingam, V., LaBelle, D., & Wiedenbeck, S. (2004, June). Self-efficacy and mental models in learning to program. In ACM SIGCSE Bulletin (Vol. 36, No. 3, pp. 171-175). ACM.

Robins, A. (2010). Learning edge momentum: a new account of outcomes in CS1. Computer Science Education (Vol. 20).

Robins, A., Rountree, J., & Rountree, N. (2003). Learning and Teaching Programming: A Review and Discussion. Computer Science Education, 13(2), 137–172.

Smith, M. (2016, January 30). Computer Science For All. Retrieved December 12, 2016, from

Strickland, D. (2014, October 7). L.A. United announces larger focus on computer science for K-12. Los Angeles United School District. Retrieved from

Taylor, K., & Miller, C. C. (2015, September 15). De Blasio to announce 10-year deadline to offer computer science to all students. The New York Times. Retrieved from er-computer-science-to-all-students.html

Tai, R. H., Sadler, P.M., & Mintzes, J. J. (2006). Factors influencing college science success. Journal of College Science Teaching. 35(8), 56 – 60.

Ventura, P. R. (2005). Identifying predictors of success for an objects-first CS1. Computer Science Education, 15(3), 223–243.

Watson, C., & Li, F. (2014). Failure rates in Introductory programming revisited. Proc. Innovation & Technology in Computer Science Education, 39–44.

Wiedenbeck, S. (2005). Factors affecting the success of non-majors in learning to program.

Wilson, B. C., & Shrock, S. (2001). Contributing to success in an introductory computer science course: a study of twelve factors. ACM SIGCSE Bulletin, 33(1), 184–188. doi:10.1145/366413.364581

Winslow, L. E. (1996). Programming pedagogy - A psychological overview. SIGCSE Bulletin, 28(3), 17- 22.

Yadav, A., Gretter, S., Hambrusch, S., & Sands, P. (2016). Expanding computer science education in schools: understanding teacher experiences and challenges. Computer Science Education, 1-20. doi:10.1080/08993408.2016.1257418

Full Text: PDF

DOI: 10.21585/ijcses.v2i4.34


  • There are currently no refbacks.

Copyright (c) 2019 Chen Chen, Stuart Jeckel, Gerhard Sonnert, Philip M Sadler