Students often have misconceptions about Computer Science (CS) as a subject around who can be successful at it and who can’t. My school starts CS education as early as 6th grade and by the time I see them in class as 9th or 10th graders, many of them have solidified either negative or positive feelings about programming. I’ve noticed this show up in the different ways students engage with the problems I ask them to solve. Some are immediately confident when tackling abstract questions, while others shy away and freeze when asked to give an idea regardless of whether it’s correct or incorrect. For many of my students, just taking the step to get started on a CS task can be very scary.
I took these observations into my Computer Science inquiry group and through conversation with colleagues, landed on my big question of the year: How can I support students to feel ready, prepared and confident to begin a programming task – not necessarily solve it, or solve it correctly, but just to begin? I had a hunch that students’ ability to jump into and begin solving a problem is connected to whether they feel successful or not in CS.
Through interviews with focal students, I learned that many of my students have a hard time comprehending the directions that I provide them at the beginning of each programming task. Although I’m sure my directions are far from perfect, these interviews suggested that many of my students never actually took the time to read through the steps that I constructed. Shocked by this revelation, I began to think of ways that I could both teach and incentivize the completion of this incredibly important first step.
Through a year of observing and listening to my students, talking to colleagues, and trying new strategies, I have converged on a couple of teaching strategies that seem to help the students who need extra support.
These changes in my practice have impacted student learning dramatically. Now, most students who engage in this process can complete problems on time and feel more successful. Overall, students are feeling better about their work and producing better solutions.
Toward the end of the school year, I had one more conversation with my focal students to see how they felt about all the systems that we had tried over the year. We largely focused on interval training; they liked that I eventually included the opportunity to earn points by asking questions because it ultimately made them feel safer to speak up even when they were unsure. This was an important noticing for me because it highlighted the need to find ways for all students to feel like they are contributing to the collective knowledge of the class. In their eyes, peer-based recognition is essential in building their confidence as successful CS students.
As I move into a new school year, some new questions propel me forward. How can I support my students towards more independence? Perhaps I could start examining what success looks like within small groups, then pairs, then individually. There’s still value in full class work but what does it take to move from full class to independent work? The scaffolds that I have set up work for my students, but does it translate to the technical aptitude I’m looking for? How much scaffolding is enough? How do I continue to build confidence in my less confident students when so much of that feels embedded in experiences out of my control?
Motivated to help further diversify the field of computer science, she joined Teach for America, where she began teaching Web Development, AP Computer Science Principles, and AP Computer Science A. Here, Sonia is constantly inspired by her students and is excited to continue empowering them to explore STEM fields and careers. She loves to travel when she can and believes the best way to experience a new culture is through food!