In the midst of the COVID-19 crisis, thousands of people spanning every time zone were captivated by the prospect of a manageable challenge — why does Karel keep crashing? Stanford’s CS 106A course had virtually opened its doors to more than 10,000 students from 144 countries for a free, one-time initiative: Code in Place.
A few weeks into quarantine, when I received an email titled “Want to be a volunteer for a special CS106A class in the time of coronavirus?” I signed up immediately, not entirely sure of what I was getting myself into. The project, which began to teach introductory programming skills, evolved into a model for equity in computer science education and a symbol of cooperation in a turbulent world.
A pandemic may not be the ideal setting to master a new skill, but for many, the timing was perfect. Students found the challenging assignments a welcome distraction from, as Tamika Hayes (in Palo Alto) put it, “reading and refreshing online news in an infinite loop!”
The online instruction consisted of three recorded lectures a week by Stanford’s highly acclaimed Mehran Sahami and Chris Piech and a weekly section hosted via Zoom. Despite its volume, the curriculum maintained the rigor of the CS106A course.
“Our course had around 90 hours of content across 5 weeks — that is a lot of work at a fast pace,” Piech said. The course introduced basic programming logic with the Karel robot, and then transitioned into Python to explore data structures, images, files and dictionaries. Kimberly Tran (in San Jose) appreciated the wide variety of topics, saying, “I came into this class thinking that coding was only for tech company jobs, but was able to learn that you could apply coding to images and animation.”
The scope of instruction was expanded to meet the needs of a global student body. Volunteers worked to establish accessibility with the prolific linguistic and cultural diversity among students by teaching sections and setting up group chats in additional languages. For the first time, I gave feedback on programs written in Spanish, challenging coding’s historic dependence on English.
Students completed three assignments and a final project where they could use their new skills to create without bounds. Tom Welsh’s (Frankfurt, Germany) final project was a transportation program that will enable a user to see timetables and routes for specific buses. Christine Bagarino (Tokyo, Japan) coded a speaking skills evaluator tool that gives feedback on a student’s accuracy and speed to aid in language learning. After just five weeks, students went from zero experience to autonomously utilizing a wide variety of Python features to solve problems they are passionate about.
While Code in Place exceeded its goal of accelerated learning, allowing thousands of new programmers to tackle relevant issues was not the only deliverable. The course fostered international friendships in a time of social distancing, provided a sense of structure and normalcy during an otherwise chaotic period and reaffirmed that everyone can learn to code.
Patrisha Sutton (Italy) described it as, “the most enjoyable, mentally stimulating and rewarding experience I have ever encountered.” Ebere Edem (Nigeria) expressed it was “actually one of the best things that happened to me this season.”
The direct interactions of students and instructors is what propelled Code in Place into — perhaps unintentionally — raising the standards for online courses. Citra Yuwono (Sunnyvale, California) applauded the course as “miles beyond” any other MOOC (Massive Open Online Course), attributing this to the structure of the section system, a long-praised aspect of Stanford’s introductory computer science courses. Miranda Guillermo (Mexico City) described the 900 section leaders who volunteered “for the simple joy of teaching and sharing knowledge” as “collaboration in the biggest extent of the word.”
Code in Place section leaders were selected through an online application, spanning Stanford CS106 section leaders past and present, engineers at top tech companies, high school teachers, entrepreneurs, researchers and more. Volunteer Aaron Alphonsus (Worcester, MA) pointed out the sheer uniqueness of the opportunity to “teach people from seven or eight different countries.”
During weekly section meetings, 8-12 students gathered to review concepts and work through problems with their section leader. Section also allowed students to ask questions and bond with their classmates, an aspect often left out of the typical online course model.
Learning was not exclusive to students. One section leader, Zahraa Hoosen (Johannesburg, South Africa) explained, “there’s so much more to teaching coding than just being some genius ‘coding’ guru—you need empathy [and] patience.”
Similarly, Bingyuan Liu (Hangzhou, China) described the rewarding experience of teaching, saying “I tried my best to inspire them, and their self-motivation and desire to learn inspired me more.”
For support and community-building outside of class, an Ed discussion platform was created where all students could connect with course staff, ask and answer debugging queries, and make friends with peers from across continents. Sahami shared, “It was deeply heartwarming to see how much students and section leaders in Code in Place encouraged each other to succeed. The outpouring of support was simply amazing.” Maria Fionalita (Indonesia) affirmed, “I don’t think any other online courses have an online community as solid as Code in Place.”
The legacy of the community is being preserved through a podcast titled “Humans of Code in Place,” produced by section leaders Patricia Wei ’23 and Jacob Sharf (San Francisco), which highlights inspiring stories of students and section leaders.
Student’s ambitions certainly did not end at the five-week mark. Monisha Mohan (California) has already made plans to allocate time every week for programming and recently created a GitHub account. Medical student Gonzalo (Argentina) hopes to explore how machine learning can apply to diagnostic radiology. Deboleena (Washington, D.C.) wants to look into the use of artificial intelligence in international development and women’s economic empowerment. During the final week of the course, section leaders hosted Q&A sessions on topics covering everything from the intersection of programming and art to minority groups in tech. Many section leaders shared how the experience has illuminated their love for teaching, with Rohit Goswami (Iceland), a doctoral researcher, hoping to “remain in academia and eventually be a professor as well.”
Despite its unconventional setting, Code in Place reflected an ideal class: students without the incentive of grades, who chose to learn for the sake of discovery, and instructors who volunteered simply to share their passion with others.
A course of this size, composed of a diverse set of students with no prior coding experience, could not have succeeded without diligence from every instructor to promote an equitable learning environment. As section leader Saksham Gupta (Bangalore, India) described, it is a community seeking to “change how computer science education works on a global level.” Jake Kaplan (New Jersey) asserted that, “computer science is super scary when you first start” and shared that the best part of the course was fostering an environment where students “can feel empowered that, no matter their background, they’ve all become budding computer scientists together.”
In an industry known for its homogeneity and barriers to entry, where it seems inequalities are cited more frequently than advances, Code in Place sets an example of what accessible, equitable, and fun computer science education looks like.
“Chris, Mehran, and the team are the opposite of the gatekeepers of knowledge that I and other friends of mine have encountered in the tech world,” said Deborah Navarro (Brooklyn, NY).
They are spreading infinite hope!”
Contact Lucia Morris at luciam ‘at’ stanford.edu.