Problem Solving in Computer Science: What Does It Really Mean?
A Daunting Challenge
Many of my students complain when asked to read technical literature, despite my efforts to make it fun and relevant. Especially in my most advanced computer science class, it becomes difficult to use material that is exciting and topical for my students because the choice of reading is ultimately out of my hands. By the end of the year, on the Advanced Placement Computer Science A exam, students must be able to read and respond to approximately 8 pages of obscure (and sometimes bizarre) scenarios related to programming in Java. The first time I asked my students to practice responding to one such Free Response Question (FRQ), one in five students simply left it blank and took a nap.
Weeks of practicing FRQs went by but there were no changes in how my students responded to the task. I was confused by their lackluster efforts, and my students were frustrated that they were continually asked to engage in “boring” assignments. However, I knew that if my students were going to be successful on the exam, they would need to attempt to respond to these questions and respond to them correctly. More importantly, through the regular practice of responding to such questions, they would begin to develop critical abstract reasoning skills, whose importance extends well beyond the AP exam. Simple, right?
Reading Comprehension: the Root of the Problem
Honestly, I had no idea how to tackle this problem at first. However, with the support of my Mills Teacher Scholars inquiry colleagues, we began to notice that many of my students were not responding to the FRQ prompt in full, even though they appeared to be engaged in the task the entire time. I felt that the problem was rooted in reading comprehension. So, to support my students’ deeper comprehension of these technical texts, I decided to focus my inquiry on building classroom practices that develop annotation skills. I spent the next six months with my inquiry group refining a series of weekly activities that involved circling key vocabulary terms, underlining prompts, jotting down ideas in margins, and then attempting a response to the questions that fell out of each reading. After students individually practiced their annotation skills, they would act as public learners for each other, guiding the class through their thinking about the text. By the end of my inquiry, 86.5% of my students were naturally utilizing these annotation skills for the FRQs. I was delighted to see that they were developing their critical reading abilities. However, their actual scores never changed.
Confidence Matters Too
I was so confused! How could my students complete our reading comprehension strategies and still exhibit the same response behaviors seen at the beginning of the year? Why was it so difficult to simply put pen to paper and attempt a response? What did they have to lose? I took these mixed feelings back to my inquiry colleagues, who suggested that it might be enlightening to interview three focal students.
After compiling the interview transcripts, I went back to my inquiry group, hoping that my colleagues might help me fill in this blind spot. Their questions challenged my assumptions, ultimately allowing me to focus on a new culprit: my students did not feel confident enough to try. For example, one of my students said, “I know how to read. I just don’t know how to respond. So what is the point of trying if I know I’m going to get it wrong?” This was really surprising to hear. I thought I knew how they felt; I thought they were confident in their abilities to solve problems through code. My focus on reading comprehension had not been enough. I needed to figure out how to develop their confidence as problem solvers, too.
A Question Leads to New Questions
The quest to understand students’ learning lasts much longer than one school year. This year’s struggle motivates me to seek out answers to related questions in the coming fall. For instance, what builds confidence over time in a computer science course, and what changes for students’ identities as learners over time? I have started mulling over instructional strategies that balance “engagement” with rigorous exposure to CS. Most of the time, it feels like engagement and rigor are at odds with each other, especially when you begin to integrate notions of an “appropriate” CS education from some of the field’s most prominent minds. In his essay “On the Cruelty of Really Teaching Computer Science,” E.W. Dijkstra wrote that students should spend their first CS class writing formal proofs about the correctness of their programs. While this approach may be academically rigorous, I am not sure it engages students who still need to be sold on the idea of computer science. My most recent inquiry has started me thinking that a student’s confidence is buried in the slim overlap between rigorous exposure to subject matter and engaging learning experiences. This multifaceted question can feel daunting to address as an individual educator. However, I am not alone. I know that I can continue to lean on future cycles of inquiry, as well as the wonderful community of instructors who, like me, are set on figuring it all out.
Sonia Spindt has been a computer science instructor at Madison Park Academy for the last four years, where she teaches Web Development, AP CSP, and AP CSA. She is constantly inspired by her students and is excited to continue to empower them to explore STEM fields and careers within the technological sector. If you can’t find her in the classroom, you can usually find her in the car — She loves to go on road trips with her twin sister when she can and believes the best way to experience a new culture is through food!