Factors that Influence the Success of the CS2 for Students Who Failed CS1 Programming Course
Adam Basigie Mtaho*
Department of ICT, Arusha Technical College, Tanzania
*Corresponding Author: Adam Basigie Mtaho, Department of ICT, Arusha Technical College, Tanzania.
October 29, 2021; Published: November 10, 2021
CS1 and CS2 are two fundamental programming courses in Computer Science (CS) education. Mostly, CS1 focuses on basic algorithm design and programming concepts while CS2 introduces more advanced data abstractions and data structures. There is a general consensus that for successful learning of CS2 courses, students must learn and pass CS1 at least with a satisfactory level before learning CS2. To date, there are limited empirical studies that have examined the factors that can influence students who initially failed CS1 to pass CS2. The aim of this study was twofold; first to determine if there exist a substantial number of students who failed CS1 but managed to successfully pass CS2; and second, to examine the factors that influenced the success of CS2. The subjects of the study were 736 undergraduate students who were studying a CS2 course at the College of Informatics and Virtual Education (CIVE) of the University of Dodoma in Tanzania. The study employed a mixed research approach. Data were collected by using documentary review (students’ examination reports), questionnaires and interview methods. Data from 2013-2018 examination reports and questionnaire were analyzed by using descriptive statistics while data from students´ interviews was analyzed by using the content analysis method. Results show that within a period of five consecutive years from 2013-2018, 20.52% of the students who failed CS1 at CIVE managed to pass CS2. The key factors that were identified to influence the students’ success of CS2 despite their failure in CS1 were the tendency of the students who failed CS1 to build new confidence after the initial failure, the change of student living and learning styles, reviewing programming thresholds, and avoiding rote learning. To help students understand CS1 and CS2, the study recommends instructors who teach programming to motivate students and use teaching strategies that encourage self-efficacy attitudes among the students.
Keywords: CS1; CS2; Programming; Computer Science; Failure Rate in CS2
- Sajaniemi Jorma. "An empirical analysis of roles of variables in novice-level procedural programs”. Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments IEEE (2002).
- The Joint Task Force on Computing Curricula, C. O. R. P. O. R. A. T. E., ed. "Computing curricula 2001”. Journal on Educational Resources in Computing (JERIC)3es (2001): 1-es.
- Shackelford Russell., et al. "Computing curricula 2005”. ACM, AIS, and IEEE-CS, September30 (2005).
- Fouh Eric., et al. "The role of visualization in computer science education”. Computers in the Schools1-2 (2012): 95-117.
- Malla Sulav., et al. "Predicting Success for Computer Science Students in CS2 using Grades in Previous Courses”. 2019 IEEE Frontiers in Education Conference (FIE). IEEE (2019).
- Guerra Hélia., et al. "Agile approach to a CS2-based course using the Jupyter notebook in lab classes”. 2019 5th Experiment International Conference (exp. at'19). IEEE (2019).
- Reges Stuart. "Back to basics in CS1 and CS2”. Proceedings of the 37th SIGCSE technical symposium on Computer Science Education (2006).
- Tennyson Matthew F and Marc Beck. "A study of knowledge retention in introductory programming courses”. Journal of Computing Sciences in Colleges4 (2018): 13-20.
- Butler Matthew and Michael Morgan. "Learning challenges faced by novice programming students studying high level and low feedback concepts”. Proceedings Ascilite Singapore99-107 (2007).
- Wei Duo and Arron Nappen Burrows. "Tracking students' performance to assess correlations among computer science programming series courses”. Journal of Computing Sciences in Colleges1 (2016): 9-16.
- Layman Lucas., et al. "Toward predicting success and failure in cs2: A mixed-method analysis”. Proceedings of the 2020 ACM Southeast Conference (2020).
- Enbody Richard J., et al. "Python CS1 as preparation for C++ CS2”. Proceedings of the 40th ACM technical symposium on Computer Science Education (2009).
- Hawi Nazir. "Causal attributions of success and failure made by undergraduate students in an introductory-level computer programming course”. Computers and Education4 (2010): 1127-1136.
- Shaw Ruey-Shiang. "A study of the relationships among learning styles, participation types, and performance in programming language learning supported by online forums”. Computers and Education1 (2012): 111-120.
- Mhashi Mahmoud M and A L I M Alakeel. "Difficulties facing students in learning computer programming skills at Tabuk University”. Recent Advances in Modern Educational Technologies (2013): 15-24.
- Dilshad Rana Muhammad and Muhammad Ijaz Latif. "Focus group interview as a tool for qualitative research: An analysis”. Pakistan Journal of Social Sciences (PJSS)1 (2013).
- Braun Virginia and Victoria Clarke. "Using thematic analysis in psychology”. Qualitative research in psychology2 (2006): 77-101.
- Bennedsen Jens and Michael E Caspersen. "Failure rates in introductory programming”. Acm Sigcse Bulletin2 (2007): 32-36.
- Gomes Anabela and António José Mendes. "Learning to program-difficulties and solutions”. International Conference on Engineering Education–ICEE 7 (2007).
- Adu-Manu K., et al. "Causes of failure of students in computer programming courses: The teacher-learner Perspective”. International Journal of Computer Applications12 (2013): 27-32.
- Loftus Chris., et al. "Can graduating students design: revisited”. Proceedings of the 42nd ACM technical Symposium on Computer Science Education (2011).
- Dehnadi Saeed and Richard Bornat. "The camel has two humps (working title)”. Middlesex University, UK (2006): 1-21.
- Lee Cynthia and Philip Bobko. "Self-efficacy beliefs: Comparison of five measures”. Journal of Applied Psychology3 (1994): 364.