To most Stanford students, CS 106A: Programming Methodology is a rite of passage: each year, the introductory programming course supports over 1,600 students from all academic disciplines. However, for many people across the world, a world-class introduction to computer science like CS106A can be life-changing.
After a yearlong hiatus, Code in Place makes a return to offer the free, human-centered, intro-to-coding online course based on CS106A for students from all over the world. Without enough teaching assistants, though, they may have to turn away a significant portion of 77,000 students currently registered.
Founded by Computer Science professors Chris Piech ’10 M.S. ’11 Ph.D. ’16 and Mehran Sahami ’92 M.S. ’93 Ph.D. ’99 during the pandemic, the 2020 and 2021 offerings of Code in Place have taught over 22,000 students and trained 2,100 section leaders, according to their website. “It’s a group effort,” said Piech. In addition to volunteer section leaders, “there’s probably about 100 people from Stanford and alumni who put some love into making this class what it is.”
Over the course of six weeks, Code in Place adapts the first half of the CS106A curriculum for beginner coders. Unlike recent waves of massive open online courses (MOOCs) over the last decade with low retention rate (despite quality lectures), Code in Place provides interactive teaching in groups of 10 students taught by Stanford section leaders who have taken CS106A, teachers, programmers in industry and past Code in Place students. Each section leader facilitates 40-minute small-group discussions, drawing inspiration from training of Stanford’s own CS198 section leading curriculum.
Code in Place isn’t just a classroom for coders at the beginning of their journeys, but also one of the biggest classes for teachers [of] computer science in the world. “Very few places in the world [offer] you to learn how to become a computer science educator,” said Piech. With small class sizes, many volunteer section leaders can receive training from Stanford educators and interact with live students — for free.
In addition to being a community service initiative, Code in Place is also a “learning laboratory” for education research in an online community. “We’re teaching and we’re also trying to figure out what’s the future of education, try new idea[s] out for all around the world,” said Piech.
With each iteration, the teaching team trials new educational technologies and user experiences to improve computer science education. In 2021, Code in Place put thousands of students who were behind in their coursework into pair-programming groups through PearProgram. Maxwell Bigman, Learning Sciences and Technology Design Ph.D., and Roy Pea, Professor of Education & Learning Sciences, found that learners gained a sense of “shared struggle” and re-oriented a traditional problem-solving focus, resulting in significant improvements in learning outcomes. During 2021, the program also piloted an automated midterm grading system with written feedback. Dora Demszky, Assistant Professor in Education Data Science, found that this tool also improves instructors’ uptake of student contributions by 24% and increases students’ satisfaction with the course. These lessons are taken forward into larger scale pilot projects in this year’s Code in Place.
With support from Ali Malik and Juliette Woodrow, Ph.D. candidates in Piech Lab, Joseph Tey ’25 and Thomas Jefferson, University of Florida ’23, helped develop new features for the course’s online coding environment, or integrated development environment (IDE), optimized for learning Python.
With integration of Python to web assembly, the IDE allows graphics to be run directly on the browser. The course development “put that link where you can use Python to create cool web apps and web games that you can show,” explained Tey. This allows students to share their creations with others. There is also a replay ability to help debug. “You can step through your code line by line, you can see the variable map,” explained Jefferson.
Building on Demszky’s research, the explosion of large language models like GPT-4 will allow style feedback to be automated. Additional tools such as simulation for teaching practice with 4 artificial students with different features and personalities can also help prepare section leaders prior to interacting with live class. “Every Code in Place, we’re trying to learn something new,” said Piech.
Miranda Li ’23 M.S. ’24, the co-director of head TA for Code in Place, is working on “Stories,” a feature that allows volunteer section leaders and participants to share how they got into computer science and potentially connect with people who have similar backgrounds. “There [was] a small proportion of people who found organic communities that persisted after Code in Place,” explained Li. “We’re hoping to eventually have infrastructure where everybody [can] form an organic, smaller learning community.”
“There’s really good evidence that you can change your identity by seeing a near peer, who is a little bit ahead of you and a path. And by exposing all these pathways, I think will really change how people feel welcome to the world of computer science,” said Piech.
For Li, being able to help students from diverse backgrounds gain entry into computer science has kept her coming back to Code in Place since 2020. “[Section leading for Code in Place] reminds you of how big the world can be,” said Li. “To come together with this shared goal in a classroom space… is a really amazing, beautiful human experience.”
“It really gave me a whole new perspective on just how rare and valuable the resources that I have access to here at Stanford really are,” said Li. “We kind of take it for granted here.”
Reflecting on his experience as a section leader in 2020 and 2021, Matthew Early ’23 agreed that the environment was “magical.” “We were all coming together, just having fun, learning how to code and being able to build something cool from that,” said Early. His section was largely people in their 30s and 40s whose “time in life when they had time to] learn things for fun [had] already passed, and [Code in Place allows them] to re-enter that chapter.”
Monica Hicks ’24, Education Outreach Team Lead in CS+Social Good said that she also supports the program. “There’s a lot about Code in Place that we’re trying [to] emulate with the education outreach program.” Hicks and team have been working with Benicia High School in the East Bay with their teacher Andreas Kaiser to support schools without AP Computer Science programs. Their mission is to develop an open-source year-long python curriculum and materials, culminating in projects tailoring CS 106S: Coding For Social Good for high school environments.
“I just think that learning computer science is such a valuable skill,” said Hicks.
Over the last three years, Piech said he views Code in Place as a community that keeps on giving. “Some people have given the gift of their engineering skills so that we can build a website, some people have given their gift of section leading to students and even the students are giving the gift of time so that section leaders can practice the art of teaching,” said Piech. “It’s why the community service is all worth it.”
However, for some people, the chance to learn coding is not a small gift. “There are many instances of people [who participated in] Code in Place literally switching their career paths,” said Li. Piech said that hundreds of people were able to transition their career into computer science over the pandemic with the help of the program.
Li encourages students to apply as section leaders for the program to help open doors for eager students. Volunteers only need to have taken CS106A. “We can only accept as many students as we have space for from section leaders. Every single qualified section leader that we get means more people have access to this wonderful opportunity.”
The application to be a section leader for Code in Place is still open until April 10th. Apply now to help 15 more students access Code in Place.
This article has been corrected to change Matthew Early’s name from the erroneous Michael Early. The Daily regrets this error.