ABSTRACT
Factors driving success and failure in CS1 are the subject of much study but less so for CS2. This paper investigates the transition from CS1 to CS2 in search of leading indicators of success in CS2. Both CS1 and CS2 at the University of North Carolina Wilmington (UNCW) are taught in Python with annual enrollments of 300 and 150 respectively. In this paper, we report on the following research questions: 1) Are CS1 grades indicators of CS2 grades? 2) Does a quantitative relationship exist between CS2 course grade and a modified version of the SCS1 concept inventory? and 3) What are the most challenging aspects of CS2, and how well does CS1 prepare students for CS2 from the student's perspective?
We provide a quantitative analysis of 2300 CS1 and CS2 course grades from 2013-2019. In Spring 2019, we administered a modified version of the SCS1 concept inventory to 44 students in the first week of CS2. Further, 69 students completed a questionnaire at the conclusion of CS2 to gain qualitative student feedback on their challenges in CS2 and on how well CS1 prepared them for CS2.
We find that 56% of students' grades were lower in CS2 than CS1, 18% improved their grades, and 26% earned the same grade. Of the changes, 62% were within one grade point. We find a statistically significant correlation between the modified SCS1 score and CS2 grade points. Students identify linked lists and class/object concepts among the most challenging. Student feedback on CS2 challenges and the adequacy of their CS1 preparations identify possible avenues for improving the CS1-CS2 transition.
- N. Alzahrani, F. Vahid, A. Edgcomb, K. Nguyen, and R. Lysecky. 2018. Python Versus C++: An Analysis of Student Struggle on Small Coding Exercises in Introductory Programming Courses. In SIGCSE 2018 - Proceedings of the 49th ACM Technical Symposium on Computer Science Education. Association for Computing Machinery, Inc, Baltimore, MD, USA, 86--91. https://doi.org/10.1145/3159450.3160586Google Scholar
- R. H. Austing, B. H. Barnes, D. T. Bonnette, G. L. Engel, and G. Stokes. 1979. Curriculum '78: Recommendations for the Undergraduate Program in Computer Science - A Report of the ACM Curriculum Committee on Computer Science. Commun. ACM 22, 3 (3 1979), 147--166. https://doi.org/10.1145/359080.359083Google Scholar
- J. Bennedsen and M. E. Caspersen. 2007. Failure Rates in Introductory Programming. ACM SIGCSE Bulletin 39, 2 (6 2007), 32. https://doi.org/10.1145/1272848.1272879Google Scholar
- S. Bergin, R. Reilly, and D. Traynor. 2005. Examining the Role of Self-Regulated Learning on Introductory Programming Performance. In Proceedings of the 1st International Computing Education Research Workshop, ICER 2005. ACM Press, Seattle, WA, USA, 81--86. https://doi.org/10.1145/1089786.1089794Google Scholar
- H. Bisgin, M. Mani, and S. Uludag. 2018. Delineating Factors that Influence Student Performance in a Data Structures Course. In 2018 IEEE Frontiers in Education Conference FIE). IEEE, San Jose, CA, USA, 1--9. https://doi.org/10.1109/FIE.2018.8659300Google ScholarCross Ref
- A. S. Carter, C. D. Hundhausen, and O. Adesope. 2017. Blending Measures of Programming and Social Behavior into Predictive Models of Student Achievement in Early Computing Courses. ACM Transactions on Computing Education 17, 3 (8 2017), Article 12. https://doi.org/10.1145/3120259Google ScholarDigital Library
- J.M. Cohoon. 2001. Toward Improving Female Retention in the Computer Science Major. Commun. ACM 44, 5 (2001), 108--114.Google ScholarDigital Library
- T. D. Cook and D. T. Campbell. 1979. Quasi-Experimentation: Design & Analysis Issues for Field Settings. Rand McNally, Chicago.Google Scholar
- R. J. Enbody, W. F. Punch, and M. McCullen. 2009. Python CS1 as Preparation for C++ CS2. In SIGCSE'09 - Proceedings of the 40th ACM Technical Symposium on Computer Science Education. ACM Press, Chattanooga, TN, 116--120. https://doi.org/10.1145/1508865.1508907Google Scholar
- N. J. Falkner and K. Falkner. 2012. A Fast Measure for Identifying At-Risk Students in Computer Science. In ICER'12 - Proceedings of the 9th Annual International Conference on International Computing Education Research. ACM Press, Auckland, New Zealand, 55--62. https://doi.org/10.1145/2361276.2361288Google Scholar
- M. Hertz. 2010. What Do "CS1" and "CS2" Mean? Investigating Differences in the Early Courses. In SIGCSE'10 - Proceedings of the 41st ACM Technical Symposium on Computer Science Education. ACM Press, Milwaukee, WI, USA, 199--203. https://doi.org/10.1145/1734263.1734335Google ScholarDigital Library
- K. Karpierz and S. A. Wolfman. 2014. Misconceptions and Concept Inventory Questions for Binary Search Trees and Hash Tables. In SIGCSE 2014 - Proceedings of the 45th ACM Technical Symposium on Computer Science Education. ACM Press, Atlanta, GA, USA, 109--114. https://doi.org/10.1145/2538862.2538902Google Scholar
- T. Koulouri, S. Lauria, and R. D. Macredie. 2014. Teaching Introductory Programming: A Quantitative Evaluation of Different Approaches. ACM Transactions on Computing Education 14, 4 (12 2014), Article 26. https://doi.org/10.1145/2662412Google Scholar
- R. P. Loui. 2008. In Praise of Scripting: Real Programming Pragmatism. Computer 41, 7 (7 2008), 22--26. https://doi.org/10.1109/MC.2008.228Google Scholar
- J. Margolis and A. Fisher. 2002. Unlocking the Clubhouse: Women in Computing. The MIT Press, Cambridge, Massachusetts.Google Scholar
- J. H. F. Meyer and R. Land. 2005. Threshold Concepts and Troublesome Knowledge (2): Epistemological Considerations and a Conceptual Framework for Teaching and Learning. Higher Education 49, 3 (4 2005), 373--388. https://doi.org/10.1007/s10734-004-6779-5Google Scholar
- I. O. Pappas, M. N. Giannakos, and L. Jaccheri. 2016. Investigating Factors Influencing Students Intention to Dropout Computer Science Studies. In Annual Conference on Innovation and Technology in Computer Science Education, ITiCSE. ACM Press, Arequipa, Peru, 198--203. https://doi.org/10.1145/2899415.2899455Google Scholar
- M. C. Parker, M. Guzdial, and S. Engleman. 2016. Replication, Validation, and Use of a Language Independent CS1 Knowledge Assessment. In Proceedings of the 2016 ACM Conference on International Computing Education Research (ICER '16). ACM, Melbourne, Australia, 93--101. https://doi.org/10.1145/2960310.2960316Google Scholar
- W. Paul and J. Vahrenhold. 2013. Hunting High and Low. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education - SIGCSE '13. ACM Press, Denver, CO, USA, 29--34. https://doi.org/10.1145/2445196.2445212Google Scholar
- L. Porter, D. Zingaro, C. Lee, C. Taylor, K. C. Webb, and M. Clancy. 2018. Developing Course-Level Learning Goals for Basic Data Structures in CS2. In SIGCSE 2018 - Proceedings of the 49th ACM Technical Symposium on Computer Science Education. ACM Press, Baltimore, MD, USA, 858--863. https://doi.org/10.1145/3159450.3159457Google Scholar
- L. Porter, D. Zingaro, S. N. Liao, C. Taylor, K. C. Webb, C. Lee, and M. Clancy. 2019. BDSI: A Validated Concept Inventory for Basic Data Structures. In Proceedings of the 2019 ACM Conference on International Computing Education Research - ICER '19. ACM Press, Toronto, ON, Canada, 111--119. https://doi.org/10.1145/3291279.3339404Google Scholar
- A. Radenski. 2006. "Python First": A Lab-Based Digital Introduction to Computer Science. In Working Group Reports on ITiCSE on Innovation and Technology in Computer Science Education 2006. ACM Press, Bologna, Italy, 197--201. https://doi.org/10.1145/1140124.1140177Google Scholar
- K. Sanders, J. Boustedt, A. Eckerdal, R. Mccartney, J. E. Moström, L. Thomas, and C. Zander. 2012. Threshold Concepts and Threshold Skills in Computing. In ICER'12 - Proceedings of the 9th Annual International Conference on International Computing Education Research. ACM Press, Auckland, NewZealand, 23--30. https://doi.org/10.1145/2361276.2361283Google Scholar
- B. Simon, M. Clancy, R. McCartney, B. Morrison, B. Richards, and K. Sanders. 2010. Making Sense of Data Structures Exams. In ICER'10 - Proceedings of the International Computing Education Research Workshop. ACM Press, Aarhus, Denmark, 97--105. https://doi.org/10.1145/1839594.1839612Google Scholar
- A. Strauss. 1987. Qualitative Analysis for Social Scientists. Cambridge University Press, New York. https://doi.org/10.1017/CBO9780511557842Google Scholar
- A. E. Tew. 2010. Assessing Fundamental Introductory Computing Concept Knowledge in a Language Independent Manner. Ph.D. Dissertation. Georgia Insitute of Technology.Google Scholar
- A. E. Tew and M. Guzdial. 2011. The FCS1: A Language Independent Assessment of CS1 Knowledge. In Proceedings of the 42Nd ACM Technical Symposium on Computer Science Education (SIGCSE '11). ACM, Dallas, TX, USA, 111--116. https://doi.org/10.1145/1953163.1953200Google Scholar
- E. H. Turner, E. Albert, R. M. Turner, and L. Latour. 2007. Retaining Majors through the Introductory Sequence. In SIGCSE 2007: 38th SIGCSE Technical Symposium on Computer Science Education. ACM Press, Covington, KY, USA, 24--28. https://doi.org/10.1145/1227310.1227321Google Scholar
- A. Vihavainen, J. Airaksinen, and C. Watson. 2014. A Systematic Review of Approaches for Teaching Introductory Programming and their Influence on Success. In ICER 2014 - Proceedings of the 10th Annual International Conference on International Computing Education Research. ACM Press, Glasgow, Scotland, 19--26. https://doi.org/10.1145/2632320.2632349Google Scholar
- C. Watson and F. W. Li. 2014. Failure Rates in Introductory Programming Revisited. In ITICSE 2014 - Proceedings of the 2014 Innovation and Technology in Computer Science Education Conference. ACM Press, Uppsala, Sweden, 39--44. https://doi.org/10.1145/2591708.2591749Google Scholar
- L. Yeomans, S. Zschaler, and K. Coate. 2019. Transformative and Troublesome? Students' and Professional Programmers' Perspectives on Difficult Concepts in Programming. ACM Transactions on Computing Education 19, 3 (1 2019), Article 23. https://doi.org/10.1145/3283071Google ScholarDigital Library
- D. Zingaro. 2015. Examining Interest and Grades in Computer Science 1: A Study of Pedagogy and Achievement Goals. ACM Transactions on Computing Education 15, 3 (7 2015), Article 14. https://doi.org/10.1145/2802752Google ScholarDigital Library
- D. Zingaro, C. Taylor, L. Porter, M. Clancy, C. Lee, S. N. Liao, and K. C. Webb. 2018. Identifying Student Difficulties with Basic Data Structures. In ICER 2018 -Proceedings of the 2018 ACM Conference on International Computing Education Research. ACM Press, Espoo, Finland, 169--177. https://doi.org/10.1145/3230977.3231005Google Scholar
Index Terms
- Toward Predicting Success and Failure in CS2: A Mixed-Method Analysis
Recommendations
What do "CS1" and "CS2" mean?: investigating differences in the early courses
SIGCSE '10: Proceedings of the 41st ACM technical symposium on Computer science educationThirty-one years ago, the ACM Computing Curricula used the terms "CS1" and "CS2" to designate the first two two courses in the introductory sequence of a computer science major. While computer science education has greatly changed since that time, we ...
Predicting Student Success in CS2: A Study of CS1 Exam Questions
SIGCSE 2022: Proceedings of the 53rd ACM Technical Symposium on Computer Science Education - Volume 1A number of published studies indicate that many students who receive passing grades in CS1 may struggle in CS2. This can lead to higher attrition and failure rates in CS2, and perhaps also in subsequent courses in the curriculum. Many researchers have ...
Experiences with a CS0 course targeted for CS1 success
SIGCSE '05: Proceedings of the 36th SIGCSE technical symposium on Computer science educationIn this paper, we report on an approach taken addressing the issue of the preparedness of students entering CS1. Specifically, we discuss the adoption of a first-day assessment test in lieu of completed course prerequisites for determining students' ...
Comments