For many students learning to code for the first time can be daunting and intimidating. At the same time, there are other students who love the opportunity to lead the class and show how much they’ve learned! We believe there’s room for both students to not only thrive in a CodeHS classroom, but to deepen one another’s understanding and growth. 

In this article we offer some suggestions for bringing collaborative learning to your classroom. We’ll approach this topic in two buckets: how to collaborate in pairs and how to collaborate in teams.

How do I get students to collaborate when they are looking at one screen?

When you’re first introducing collaborative coding, we recommend starting with pairs of two, or Pair Programming. In these duos, students can take on specific roles to help structure their work time.

  • Student 1 we’ll call the Driver. This student types the code into the program. They’re the student actively using the computer.
  • Student 2 we’ll call the Navigator. This student focuses on the big picture, and keeps the driver focused on what the program needs to do. This student reviews the Driver’s lines of code and notices small errors, perhaps a missing ; or an open (

Between the two of them, this dynamic duo can focus on higher-level concepts, reduce the bugs in their code, and practice solving complex problems.

If you really want to take this to the next level, design a graphic organizer that students use at the end of class to write down what they learned from their partner and describe what they did to help their team.

What if I want students to collaborate in teams? 

Teamwork in a CodeHS classroom can be used during many different exercises, though we recommend it when students are working on handouts, or when they are creating projects in the Sandbox.

While in teams, consider being really intentional about group norms. You could try implementing:

  • Team roles (like recorder, facilitator, time-keeper, navigator) 
  • Communication norms (teach how to clarify points, summarize, challenge assumptions, provide evidence, come to a consensus)
  • Steps for Achieving Major Goals (set a timeline for the goal, review terms and definitions needed, evaluate your options, come to a consensus, implement your decision)

When all's said and done, it’s always nice to come back together as a class and discuss the shared experience of collaborative programming. Perhaps you can make an anchor chart on group norms, or list the problem solving strategies students used to achieve their goals. However you choose to implement it, we know your students will love it!

If you have any other ideas or suggestions on how to collaborate and engage your students, please share in the teacher forum! And of course, feel free to reach out with any questions you have.

Did this answer your question?