Three ways teachers are reimagining classroom learning with
6 min readJan 13, 2020

About the series: What Does a Classroom Look Like?” is a series of blog posts exploring the features that make professional development and curricula unique and engaging for both teachers and students. This is blog post two of four. Read the first post here: “Five ways teachers are bringing computer science to their schools.” classrooms are often lively places, filled with sounds and sights you might not expect to find in computer science classrooms: students chatting and laughing in pairs or groups, asking each other questions, riffing on ideas, even dancing. For many teachers used to computer classes with each student hunched and staring at their own computers in silence, this comes as a welcome surprise. But it’s no accident.

An active, collaborative classroom culture engages students and fosters better learning and increased interest in computer science, so collaboration is something our education team actively incorporates into our courses. There are a number of strategies and activities built into the curriculum and taught at our professional development workshops. Below are just a handful that teachers told us were especially useful in their classrooms.

You drive, I’ll navigate

In Demetra Adams’ K-2 classrooms in Prichard, Alabama, turning students into drivers and navigators during coding activities has been the key to unlocking student engagement.

“We love it!” she says. “They know, when you’re the driver, you’re driving the computer, and when you’re the navigator, you’re helping the driver. They treat it like it’s a game, they cheer like it’s a game.”

Communication is key to successful pair programming.

One of the coolest things about pair programming, according to Adams, is that it teaches students life skills, like working through differences to achieve a common goal, in addition to helping facilitate their computer science learning.

“They have ongoing conversations,” she says. “They’ll disagree with each other, but my rule is, you have to be able to resolve it without me coming over, and they almost always figure it out.” In fact, Adams says, many of the students who struggle with behavioral problems in other courses excel at computer science and feel confident enough to help others!

Students pair-programming in Deby Ranft’s class.

Pair programming also helps lower the barrier for schools that don’t necessarily have the resources to provide 1:1 technology for their students. “It’s great because I can pair multiple students up on one computer,” says Deby Ranft, whose small school in rural Dayton, Nevada shares wifi with the other schools in the district.

“Any time one student would log in, it kicks off another student in another part of the building, because there are only so many access points,” she says.

Instead of students passively waiting and watching, pair programming allows the “navigator” to lead the activity: because they have to direct the “driver” on what to do, they’re problem-solving and engaging in computational thinking even without controlling the mouse.

I don’t know, let’s figure it out!

Ranft also appreciates how the curriculum allows her to model learning for her students. “I’m not someone who knows all the answers, so they like that I say, ‘I don’t know, let’s figure it out!’”

In fact, the role of the teacher as the lead learner, as opposed to the source of knowledge, is part of the pedagogical approach our education team takes when designing curriculum and professional development workshops. In practice, this means that teachers are never expected to lecture or offer the first explanation of a computer science concept. The lead learner’s mantra is: “I may not know the answer, but together we can figure it out!”

In Ranft’s classroom, she’s no longer the only lead learner: students often take turns as “tech support” for the class, called in by other students to help when they’re stuck. Like Adams, Ranft has been surprised at times by which of the students were stepping up.

Students pair-programming in Demetra Adams’ class. (Courtesy of Demetra Adams)

“The ones you think, ‘oh, they’re not gonna get into it,’ they seem to be the ones who get into it the most,” Ranft says. “Like the super arts-and-crafts girl, who’s very quiet, she says I can be on tech support today because I finished the lesson at home.”

Other teachers have told us that being the lead learner, instead of the person with all the answers, has fostered collaboration among students and forced them to take more responsibility for their own learning. For Lakia Brown, the lead learner strategy “took away a lot of the strain of having to know everything,” she says. In pairs or groups, her students can teach each other, which has helped create a “great, open learning environment” and gives her the opportunity to focus more on students who are struggling.

It’s okay to fail

Brown also emphasized the importance of failure and frustration to learning. “I think sometimes I would intervene too soon,” she says, “but by the end of the year, it was okay to fail. We kind of set that as more of a norm. It’s not okay to quit, though. When students were struggling, they knew they had to go through the process.”

For Joell Boast, a middle school teacher in Ellensburg, Washington, and a self-described “advocate for kids being okay to fail,” the curriculum, with its emphasis on iteration and collaborative learning, was a perfect fit for her middle school computer science classes. “This curriculum allows kids [to fail productively],” she says. “I don’t necessarily teach the class as much as let them learn, and then come back and tell me when they’re stuck.”

Screenshot of a group project from Joell Boast’s CS Discoveries class. (Courtesy of Joell Boast)

To help establish this okay-to-fail atmosphere, Boast tells her students she won’t help them the first two weeks. Instead, she encourages them to help and trust each other, a process she facilitates using the problem-solving activities that frontloads into its Computer Science Discoveries curriculum.

This frontloading is on purpose, says GT Wrobel, Curriculum Development Manager at Collaborative learning and self-efficacy — or, encouraging students to take ownership of their own learning — are built into the early units of all of’s curriculum offerings. Each course begins with small group activities designed to encourage team-building, problem-solving, and making real-world connections.

The Computer Science Principles course, for example, begins with a “rapid prototyping” activity. Students are first asked to share something they know a lot about and teach it to a small group. The small group then needs to agree on an innovative idea related to one of the topics and quickly design a prototype.

“The more students are sharing answers and ideas, the better the classroom experience,” Wrobel says.

It’s easy to get started

The heart of’s mission is to give every student in every school the chance to learn computer science, and in designing the optimal experience, we want to help people reimagine what classroom learning might look like. Computer science is a deeply collaborative, engaging and creative field, and those are fundamental aspects of our curriculum and pedagogy. And luckily, it’s easy to incorporate into your own classroom!

If you loved what you read and want to bring computer science to your school, consider taking one of our Professional Learning workshops! Or read our previous post, “Five ways teachers are bringing computer science to their schools,” for more ideas.

-Eric Fershtman,


--® is dedicated to expanding access to computer science increasing participation by young women and students from other underrepresented groups.