About Hai Hong

Hai Hong leads Google's Computer Science and Digital Skills Outreach Team, whose mission is to support educators across the country and expand equitable access to CS and digital skills learning opportunities to youth and adults. He joined the CSTA Board of Directors in 2019.

7 things for CS teachers to know: K-12 CS experiences of Google engineers

At Google, I lead the Outreach team for Computer Science and Digital Skills Education, which means I get to support CSTA and other great organizations working to broaden access to CS education. In this role, I often find that educators are especially interested in learning more about Google employees (we call them Googlers) who use computer science, so that they can better prepare their own students for the workplace. 

I recently undertook a non-scientific study and polled a small sample of 15 Googlers* in technical roles (nearly all engineers) about their K-12 CS education experiences, in hopes that they’d provide some advice I can pass onto CSTA members. Here are seven themes that emerged:

1. Encouragement is really important and comes in many forms. 

Given the body of research demonstrating the importance of encouragement in helping students persist in CS education (e.g., this white paper), it’s not surprising that Googlers talked a lot about receiving encouragement. This came mostly from teachers and parents. Interestingly, friends/peers were a pretty distant third place. Googlers gave lots of examples of how educators provided them with valuable encouragement, including:

  • My AP CS teacher encouraged me to apply for an NCWIT award, which I won. I joined the Facebook group and immediately felt more included in the national CS and specifically women’s CS community.
  • My high school math teacher was my biggest cheerleader when it came to CS. He had a pretty limited coding background himself, but had the foresight to recognize that CS was the next big thing and that I was good at problem solving and puzzles. 
  • My teacher encouraged me to apply for internships and the Computer Science Summer Institute program, which I attended before college.

2. Share opportunities and challenge your students to stretch themselves.

While some Googlers didn’t know about CS opportunities or didn’t have people in their lives with access to that information, several mentioned that teachers often passed on valuable information about internships and scholarships. Some said that their teachers challenged them to stretch themselves in ways that they might not have otherwise considered. 

  • My teacher pushed me to try the next thing and keep investing in my CS education.
  • My teachers shared available IT-related internship opportunities in the area.
  • Even if they don’t feel qualified, get your students to apply for scholarships, summer camps, and other opportunities. Most will feel hesitant even if they are qualified! Consider offering extra credit for stretching themselves.

3. Make computer science relevant. Personalize the education.

Googlers shared that effective teachers used a wide range of examples and projects, tying content to students’ interests, to make CS feel relevant. Practical applications were especially inspiring, as were real life demonstrations of programs to show CS in action. Some Googlers called out the importance of rigorous CS content or having flexibility for advanced students to explore and learn further on their own.

  • The teacher built a class management system that would randomly pick students to answer questions, and would automatically grade them at the end of the term based on their answers.
  • Leveraging CS to run low-cost experiments can show its relevance.
  • Find and share exciting examples through YouTube videos related to topics of interest. 
  • Don’t be afraid to let the students have freedom to do things their way — it’s messier, but empowers creativity. 

4. Connect lesson plans to WHY students should learn CS.

Related to the above theme, Googlers gave examples of how successful teachers not only taught them how to do things, but also helped them understand why they were learning those CS concepts.

  • My best CS teacher made the lessons relevant. He always highlighted why we were learning specific concepts.
  • Begin by posing problems first, then introduce the tools to solve them. This encourages creativity and divergent thinking, making it easier for students to remember the applicability of the tools.
  • Connecting theory with their practical industry experience made it much more tangible why we were learning CS.

5. Foster collaboration, sharing, and connections.

The importance of teamwork, community, and sharing work samples were mentioned by several Googlers. By inviting students to share their work, teachers not only encouraged peer-to-peer teaching and learning, but also provided validation and recognition. Similarly, building communities fostered friendships among peers with similar interests.

  • Seeing advanced work done by peers encouraged me to learn more.
  • [My teacher encouraged me by] letting me show my finished programs.
  • Peers played an enormous role, as we were programming together to solve Project Euler problems.
  • My teacher sponsored a computer club, which introduced me to other students with similar interests.
  • One friend took the intro course [with me], and her friendship was key to me staying in CS.

6. Teacher support helped students overcome various challenges.

Googlers shared a host of challenges they faced, and in some cases, how teachers helped them overcome these barriers. The most common themes were: lack of CS as a core subject or unavailability of courses; insufficient computer or internet access, especially in rural areas; lack of exposure to CS and mentors; facing gender stereotypes and being made to feel out of place as a girl; and general low self-confidence or impostor syndrome. 

  • Resources were limited, but my teacher pointed me towards opportunities that were available (university classes, online forums and Q&As, etc.).
  • I had a couple of big missed areas due to being self-taught.
  • My biggest challenge was lack of structured content beyond intro level.
  • The first time learning something it can seem impossible, but revisiting makes it clearer. Keep reteaching tough concepts to struggling students — it might eventually click.

7. Keep up the great work!

Finally, Googler advice for CS teachers included some gems that didn’t quite fit the themes above, but that I felt compelled to share as they aligned nicely with CSTA’s work of supporting CS teachers through professional development, community, and inspiration: 

  • Keep growing as computer scientist yourself!
  • Have a growth-mindset approach to teaching (and learning).
  • CS classes changed my life. Your classes will most likely change someone else’s.

* Here’s more information about the 16 Googlers who completed my survey: 80% are engineers with varying years of experience. There was a diverse representation across age ranges and also race/ethnicity, and 60% were female. On average, the Googlers were first exposed to CS at age 14 (responses ranged from 7 to 18), though they reported really enjoying CS at age 17. Not surprisingly, nearly everyone described multiple points of exposure, with in-class learning and self-learning by far the most commonly cited. Learning from family/friends, after-school programs, informal programs (libraries and youth-serving organizations), bootcamps, and internships were also mentioned. Over two-thirds of Googlers identified a teacher who played a critical role in their learning: most mentioned a CS/programming teacher, but mentors also included computer lab staff and a librarian.

Hai Hong
Partner Appointed Representative