skip to main content


Title: Why do CS1 Students Think They're Bad at Programming?: Investigating Self-Efficacy and Self-Assessments at Three Universities
Undergraduate computer science (CS) programs often suffer from high dropout rates. Recent research suggests that self-efficacy -- an individual's belief in their ability to complete a task -- can influence whether students decide to persist in CS. Studies show that students' self-assessments affect their self-efficacy in many domains, and in CS, researchers have found that students frequently assess their programming ability based on their expectations about the programming process. However, we know little about the specific programming experiences that prompt the negative self-assessments that lead to lower self-efficacy. In this paper, we present findings from a survey study with 214 CS1 students from three universities. We used vignette-style questions to describe thirteen programming moments which may prompt negative self-assessments, such as getting syntax errors and spending time planning. We found that many students across all three universities reported that they negatively self-assess at each of the thirteen moments, despite the differences in curriculum and population. Furthermore, those who report more frequent negative self-assessments tend to have lower self-efficacy. Finally, our findings suggest that students' perceptions of professional programming practice may influence their expectations and negative self-assessments. By reducing the frequency that students self-assess negatively while programming, we may be able to improve self-efficacy and decrease dropout rates in CS.  more » « less
Award ID(s):
1755628
NSF-PAR ID:
10215920
Author(s) / Creator(s):
;
Date Published:
Journal Name:
Proceedings of the 2020 ACM Conference on International Computing Education Research
Page Range / eLocation ID:
170 to 181
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. Student perceptions of programming can impact their experiences in introductory computer science (CS) courses. For example, some students negatively assess their own ability in response to moments that are natural parts of expert practice, such as using online resources or getting syntax errors. Systems that automatically detect these moments from interaction log data could help us study these moments and intervene when the occur. However, while researchers have analyzed programming log data, few systems detect pre-defined moments, particularly those based on student perceptions. We contribute a new approach and system for detecting programming moments that students perceive as important from interaction log data. We conducted retrospective interviews with 41 CS students in which they identified moments that can prompt negative self-assessments. Then we created a qualitative codebook of the behavioral patterns indicative of each moment, and used this knowledge to build an expert system. We evaluated our system with log data collected from an additional 33 CS students. Our results are promising, with F1 scores ranging from 66% to 98%. We believe that this approach can be applied in many domains to understand and detect student perceptions of learning experiences. 
    more » « less
  2. Undergraduate programs in computer science (CS) face high dropout rates, and many students struggle while learning to program. Studies show that perceived programming ability is a significant factor in students' decision to major in CS. Fortunately, psychology research shows that promoting the growth mindset, or the belief that intelligence grows with effort, can improve student persistence and performance. However, mindset interventions have been less successful in CS than in other domains. We conducted a small-scale interview study to explore how CS students talk about their intelligence, mindsets, and programming behaviors. We found that students' mindsets rarely aligned with definitions in the literature; some present mindsets that combine fixed and growth attributes, while others behave in ways that do not align with their mindsets. We also found that students frequently evaluate their self-efficacy by appraising their programming intelligence, using surprising criteria like typing speed and ease of debugging to measure ability. We conducted a survey study with 103 students to explore these self-assessment criteria further, and found that students use varying and conflicting criteria to evaluate intelligence in CS. We believe the criteria that students choose may interact with mindsets and impact their motivation and approach to programming, which could help explain the limited success of mindset interventions in CS. 
    more » « less
  3. University introductory computer science courses (CS1) present many challenges. Students enter CS1 with varying backgrounds and many are evaluating their potential for success in the major. Students often negatively self-assess in response to natural programming moments, such as getting a syntax error, but we have a limited understanding of the mechanisms that drive these self-assessments. In this paper, we study the differences in student assessments of themselves and their assessments of others in response to particular programming moments. We analyze survey data from 214 CS1 students, finding that many have a self-critical bias, evaluating themselves more harshly than others. We also found that women have a stronger self-critical bias, and that students tend to be more self-critical when the other is female. These insights can help us reduce the impact of negative self-assessments on student experiences. 
    more » « less
  4. Broadening the participation of underrepresented students in computer science fields requires careful design and implementation of culturally responsive curricula and technologies. Culturally Situated Design Tools (CSDTs) address this by engaging students in historic, cultural, and meaningful design projects based on community practices. To date, CSDT research has only been conducted in short interventions outside of CS classrooms. This paper reports on the first semester-long introductory CS course based on CSDTs, which was piloted with 51 high school students during the 2017-2018 school year. The goal of this study was to examine if a culturally responsive computing curriculum could teach computer science principles and improve student engagement. Pre-post tests, field notes, weekly teacher meetings, formative assessments, and teacher and student interviews were analyzed to assess successes and failures during implementation. The results indicate students learned the conceptual material in 6 months rather than in the 9 months previously required by the teacher. Students were also able to apply these concepts afterward when programming in Python, implying knowledge transfer. However, student opinions about culture and computing didn't improve, and student engagement was below initial expectations. Thus we explore some of the many challenges: keeping a fully integrated cultural curriculum while satisfying CS standards, maintaining student engagement, and building student agency and self-regulation. We end with a brief description for how we intend to address some of these challenges in the second iteration of this program, scheduled for fall 2018. After which a study is planned to compare this curriculum to others. 
    more » « less
  5. Background and Context: Students’ self-efficacy toward computing affect their participation in related tasks and courses. Self- efficacy is likely influenced by students’ initial experiences and exposure to computer science (CS) activities. Moreover, student interest in a subject likely informs their ability to effectively regulate their learning in that domain. One way to enhance interest in CS is through using collaborative pair programming. Objective: We wanted to explore upper elementary students’ self- efficacy for and conceptual understanding of CS as manifest in collaborative and regulated discourse during pair programming. Method: We implemented a five-week CS intervention with 4th and 5th grade students and collected self-report data on students’ CS attitudes and conceptual understanding, as well as transcripts of dyads talking while problem solving on a pair programming task. Findings: The students’ self-report data, organized by dyad, fell into three categories based on the dyad’s CS self-efficacy and conceptual understanding scores. Findings from within- and cross-case analyses revealed a range of ways the dyads’ self-efficacy and CS conceptual understanding affected their collaborative and regulated discourse. Implications: Recommendations for practitioners and researchers are provided. We suggest that upper elementary students learn about productive disagreement and how to peer model. Additionally, our findings may help practitioners with varied ways to group their students. 
    more » « less