Transcription
So today we are joined by Mehran Sahami, who many of you already know from his work in computer science. Mehran has played a key role in shaping the program and making thousands of students learn programming in a very engaging way. So I won't go deep into his background since he'll be introducing himself shortly, but we are really lucky to have him here with us today. And with that, I will hand it off to him. Thanks very much.
Hi everyone. Thanks for joining us. And wherever, whatever time you're in, good morning, good afternoon, good evening, or good night. But we're very happy you joined us here. I want to spend a little bit of time telling you about Code in Place and give you information whether you're interested in being a student or a section leader. Give you an overview of the class. And so to do that, what I'm going to do is start by sharing some slides with you. We'll go through a few things, and then we'll answer lots of questions at the end, if there's any questions.
So to get started, I'm going to share my screen with you. Hopefully you can see some slides now talking about Code in Place. And Code in Place is really a program that was put together by my colleague Chris Peach and I. I played some role in that, and we teach it together. And what I want to do is spend a little bit of time telling you what Code in Place is, why it's a unique program, and give you some general logistics for the program so you can see what are the kinds of things you would do in it, and how you would get involved. And give you hopefully some encouragement to start something beautiful by getting involved in the program, which is really what we'd love to see.
So to tell you a little bit about myself, as you heard, my name is Mehran Sahami. I was actually born in Iran, grew up in San Diego, California in the United States. And many years ago, actually, was a student at Stanford for my bachelor's, master's, and eventually PhD in machine learning. I like to say, before machine learning was cool. Now it seems like machine learning and artificial intelligence are all over, but many years ago, that was not the case. And I actually spent about 10 years in industry, most of that time at a little company called Google, that you might have heard of, before I came back to Stanford about 20 years ago now to be a professor. And the reason I came back to be a professor is because I really love teaching. And so Code in Place is just a program that's very near and dear to my heart.
The person who, you know, has done most of the work actually in starting Code in Place, one of my colleagues whose office is actually right next door to mine at Stanford, is Chris Peach, who is just a wonderful human being. Chris grew up in Nairobi, Kuala Lumpur. He came to Stanford as an undergraduate, stayed for graduate school, much like I did. Now he's a professor at Stanford, is involved in running a research lab that does lots of research and education, and really is kind of the heart and soul of Code in Place, and just an amazing, amazing human being. And one of the things I really love about Chris is his humanity. Not only is he a great computer scientist, a great technologist, but he just really cares about people, and he really cares about making a difference in the world. And he actually, this is him with his daughter. He actually just had another baby, or actually his wife just had another baby. So that's why he's not here with me right now is, you know, importantly, he's helping take care of the baby. But just an amazing person and someone that you'll actually see teaching classes along with me in Code in Place.
But in order to teach a class the size of Code in Place, it takes a whole bunch of people. It's not just the two of us. So there's a wonderful leadership team for the whole, the whole program that we do. Just lots of people who've been involved in various aspects of the program, helping to build things, helping to create educational materials, helping to teach. And I just want to acknowledge that whole team because they've done a lot of stuff, and it's just an amazing group of people. And every year, we also have a group of head teaching assistants that help train the section leaders for the program. You'll find out who section leaders are in just a second. So wanted to show you their pictures as well. Just a great group of people over time who've helped to train section leaders, help to create parts of the program. Many of these folks are going to be working with us this time around. This is our sixth version of doing Code in Place, and they just do really amazing things.
So I want to tell you a little bit of a story. So it's kind of like gather around the fire. Here's a little story for you that has to do with how Code in Place started. So about six years ago, Chris and I were about to teach CS106A, which is Stanford's introductory programming class. And then suddenly, the world changed. And if you remember what happened about six years ago, the coronavirus pandemic hit. And we were sitting there wondering, you know, what can we do to help? Because during this time, there was not only just a pandemic of disease going around, but there was also a pandemic of loneliness. Many people were stuck at home. They were sheltering in place. There was also a pandemic of education inequality because many people were not actually receiving education in school. And Chris and I thought, what could we do? So he actually called me up, and we were having a conversation, and we thought, well, we're not medical doctors, so we can't be out in the field. But maybe we can actually do something around education. Because if people are stuck at home, this might be an opportunity for them to be able to learn. And if you remember at the time, there was a phrase called shelter in place, where they were telling people to stay at home unless it was essential for them to come in at work. And we thought, well, if people are sheltering in place, maybe we could take this as an opportunity to teach them how to code in place, which is where the name of the program actually comes from.
And the question that we wanted to ask by putting this program together was, how can we scale access to human-centric computer science education for a community service project? Is there a way that we can make education available to a large number of students all around the world to be able to learn something, maybe to even have a potential career change as the pandemic was going on? And when we thought about this, we thought, if you have a large number of students, what's really the secret sauce that makes this work at Stanford? Because at Stanford, we teach, you know, a few hundred students every quarter this material in a class called CS106A. What's the secret sauce of that class, which is our introductory computer science class? It was the class that Chris and I were about to teach about six years ago together. And the way we do it at Stanford is we have a group of people called section leaders. They are people who meet with small cohorts of students, about 10 students to every section leader, and they meet with them every week to be able to provide more personalized instruction, provide a level of accountability, to check in to make sure the students are doing okay. And the students feel, because there's this person who's working with them that closely, they feel more likely to want to continue on with the class and work through things.
So what we do is we take the class and we break it up into smaller groups that we refer to as sections. And for each of these groups of students, we provide a section leader who is the person who meets with these students once every week to go over materials, to help them with individualized instruction if they need more personalization, and really just to provide that level of closer interaction, which we think is really key, that human connection to help people really learn and get through the educational process. And the beautiful thing is, the most recent iteration, for example, we had over 1,600 section leaders help us with the class, which means we can scale the class to enormous proportions.
And really, when we think about, you know, where these section leaders come from, and this not idea that we could have this many section leaders in a class comes from a particular notion, which is that human potential is drastically underutilized when we think about education. In some ways, the magnitude of people who actually want to teach is roughly proportional to the magnitude of people who want to learn. And if we think about teaching as being itself a learning process, when you want to teach someone else, you're learning more from that yourself. That's certainly true for me as a professor in the time I've spent as an educator. And that teaching can actually be really joyful. It helps create connections between people. It helps people understand that we're all in this together, and we can help each other doing it, and it's just a wonderful experience. So if you can harness that potential of people who want to teach and create a structure in which they can teach many other people, then we can create essentially the foundation for what we call Code in Place.
And to give you a sense of how much we've scaled that potential over time, to date, we've run five iterations of Code in Place. We're about to start the sixth one, which is why we're doing this information session. And we've taught over 60,000 students around the world how to code with the help of over 5,500 section leaders who've been teaching Stanford CS106A materials, about half to two-thirds of the class of the actual class we teach at Stanford. And they teach it for the students, it's completely free for students around the world. And the students come from pretty much everywhere in the world. So if you look at where they come from, there's over 150 countries that have been represented in Code in Place over the years. We have a broad gender distribution of students. We have a very broad age distribution of students. And one of the things that's actually lovely to see is that you're never too old to learn. So sometimes people worry, you know, is it too late for me to learn something new? Is it especially for computer science? It's never too late to learn. So if you're worried about that, you don't need to worry about it.
The way we like to think about this is our learning goal is we want to really inspire students to want to continue learning to code. Code in Place is a great start. We teach a lot of programming. We make, uh, people, you know, build some interesting projects that they really enjoy. And the thing is that they, part of the goal of having the section leaders in the class and having a class that's really welcoming and supportive, will have a lot of support in there, as you'll find out. Is we want to give people a new skill, but we also want to motivate them to complete the class. And so, if you look at the completion rates of of Code in Place over the years, it's really quite astounding. If you consider most massive open online classes, sometimes referred to as MOOCs, their completion rates are down usually in the single-digit percentages, usually around 5%, sometimes as low as things like 1% or 2%. The completion rate for Code in Place is usually between 50% and 60%. That's more than 10 times the completion rate for traditional online classes. Why is that? It's because we harness the secret sauce, which is the power of section leaders to create that human connection to motivate people to want to continue on in the class. And we've seen this happen year after year that we teach Code in Place. It's the structure that really makes a difference.
So, let's spend a little bit of time talking about the structure of the class itself. What happens in Code in Place? Well, we can think about different roles that you might be interested in for Code in Place. If you're a section leader, if you're thinking about being a section leader for the class, which is the person who's actually going to help teach a cohort of 10 students or, you know, close to that number in the class, the things we have are first a welcome meeting where we have all the section leaders get together to kind of learn more about what's kind of going on behind the scenes in Code in Place and learn more about the role of being a section leader. Then we have two live practice sections that you would go to to just give you more familiarity with how sections work and to help you with your teaching. And then during the course of Code in Place, it's a 6-week program, you will teach six sections to students. So, that's the responsibilities of section leaders. Really, we bring you into our program, we provide some training on the teaching side and to go over materials and to see what it's like to teach your sections, and then we have you actually teach the sections to students. And it's just a lovely experience. We've, as I mentioned, we've had thousands of people be section leaders for the program, and if you're thinking about it, I'd really encourage you to apply. It's just a fantastic experience.
Now, if you're thinking about being a student for Code in Place, you might wonder, "What's the background? What's the prerequisite that I actually need to take this class?" Well, here is the interesting thing. If you can tell whether or not that computer I just showed you is on or off and compare it to the screen next to it to determine if that computer is on or off, that's pretty much all you need to be able to do Code in Place. Um realistically, you need to be able to get around the computer, you need to know how to use a mouse and what a web browser is. But you know what? If you're on this webinar right now, you already have those prerequisites, 'cause you figured out a way to be here. So, you pretty much, if you're considering being a student, you have the prerequisites to be in Code in Place. Really, what we're going to teach you is from the ground up. We assume no previous programming knowledge. From the ground up, we're going to teach you how to program and how to build some pretty amazing things. The language we use in CS106A is programming language Python. That's the same language we use in Code in Place. And you might say, "Why do we actually use Python?" Well, if you look at this little chart, there's a lot of stuff going on, but it measures sort of the popularity of different programming languages. And if you look at the far right of the chart, you might see a light blue line that's higher than all the other lines. That's the line for Python. So, that's why we teach it. It's the language that's actually used very much in industry. It's used for artificial intelligence. It's used to program a lot of things, including, uh, thing like data understanding and data simulations for data science, for programming games. It has lots and lots of applications. And so, that's part of the reason why we're going to use it in Code in Place, 'cause it's a real programming language.
Now, what do students do? We have a whole website set up for you that has, uh, structure around the kinds of things that we provide for you. So, let me go through some of the things that we provide in Code in Place. There are videos, which are student lessons. And so, every week, there's a new set of videos that will be released. This is where you will get your instruction for Code in Place. Many of these videos mirror the actual classes we have at Stanford. >> [clears throat] >> So, the idea is to give you high-quality instruction every week with new materials that get released to you to go over. Perhaps most importantly, in addition to the videos you get of what we like to refer to as the main contents of the class, every week you'll be meeting in a section for 50 minutes. That's a live section on Zoom with a section leader. And it will give you a chance to ask questions, go over materials, to really feel engaged and involved in the class in a meaningful way where you'll be working with a cohort of people and you can all learn together. And that's really part of the beauty. It's not just watching a set of videos, it's actually interacting with other people to learn the material in more detail. And if you have questions, to get those questions answered so you can continue your learning process all the way through the class.
Now, along the way, there's also additional materials besides the videos of the content and the sections that we provide. There's online readings that we give you that have more material that you can also use as a reference as you're kind of going through and learning everything. We have an online, uh, environment for programming. And in that online environment, we have lots of worked examples, examples of actual programs, examples of problems that you can do so that that way you can sort of build your skills more and more. We give you lots of opportunities to be able to practice and to engage with these problems. All you need is a web browser. So, you don't even need to worry about downloading a bunch of software to your own computer other than the things to be able to do, like the, the video conferencing for your section. But in terms of the actual programming environment, that's all done online, and we give you lots of examples and lots of support.
There's also a discussion forum. And we've built this discussion forum to be most helpful to students. It's a place where you can ask questions. Um, lots of people are helping each other. The section leaders show up to help students in the discussion forum to help answer questions. Students answer questions for other students. It's just a fun, vibrant community of people who are really engaged in helping each other learn, and we love that. And there's times Chris and I will also get on that discussion forum. The head TAs will be there. Um, and it's just a great place to be able to use as reference and to ask questions to get more answers to things. And as I mentioned before, we have an amazing, what I refer to as an integrated development environment or IDE, is sometimes the acronym that's used in industry, which is the place where you can do all your programming. And so, it's kind of a place where you can come, you can work on your programming problems. And as I mentioned, we also have examples there so you can try things to help you build up your skills as you continue to do work in the class.
So, the course has a particular rhythm to it. Uh, every week, there'll be some tasks that you, uh, will complete as a student that will teach you more and more programming. There will be a section that you will have at a particular time. If you're a section leader, you'll be teaching that section. If you're a student, you'll be in the class as a student. And so, we give you kind of an overview of each week, and every week we have a little session that tells you what's going on that week. And during the plan of the, the course, what we do is we start with a, a very simple language called Carol the Robot. Uh, and it's a language that was actually developed by someone at Stanford many years ago as a way to introduce students to programming in a very straightforward and very simple way. It's also a language we use at Stanford. Um, so, you're getting the same Stanford experience as the students here to get that gentle introduction to programming from Carol. That's for the first week of the class. And then from there, we transition into Python. And when we learn Python, you'll learn all the basics of programming in Python. We'll also do some neat things where you'll learn about how to do graphics in Python, uh, animations, and then also be able to analyze data. So, there's lots of skills you'll learn in the class that will give you opportunities to apply programming in lots of ways, not only in the class, but after the class as well, and potentially continue your learning process.
One of the things that you'll find out along the way is when we teach you Carol, you might be wondering, you know, "Why are you teaching me this different language?" Here's a little secret. Carol is actually Python. So, there's certain things about Carol that look like a little robot moving around the screen to help you do, you know, some initial learning about computing, but in fact, everything that you're programming in Carol is actually in Python. So, when we switch over to Python, all that stuff that you learned in Carol applies directly. So, you've been learning Python the whole time. We just make it a little bit easier at the beginning with this little robot called Carol that we teach you about, and after that, we sort of unleash you on full Python. And we'll have you write some programs along the way as part of the class, including a, you know, program called Console Academy, which is a lot of fun. It's actually a program that does little quizzes to help teach people how to learn different kinds of things like math. Um, and so, it's kind of fun because as a student, you'll be writing programs that are actually teaching other people how to do certain kinds of things. We think of teaching is just this large community of students, and as a learner, you're still a, a Um, there will be other fun things that we do that involve graphics and animation, like programming games, and you'll learn how to draw stuff on the screen in Python, and the drawings will actually show up in our, in our little development environment that you'll be using, and also thinking about how to do, how to be able to animate various kinds of things or use programs to generate pictures that are just really neat. And at the end, we have a programming challenge that allows you to show your creativity, to be able to think about what's something that you're interested in programming and then build that with what you've learned in the class so that you can kind of show us, you know, how much stuff you've learned and what ways that you want to apply that in programming. And that provides a little more personalized way of being able to apply things that you've done in the class to kind of really build something that you're happy with and you're happy to show other people.
Now, in terms of the topics of the course, if you're deciding, you know, to potentially be a student or you're thinking about being a section leader, as I mentioned, there's kind of a six-week main course itself. There's at the end, we talk about how you can continue your learning in your final project. But we go over lots of things like we talk about Carol for actually the first two weeks of the class. We talk about the basics of Python using, you know, just a text console is the way we like to think about it. And then we move into graphics. And along the way, we learn some different sorts of what are referred to as data structures, which are different ways in a program that you can keep track of information. If you're thinking about being a section leader, some of the data structures that we talk about are lists and dictionaries. The graphics library that we talk about is a pretty straightforward graphics library. So even if you haven't had experience with graphics in the past in Python, but you are familiar with programming, you can still be a section leader for the course, and it'll be very easy for you to learn the graphic stuff. If you're thinking about being a student, we'll teach you everything from the basics from the very beginning. So you don't need to, as I mentioned, you don't need to have any prerequisites for the class. It's just a joyful experience.
And so when we think about some of the course topics, there's lots of things that we cover in the class. For people who are familiar with programming, the idea is we get people started with a warm-up assignment. We have them think about how to build up from that warm-up to do more challenging problems, and then there's kind of the assignment for that week, which might be a problem or a set of problems that they actually do. Um, it's just a wonderful thing. Um, and in terms of those course topics too, one of the things that we also want students to really be able to engage with is there's a whole cadence of materials to be able to go through, and you can always refer back to earlier things in the course. So if there's ever a time you feel unsure about something that came before, you can go through and be able to reference the prior things.
So what are some of the course values that we have? Well, part of it is, I mentioned, we want to teach the art of computer science. And there's really a science behind computer science. It's not just about learning a programming language, but it's actually teaching software engineering principles. And so we not only teach you how to program, but we teach you how to be a good programmer. And so there's certain principles like abstraction, decomposition, and modularity. I won't go into a lot of detail there, but at a high level, it's the thinking, the notion of thinking about how to take a big problem and break it up into smaller pieces and then be able to solve those smaller pieces and combine them together to solve a bigger problem. And the analogy I like to use with this is that many people, for example, know how to use a toaster to toast bread, but most people don't know how to build a toaster. That's the notion of abstraction. Sometimes you can use something without knowing how to build it yourself. And in programming, it turns out that there's lots of things that were already built by other people, so you don't need to build them yourselves, but you can actually use those things as part of the programs you write to be able to do even better kinds of things, even cooler kinds of programs. And so that's why we think about how to understand those principles in programming so you can write just neater programs. And those are things we'll cover as we go through the class.
One of the other values we have in the class that's very important to us is to make sure that everyone in the class is successful. Everyone is welcome in the class, all kinds of backgrounds, all kinds of different levels of education. We really want to make computing and programming available to anyone who's interested in doing it. We want you to find real intellectual joy in what you're doing. And so we try to make teaching a joyful process. We have fun doing it. Sometimes we tell jokes. Sometimes we do different kinds of demonstrations. And one of the things we really care about, why did we even create Code in Place to begin with, is we think kindness is really important. And that's not just kindness from the course staff to you, it's kindness for all the students and section leaders in the class to each other. We want to create a community where everyone feels welcome, where everyone feels valued, and that's part of the real principles and underlying values of the class. And a notion of gratitude. Like for us, it's so important and it's so meaningful that we get so many people from around the world who want to be teachers, the section leaders, or who want to try something new by taking a programming class. We have a huge amount of gratitude for that. And just for joining on joining us on this call, thank you so much for taking the time to do that. We really want to make sure you have a great experience in this class and you feel really connected. So all these things are part of, you know, how we try to make the class something that is joyful for you and hopefully a great experience for everyone involved, whether you're a student or a section leader.
One of the things we also think about doing is learning by doing. Computer science is not a spectator sport. It's not just something where you watch a video or you just watch someone else doing something. It's something that the way you really learn how to do it is by doing it yourself, which is why in the class we have lots of little problems to work on, lots of worked examples for you to go through, a whole environment where you can write your programs because we really want you to not just watch programs being written, but to really write programs yourself and write programs that you think are interesting and fun.
And so sometimes people wonder, well, you know, this all sounds good, but but why should study computer science? Well, there's lots of different reasons to think about studying computer science. One of the ones that's big for me and for Chris is the just the joy of building. There's a real joy that comes from not just being a consumer of technology that other people created, but actually being a producer of technology where you can decide what you want to build and go, excuse [clears throat] me, go build it yourself. It's just tremendously empowering to be able to do that. It's a lot of fun, and it just gives you joy and power to be able to do things. It's also interdisciplinary. There's people who have all kinds of backgrounds and all kinds of different things like music or art or other ways that they think about, you know, how they enjoy the world. And what computer science lets you do is it lets you be able to program in whatever you're interested in, to think about different areas that you might think about, hey, I can think about a program that might be useful here for maybe keeping track of sports scores 'cause I'm really interested in sports, or maybe a different way to draw pictures 'cause I really care about, you know, drawing or being artistic. So there's lots of different disciplines that can all come into play when you have the power of programming. And one of the things that I think is really cool is it's just the closest thing to real magic that we have in the world. Programming gives you power to be able to create new things and to be able to do things that you didn't think were possible before, and that's just kind of magical. It's empowering. It's joyful. I can't say that enough.
And the thing is, programming really makes a difference in the world. Sometimes even a small program can make a really big difference. So let me tell you a little story. Around the world, it's, you might, you know, be surprised to know, or for some people, you know this very well, there's a lot of counterfeit pharmaceuticals. There's a lot of counterfeit drugs. And the thing is, they don't actually work. They don't do anything. And so there was this person named Bright Simons, he's in this picture here, who came up with this interesting idea that said, "How could I make it easy for people to verify if drugs are actually genuine?" So basically created a simple system where there would be a code on the box for the drug, and you could type this code into a cell phone, text it to a particular website, and that website could verify for you based on the code whether or not that was a genuine drug or not. And so there's some clever ideas that go in there about how do you generate these codes, how do you make sure that people can't just copy the code onto other boxes. Lots of clever thinking that went into this, but the program that actually does it is pretty simple. And so he was able to save just large numbers of people from various kinds of diseases and death that were would have been that would have happened had they not actually had genuine drugs by creating this simple system to do this. And it's a way that shows the, the part of the reason I love this story is it shows the power of programming to be able to address real social problems in the world without having to write a lot of code, but to do something where you identify a problem and you say, this is a problem that I could actually solve through technology. Coding gives you the power to do that.
Now is the time to do it. You've probably heard a lot of things about artificial intelligence. You've probably seen things like self-driving cars or at least heard about them. Technology's having a huge impact in the world. It has been for many years, and that impact is just accelerating. And so what computing gives you is the chance to be able to be involved in that endeavor, to either understand more about what's going on in programming, or to help others understand it if you decide to be a section leader for this class. And the thing I really want to emphasize again is everyone is welcome. We strive to make everyone successful in the class, to give everyone an opportunity to learn, and it's just a wonderful thing.
So, if you're wondering, "How do I get started?" Well, there's a website. It's codeinplace.stanford.edu. And when you go to that website, though, you'll see two buttons there. One says apply to learn, that's to be a student. The other one says apply to teach, that's if you want to be a section leader. And so, you can click on the button that's appropriate for you, and then it'll take you through a process of doing an application for either being a student in the class, or learn, or to be a section leader for the class.
Now, you might wonder about the application. What's this application all about? The idea is basically just to, um, there's a lot of interest in Code in Place, and we want to make sure that people who want to be students in Code in Place are just really serious about the class. They have the time to commit to really do the learning. And so, what we do is we have a very easy and straightforward application. I shouldn't say it's easy. It's, it's just a straightforward application where we ask you to actually solve a couple Carol problems. We give you all the information you need. There's reference documents that we provide for you. Um, in your settings, there's various things that you can change. For example, if you're visually impaired, we have some options that allow you to be able to get things more textually in the environment. But the idea is, you know, would you take the time to read through the problems, to read through the reference documents, and to be able to engage with a practice problem or two to show that you really want to engage in this class, and you really want to learn the material? And that's why we have a simple application to take you through that process, and make sure that you're really interested in learning. Because the idea is we're going to invest in you. If you want to be a student, we're going to put you into a section with a live human teacher who's invested in your well-being in terms of learning the material in the class. There's a lot of material that we're going to provide for free for you that's based on the actual course at Stanford, which if you were a Stanford student would cost a lot of money. But we want to make sure that you're really, you really want to engage with this material. And so, that's why we have a brief application. I'd encourage you to do it. It doesn't take very long. And if you find yourself struggling with the application, that's okay. People when they learn how to program, when they first start, sometimes there's a little bit of struggle involved in there, but if that's part of the learning process. Cuz learning sometimes can actually be hard. Learning can actually be a challenge. That doesn't mean you shouldn't learn. It means you just need to keep working at it, and we really strive to make everyone successful.
So, what's special about this course is you. Is the people who come to show up, to get engaged in learning in the class, is the people who come to show up to help teach other people in the class. We are so grateful for both the learners and the section leaders in this class. I would really encourage you get involved, and I thank you so much for the time you've taken to listen to this overview of Code in Place. We're going to have some time to take questions as well. So, I'm going to end the regular presentation here, and then we'll go to take some questions to make sure you get as much information about the program as you can. So, thanks very much for listening to me. I'm going to stop the share, and we're going to go through and take some questions. Now, many of the questions in the Q&A, if you could please put your questions in the Q&A, that would be wonderful. Um, what we're going to do is there are some of the questions that have already been answered in the Q&A in text, and there are some that we're just going to go through live in person. So, if you have questions, feel free. If you have additional questions, just add them to the Q&A now, and we'll just go through and start answering questions, 'cause it's a bunch of fun.
Um, one of the questions that gets answered, and I love this question, is, "Mehran, how can I be a better section leader for my students? Does it get easier? I struggled a lot last year, and I want to do better." Well, I will tell you a little secret. Just by asking the question, "How can I get better?" what it shows is that you actually have the predisposition to get better, because you want to learn how to get better. And that's a wonderful thing. You certainly can get better. You know what? When I started teaching years ago, it took me a while to get better and better at it. But the interesting thing is, the more you interact with students, the more you interact with the material, the more you think about different ways that you can actually present that material to students, the more you know about the kind of struggles they may have when they're learning that material, and it just gives you a bigger set of stuff to be able to make you a more effective teacher. So, absolutely, you can be a better section leader for your students. And thank you for asking that question, because it shows that you want to be a better section leader. So, we would do have head teaching assistants that have will work with cohorts of section leaders to help you be better with your teaching. And so, you can certainly get better. Please sign up again to be a section leader again if you were a section leader before. We'd really appreciate it. All right.
Um, someone was wondering, "What would increase our chance of getting accepted in the course?" Well, just, you know, do the application. Show us in the application that you're really committed to learning. That's the thing that we care about. If you're really committed to learning, we try to take as many students as possible as we can. And really, what determines how many students we can take is how many section leaders we can we have in the class. So, if you're considering being a section leader, please do it, because by you choosing to be a section leader, that just creates more opportunities for students to join the class to learn. And really, if you're considering being a student, you know, just fill out the application. We'll try to do our best to get you into the class given the capacity we have.
Um, someone asked about time zones for the live sessions. Well, that's always one of the things that's that's fun about the class and challenging is people are all around the the world in this class. As I showed you that map, we've gotten people from over 150 countries. And so, we distribute the time zones for sections, and we try to put you in a section that is at a convenient time for you based on the time zone that you're actually in. So, we do have a matching process of students to times for sections to try to make that all work.
Um, how can we stay updated and don't feel left out of this era as tools and technology continuously evolve? Well, a great way to do it is to learn more about programming. Because as you learn about programming, you learn more about what computers can and cannot do. And also, as you learn about programming, you realize that you're becoming empowered to actually help drive that technological future. You're one of the people who can now build stuff. You're one of the people who can now have new technologies created to try to make the world a better place. And that's part of the reason why we have Code in Place, because we don't want people to feel left out. We don't want you to feel left behind by technology. We want you to have an opportunity to learn about it, which is why we created this class.
Um, so, someone asked if there's a student from a country like Pakistan, how can they break the barrier and harness the opportunities available? Well, that's kind of, you know, as I mentioned in the previous question, is to empower yourself. Is to learn more and more. And I really believe, and Chris really believes this, too. We sometimes we sit around and have conversations just about this, which is that learning is not only joyful, it is empowering. Learning is the thing that, what, you know, in our way, we think of learning as sort of a form of social justice. It is a way that we can empower other people to be able to have a greater impact on the world, and that hopefully they will want to take the things that they learned and help teach them to other people, and this process will just continue. And so, our goal is to really try to empower more and more people so that they can have greater opportunities and break barriers that it might exist for them currently.
Um, someone said, "I served as a section leader last time. It was one of the most amazing experiences I've ever had." Thank you so much for saying that, by the way. "I want to make sure that my application is accepted this year as well. Will my application have an edge over other new section leaders?" Well, what we look at is, you know, what we try to do is we try to welcome as many section leaders into the class as we can. We don't think of it as a competitive process for section leading. We try to take as many people as we can that we feel are really in a place where they're, you know, uh, well-equipped to teach other people or are excited about teaching other people. If you were a section leader last time, there's a good chance you'll be a section leader again, um, assuming that your sections went well last time. So, um, I would encourage you to, you know, think of this as we're all in this together. You're not actually competing with other section leaders if you're applying to be a section leader. We're just trying to welcome as many people into the program as we can.
Um, someone said, "It's a slightly off-topic, um, from the structure of Code in Place, but I want to ask about the future of technology." Well, I'll try to do my best to answer. I'm sure different people have different opinions. With AI and ML, that's machine learning, by the way, if the acronyms are are new, um, evolving so rapidly, how do you see the future of technology changing over the next 10, 8 to 10 years? Um, do you think quantum computing could be a major shift? And if so, how should students and early professionals prepare themselves to stay relevant while building strong foundations in these areas? Um, well, different people will give you different answers to that question. Um, what I really think is, you know, in terms of wherever technology goes, looking 8 to 10 years out in technology is nearly impossible to do. Think about how different the world is now in 2026 than it was from 2016. In 2016, a lot of the AI technologies that are now available to people were mostly technologies that were still being developed in labs in various universities and in small companies around the world, or even in some larger companies, but they weren't yet available to people as general commercial tools. And the world really changed when that happened. So, looking another 10 years out, it's hard to tell, but some of the trends that are clear are artificial intelligence tools will keep getting better and they'll be used for more and more things. And so, the way people could should prepare themselves is to learn more about computing in general. That involves programming, so they can understand how to be again producers of technology, but
Also, just to understand some of the different tools of computing, like some of the AI tools that are out there. So, whatever profession they're in, they can potentially be more facile using those tools.
Quantum computing will certainly have an impact as well. There's lots of open questions in quantum computing, so I won't get into them now, but I do think there is some real potential in that field as well.
All right. Is the course suitable for someone who has a beginner coding experience? It is suitable. If you've had a lot of coding experience, you might actually want to consider being a section leader. And so, one of the things you might want to do is you might want to when you go to the Code in Place website, you could check out both applying to be a student and applying to be a section leader and get a sense of what are the topics that are covered in the class and what level of expertise is necessary, but I would say for beginners, absolutely Code in Place is perfectly suitable. We take people who've never programmed before, take them through the whole program, and at the end they come out being able to build some pretty cool things in programming. So, yeah, there's no prerequisite in the class. Just fill out the application. As part of the application, they'll actually do a bunch of learning. Um and and you don't need to have any prior programming experience to be successful.
Um someone said, "Dear professor, thank you so much for the course. I would like to be a section leader. Would we receive training if we never did any teaching?" Yep. We, you know, if you've, you know, have previous experience with programming and technology, but you haven't taught before, there are things that we teach you about teaching. And so, I would encourage you to go through the application process for being a section leader. Um and there's lots of people who have not taught before the Code in Place is their first teaching experience, and that's why we have head teaching assistants, and we have a whole course staff that actually has developed material to help you learn how to teach. That's just part of the structure of the program and part of the way we can scale Code in Place.
Someone asked, "After we complete this course, if selected, can we be a section leader the next time? I'd love to help other students with no programming experience." I love that question, Jason. Thank you for asking that. Yes, absolutely. In fact, we have many section leaders in Code in Place who were previously students in Code in Place. That's how they learned about programming. They became excited. They wanted to give back, and they came back as section leaders. So, yes, absolutely. I'm glad you're already thinking about that.
Um someone said, "I have zero knowledge on computer science. Would the course be too advanced for me?" Nope. The course will be perfectly fine for you. Um as I mentioned before, so that will be just fine.
Um Purvi asks, "Do we have a fee for it? After completion, will we get a certificate?" Uh there is no fee for students or for section leaders. Uh the class is free. Um and there is a certificate of completion that you get at the end. We don't give you We can't give you course credit um like at a university or something like that, but we can give you a certificate of completion at the end of the class. So, that does exist.
Um Jason asked again, "Are there specific things we can work on in this course?" Um like if I wanted to focus on business intelligence or data analytics. Uh you will learn about some data processing things in the class. So, what you want to choose to focus on is really up to you. We'll teach you the basics, and with those basics, there's lots of things that, you know, based on your own interest, you can go build up with.
Um is this for students all over the world or Stanford students only? This is for students all over the world. Here's the neat thing. We're taking materials that are developed at Stanford that we actually use in the classes Stanford, and we're making them available to the world for free. That's what Code in Place is. So, that's why we hope you join us in this class because we want to teach more people all around the world um who are not Stanford students the same material.
Um Garav asks, "With AI and ML evolving so rapidly" Oh, do I think we already answered this question.
Um and then um can we are we building any projects we can add into our personal portfolio? Yeah, the last project in the class is actually a project that you will choose yourself. Um and you can certainly think about not only building that as the final project for the class, but you could build out a portfolio things as you continue to go through the class or even after the class.
Um will we have in between exams during the course? Uh there are sort of some diagnostic check-ins that we have. Um and so, those are things that you could think of them like exams. We like to think about them as diagnostics cuz they're a way to gauge what you've learned in the class so far, but there is, uh you know, something of that form. We don't give you grades in the class. Um but we do What we do is we try to give you provide some feedback as to how you're doing as you go through the class.
Um We got another question, Stephen. Thanks for asking about time zones. Um we do have different time zones. I believe most of the instruction is in English, though. We have tried to do some things multilingually, but I believe the predominant language for the instruction is English.
Um Uh someone said, "If Chris's family just got bigger, please consider doing Monday meetings with Meron." Um I'm sure you enjoyed the Monday meetings with Chris cuz Chris is awesome, and guess what? Yeah, I'm going to do Monday meetings this time around. So, you're going to You're going to get me instead. Um hopefully that's okay with you. Chris is just lovely, but he's busy with a baby.
Um will we build any projects that we could resume same thing like portfolios? Yeah, you could. They're kind of They're, you know, you can build things that you could describe in your resume or in your portfolio.
Um Are sections grouped in any way by age, experience in programming, business and industry experience? Um sometimes we try to do some grouping in sections, but the the grouping that we try to do is light, but sometimes we try to We do try to make some efforts to group people together that would make sense in that grouping to the extent that we can do it with such a large class size.
Um Uh future of coding in the age of AI, should I learn vibe coding instead? Well, what I would say is if you want to vibe code, then where the vibe coding is the notion of using an AI agent or using generative language models to help generate code, um you need to understand something about coding to make you better at doing that. Both to be able to look at code that's generated by AI to determine if if it's correct or not or to potentially modify in ways where maybe the AI didn't quite get it right or just to actually give you a better way of thinking about how do I prompt these agents to generate code? You can oftentimes prompt better if you actually know something about coding. So, even though there are some people who say you shouldn't learn how to code because, you know, AI is going to do it all for you, I think you actually are much more effective in vibe coding with AI if you actually know how to code. So, from my standpoint, I say, "Yeah, absolutely. It's useful to know how to code even in the age of AI."
Um How will we get information related to the course? Generally, it'll be through email, but we also have our website where things will be posted like what is the plan for this week, um you know, what the the problems are that you work on and to give you sort of a structured way to work through those things. Um but there are also email reminders along the way.
Um what if I miss some of the classes? Is there a way to make up classes? Um how much is needed to get the certificate? Well, um you need to complete all the assignments in the class to get the certificate, so that's what we look at. Um if there are sometimes in the class with the classes are, you know, uh videos that you watch online. So, if you happen to miss something, you can always go back and watch it later. Um what I would really encourage you to do is keep up with the sections, though. That's really critical with the class. And if you complete all the assignments in the class by a particular date um at the end of class, then that's when you get the certificate of completion.
Um How frequently per year will this course be taught? Well, we've taught it historically once per year. We've thought about potentially trying to do it more often, but for the time being, it's still once per year because it is a huge amount of work actually to put the course on. So, and um you know, to be honest, uh Chris and I do it for free. Um we have lots of people who help us out, uh but it's a lot of work, and so we currently do it once a year.
Um Someone's taking 2 weeks of vacation during the class. Okay. Um just make sure you get caught up on the material when you get back from vacation.
Um do we have any selection criteria? Do we have to do anything to get registered for the course? Well, you do need to fill out the application. So, that's the important thing. Whether you're a section leader or want to be a student, there's different applications for the two different kinds of roles, but that's the thing that you would need to do is to complete the application for either role.
Um Let's see. Will sections sessions be recorded? The um the um course content videos are recorded, so those are available to you. Um the sections um we do record them. I'm not sure if the recordings are made available to the sections or just used for reference. I'll have to look into that and find out.
Um Would it make any difference if we finish the self-guided course? Well, the reason why we have the self-guided course is because there's lots of students who actually want to do Code in Place, but we can't necessarily fit everyone who wants to do it in the live class because we may not have enough section leaders. The size of the live class really depends on the number of section leaders, and so we said, "Well, why don't we create a self-guided version?" If you get through the self-guided version of the whole course, you will have learned the material. So, um once you've if you really have learned the material, you may not need to take the actual class, but if you feel like you've gotten through the material and maybe you need some extra help to brush up on things, um that would be a a reason where you even going through the self-guided class, you might still want to be a student. If you go through the self-guided class and you feel really good about the material, you might want to be a section leader. Excuse me.
Um the certificate, yes, is issued via email after the class. Thanks for asking us.
I Um am I saying that this class is free? Yeah, that's what I'm saying. The class is free for students and for section leaders to be involved, uh it is free. Um we try to make everything available uh for you for free.
Um after this course, uh how good will we be at programming? Well, we actually teach you a fair bit of programming in this class. So, there's still more to learn after the class, but you can actually build some pretty interesting programs just based on the material that we teach you in this class. As I mentioned before, it's based on the actual class we teach at Stanford, and so we certainly want Stanford students to be good at computing, which means if you're learning the same material, you're also going to be good at computing.
Um and then uh Gaurav asks, "This is the first time I'm joining the course. Next time I want to be a section leader to help everyone who really wishes to learn things." Again, a wonderful sentiment, and I would encourage you to do that.
Um and uh uh Modar says, "Thanks for the great introduction. If students familiar with Python basics, is it still beneficial for them to join Code in Place?" Well, what I would do is I would go to the application for students and look over some of the material, and if you feel like the material is just stuff you've all seen before, then um it may be the class might be too elementary for you. But if you feel like there's still in that course material things for you to learn, um then Code in Place is is a great class for you. One of the things we do in in selecting students is we try to pick students who have not had too much previous experience because if you already know all the material in the class, um then it may not have as much value for you, and we'd like that slot to be available to a student who may not know the material already. But we do take lots of people with some prior programming experience who may not have seen all the material before or need to brush up on their skills. But I would say like if you're an industry programmer, for example, and you've been programming for a while, then Code in Place being a student is probably not the right role for you, but being a section leader would probably be a great role for you. So, you might want to check out both applications and get a sense for um what material is being covered and what you would like either learn in the class as a student or what you would need to know as a section leader.
Um uh let's see. If we only watch the recorded lecture and are not available to attend the live sessions due to time zone differences, will affect the certificate? Um I would say if you can only watch the recorded lectures, you might want to do the self-paced version of the class because really the point of the live class is for the live sections to attend the live sections. Um and so if you don't think you're going to attend the live sections, I would just do the self-paced version of the class because you'll still get access to the course videos that way.
Um your university someone's uh Muhammad says it still teaches C++. Is C++ worth learning and improving? Yes, absolutely. As a matter of fact, the second course at Stanford after CS106A is taught in C++. So, in the first course we teach students Python, which is what you learn in Code in Place. In our second course at the university, we teach C++.
Um will we have a recording of this session? There should be a recording of the session available. I believe it's being recorded, and we will make the recording available afterwards.
Um thanks for uh considering being a section leader. We really appreciate it, Modar. Um I would encourage, you know, anyone who's thinking about being a section leader to please do it. Um and I think that takes us through our questions. So, what I'm going to do at this point is turn it back over uh to the um uh folks from Stanford to uh wrap us up.
Uh perfect. Thank you so much, Myron, for a wonderful session and answering all the all of the questions. I think it was very nice to hear it from you, uh the creator of the course. Um do you have any closing remarks before we close out the applica- close out the session, and um then we'll go to wrap up.
Sure. Well, do actually in the closing remarks too is there was one final question that came in says, "What's the acceptance rate of this course?" The acceptance rate of the course is really dependent on how many section leaders we get to help us with this course. And so the parting thought I would leave you with is we really hope that this class can be a joyful experience for everyone, whether you're a section leader or a student. If you're considering being a section leader, please consider doing it because by being a section leader, what you do is you empower more people to learn about this material. You will have a wonderful experience yourself uh being as a teacher helping empower people, helping them learn the material, potentially even learning the material better yourself through teaching it. And if you're considering being a student, it's never too late to learn. We will make it a fun experience for you. That's what we endeavor to do, and we really hope you join us on this journey because Code in Place for Chris and I and the whole staff for the class, we really find this to be one of the most meaningful things that we actually do as teachers. So, come join us and have fun with it.