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



  • Chen Chen Harvard Smithsonian Center for Astrophysics
  • Stuart Jeckel Harvard Graduate School of Education
  • Gerhard Sonnert Harvard Smithsonian Center for Astrophysics
  • Philip M Sadler Harvard Smithsonian Center for Astrophysics


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


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.



Download data is not yet available.

Author Biographies

Chen Chen, Harvard Smithsonian Center for Astrophysics

Science Education Department

Chen Chen and Stuart Jeckel contributed equally to this work, they are co-first authors.

Stuart Jeckel, Harvard Graduate School of Education

Chen Chen and Stuart Jeckel contributed equally to this work, they are co-first authors.

Gerhard Sonnert, Harvard Smithsonian Center for Astrophysics

Science Education Department

Philip M Sadler, Harvard Smithsonian Center for Astrophysics

Science Education Department


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. DOI: https://doi.org/10.1145/2445196.2445344

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. DOI: https://doi.org/10.7551/mitpress/8402.001.0001

Beaubouef, T. (2002) Why Computer Science Students Need Math. ACM SIGCSE Bulletin. 34(4), 57-59. DOI: https://doi.org/10.1145/820127.820166

Bennedsen, J., & Caspersen, M. E. (2007). Failure rates in introductory programming. ACM SIGCSE Bulletin, 39(2), 32. http://doi.org/10.1145/1272848.1272879 DOI: https://doi.org/10.1145/1272848.1272879

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 DOI: https://doi.org/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. DOI: https://doi.org/10.1145/377435.377467

College Board. (2014). 2014 College-Bound Seniors: Total Group Profile Report. Retrieved December 13, 2016, from https://secure-media.collegeboard.org/digitalServices/pdf/sat/TotalGroup-2014.pdf

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 http://www.cs.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf

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. DOI: https://doi.org/10.2190/5MN5-P7LW-JRB4-W9T5

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. http://doi.org/10.1145/353519.343063 DOI: https://doi.org/10.1145/353519.343063

Handelsman, J., & Smith, M. (2016, February 11). STEM for All. Retrieved December 12, 2016, from https://www.whitehouse.gov/blog/2016/02/11/stem-all

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. http://doi.org/10.1145/953055.5701. DOI: https://doi.org/10.1145/953055.5701

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. DOI: https://doi.org/10.2190/9LE6-MBXA-JDPG-UG90

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. DOI: https://doi.org/10.1145/69586.358140

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. DOI: https://doi.org/10.2190/PW3F-HLFD-1NNJ-H77Q

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. DOI: https://doi.org/10.1037/0003-066X.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. DOI: https://doi.org/10.2316/Journal.209.2013.1.209-0015

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. http://doi.org/10.1016/S0020-7373(84)80064-4 DOI: https://doi.org/10.1016/S0020-7373(84)80064-4

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. DOI: https://doi.org/10.1145/1026487.1008042

Robins, A. (2010). Learning edge momentum: a new account of outcomes in CS1. Computer Science Education (Vol. 20). http://doi.org/10.1080/08993401003612167 DOI: https://doi.org/10.1080/08993401003612167

Robins, A., Rountree, J., & Rountree, N. (2003). Learning and Teaching Programming: A Review and Discussion. Computer Science Education, 13(2), 137–172. http://doi.org/10.1076/csed. DOI: https://doi.org/10.1076/csed.

Smith, M. (2016, January 30). Computer Science For All. Retrieved December 12, 2016, from https://www.whitehouse.gov/blog/2016/01/30/computer-science-all

Strickland, D. (2014, October 7). L.A. United announces larger focus on computer science for K-12. Los Angeles United School District. Retrieved from http://home.lausd.net/apps/news/article/407400

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 http://www.nytimes.com/2015/09/16/nyregion/de-blasio-to-announce-10-year-deadline-to-o 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. http://doi.org/10.1080/08993400500224419 DOI: https://doi.org/10.1080/08993400500224419

Watson, C., & Li, F. (2014). Failure rates in Introductory programming revisited. Proc. Innovation & Technology in Computer Science Education, 39–44. http://doi.org/10.1145/2591708.2591749 DOI: https://doi.org/10.1145/2591708.2591749

Wiedenbeck, S. (2005). Factors affecting the success of non-majors in learning to program. DOI: https://doi.org/10.1145/1089786.1089788

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 DOI: https://doi.org/10.1145/366413.364581

Winslow, L. E. (1996). Programming pedagogy - A psychological overview. SIGCSE Bulletin, 28(3), 17- 22. DOI: https://doi.org/10.1145/234867.234872

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 DOI: https://doi.org/10.1080/08993408.2016.1257418



How to Cite

Chen, C., Jeckel, S., Sonnert, G., & Sadler, P. M. (2019). “Cowboy” and “Cowgirl” Programming: The Effects of Precollege Programming Experiences on Success in College Computer Science. International Journal of Computer Science Education in Schools, 2(4), 22–40. https://doi.org/10.21585/ijcses.v2i4.34