Episode 70 Announcer: [00:00:00] Welcome to Teaching Python. This episode was recorded on May 12th, 2021. And yes, I am a synthetic voice based on the legendary movie trailer guy Don LaFontaine... Hi Mom! Sean Tibor: [00:00:13] Hello and welcome to teaching Python. This is episode 70, all about vs code and education. My name is Sean Tibor. I'm a coder Kelly Paredes: [00:00:38] and my name's Kelly Schuster Perez. And I'm a teacher that codes Sean Tibor: [00:00:42] Kelly. We have two guests this week. It's really exciting. Normally we can only handle one, but I think we'll be able to pull it off. We have. Two wonderful guests from the vs code team who are joining us today to talk about using vs code in education. So I'm pleased to welcome Bridget Murtaugh and Sana. Ajani from Microsoft, from the vs code team, and they are education experts for vs code. So we are thrilled to have them here. We're so excited. Welcome to both of you for joining us. Brigit Murtagh: [00:01:09] Yeah, thanks so much for having us are super excited to be here. Sana Ajani: [00:01:12] Yeah, we're excited to talk to me as good and education. Sean & Kelly: [00:01:15] I, and in fact, I'm wearing my BS code Python socks today that I got a pike on a couple of years ago, just getting ready for this show. Today we're going to dive into the vs code editor, but in a way that maybe people haven't looked at it before, we're going to be talking about vs code as a teaching tool and as a learning tool, not necessarily as a development tool and that's something that is. Near and dear to our hearts because learning how to code and learning computer science and learning how to think a lot of that is through the window of your computer and the way that you interact with the world. And a lot of our students are going from their first steps in coding and in Python into an editor like vs code in tech. Many of them are going directly to vs code and it's really fun to watch them. 10 11 12, year old kids, figuring out how to add extensions and change their , their color themes and get it to be their comfy place for coding. So it's pretty fun to see that happened. , we're going to start this week, the same we always do with a win of the week and that's, something good that's happened inside or outside of the classroom. And we always like to make our guests go first. So son, I'm going to make you go first and share something good this week. This happened for you and then Bridget, you can follow onto her. Sana Ajani: [00:02:20] All right, something good. Is this related to work or personal too? Sean & Kelly: [00:02:24] it can be anything. We'll take a win wherever we can get it, especially during COVID right. Sana Ajani: [00:02:29] I guess, uh, to win. So, we're actually prepping a lot for our Microsoft build conference at the end of may. Doing a lot of work, there's a student zone in there , where we encourage people to bring their, maybe their kids or their students and have them attend a developer conference. So I'm presenting a talk about vs code in that student zone. So finishing that talk has been a big win, and I'm excited to have folks in here, maybe show up there. And then personal, when I got that, I got back into the gym this week. So there we go. Sean & Kelly: [00:03:02] Good. It always helps with that. healthy body, healthy mind. I completely believe in that. So good for you, Bridget, over to Brigit Murtagh: [00:03:11] Yeah, those are some awesome wins to follow up on. I'll do a personal win. This past weekend was mother's day. So my mom and I are both in Washington. State. So we got to have some fun for mother's day. Like go on a walk. It was super nice weather. It's going to be that nice summer weather here for us. Yeah, so it was just a really nice low key, mother's day. That was like a thing. Personal win. Sean & Kelly: [00:03:32] nice. Nice. I also got to see my mom for COVID, after COVID and gets to be around. And my kids are super excited because, Graham got to kiss him on the back of the neck. So that was nice. It was good. I'm glad you got to spend time with her. I'm going to go first, go for it. He always stills. I have to say the win today was, I got to go to PI con educational summit today during class John was teaching and I had my headphones on and we got to see some of our friends, as Ruben gave a lecture, Daniel Chen gave a lecture and it was just nice , to hear the educators and they announced the release of, or they're announcing. And the release of a education page on the Python, P S F the software software foundation. They're releasing their own education page and I was getting a peek at it. So it was pretty cool. I'm really excited that that's moving in that direction with a migration. We've given a talk on Saturday. That's really great. Yeah. I can't wait to see that. I'm going to have to go check it out tonight when I get home. Yeah. So Colin. Yeah. Nice. For me, I would say the win , is actually with one of my students. And I think I brought him up on the podcast a few times before. I've been struggling with a student cause he's so eager and he's so excited about coding and he's been doing a lot. So he is. He wrote a game in unity and has been making the rounds of our middle school. He's the, all the kids are playing it and , he's just really into it and really excited about it. And I've been struggling because he's the kid who, ask a question and he's bouncing on the edge of his seat. Like, Ooh, I gotta, I gotta answer. I gotta answer. And it doesn't give other kids a chance to really process and think about that. So I've been struggling with how to keep him engaged and excited. And not stifle his energy and his enthusiasm. And so it just had a really nice moment today after class where he was showing me the discord bot that he made and he, how he was trying to figure out, something with getting it to work on a timer basis or a timeout. So someone could only use it once a minute or. At most. And so it was just really a nice moment to see him so excited about it and showing off something that he had made to me that he felt really good about it. And it was something that I had suggested that he go travel like, Hey, you should go make a discord bot. And 48 hours later, he's like, here's the list bought. I made check it out. It was really neat. And of course he was doing it in vs code. So it was a, it's a nice tie in to yeah. Or guests today. Very cool. So the other thing we like to do is to share a fail of the weekend and not. So much to beat ourselves up, but just to show that, , there's opportunities to learn. Even when we fail there's room to pick ourselves back up and keep going. And so I'm going to make Kelly go first. Cause she took , my three spot here. We don't make our guests go first on the fail of the week and you don't have to, if you want to, you don't have to fail. It's something we do. We like to reflect on it. I had a really. Good one and an a student came to me. I've been really, I pushed my S my sixth grade students, and we have this , line in our rubric that is set up as extra points. Did you go outside of the norms? Did you push yourself and. It's a subjective line in the rubric because everybody's push is a little bit different. And this key and I tweeted out, his design. It was so cute. He loves turtles and he loved the turtle module. And one of my assignments is to take their app from a regular Python three and mash it together with a turtle app so that their total app matches their, the theme of their Python three app. And they mashed it together and he made this little invite with little turtles popping up everywhere on the turtle screen. And it's I, do you want to go to the zoo with me? You know, here's the TK enter button pops up. Yes. Great. Let's go. And then you do it again. And it says, no, I don't want to go. And the turtle, turns his face down into a sad face and it's a really cute app. And he was so proud and I graded it and I was just like going through the rubric tick, tick, tick, tick, and he got a 39 or 31 at a three, two. Why did I get three points? And I was like, well, you know, you didn't push that. He's hit, you. Didn't push yourself or do something new. He's like, oh, And I said, but it's only one point and I had to go, I went actually in changed the grade because you know what, for me and Shawn is like, grade doesn't matter. It doesn't matter. But it mattered to him at that moment. And I thought, you know what? He deserves a perfect score and putting it out there. So I'm going to talk to him tomorrow. It was a big fail because I felt really bad. I kind of like popped a big balloon and it just exploded in my face. So the sad, no, I fixed it. Yeah. There's always room to make it better. Yeah. So sauna, Bridget, do you want to, do you have anything you want to share? Brigit Murtagh: [00:07:58] for something I could think off the top of my head, I thought I was. Waiting to get access, to be able to like communicate with some other teammates in a certain like group or platform we use for communication that I'd been waiting for, a while to get access. It turns out I've already had access for a while. And I vaguely remembered getting access months ago. And I was like, oh, and I was telling people no, I'm still waiting for access, waiting for access. But then I got like a notification that someone mentioned me in this group. I don't know, how much more efficient I could have been if I was just using that, but now I know, and now it can be more efficient moving forward. So I guess it can be a win moving forward now. Sean & Kelly: [00:08:35] Nice. I've definitely had that happen before where it's like, well, I thought that this was sitting there and it just waiting for somebody else. It turns out the person who was waiting for it was Brigit Murtagh: [00:08:43] Yeah. Sean & Kelly: [00:08:43] you know, like. Sana Ajani: [00:08:45] Something I guess I can share is also related to the first, when I shared, , because , what are wins without some losses. But I think because we have this big conference coming up , there's a lot of preparation and a lot of demos and you're stretching yourself really thin recording things. So I think I realized I stretched myself too thin by over-committing and that was a good realization to have, but I might take that as a loss for the next time we have a conference. Sean & Kelly: [00:09:09] Definitely something to learn from it. I think I've done that same thing to myself this week. You've just over-scheduling and you don't really have enough time to do everything well, when you're just stretched so thin. Right. It's it's really hard. yeah. And you have to push yourself. And so I. Can definitely feel that. I think it correlates with the amount of tabs open. I know Sean has about 45 tabs open on his computer. I have two different windows with about 20 tabs. So yes, we get that. Definitely. Maybe we should have our students track that like how stressed is Mr. Tiber right now? He just has all the tabs open. Yeah, for me, I think that's a much along the same lines of sauna is just. The just the, this time of year, the end of the school year. So many things going on and it's hard to say no to everything. Um, and I haven't, so I, my fail was that I had just overextended too many things going on. And as soon as I can dig my way back out of that, I'm going to, make some space and recuperate a little bit. It's been a lot. well, let's jump into our main topic and, let's start by just getting a sense of our guests. So Bridget and sauna, both we've met through, articles. I, in fact, read one of Bridget's articles containers on the Python bites podcast, because it was a really cool way of using containers and education and being able to quickly set up development environments for students. And then she introduced us to sauna to, to have this, uh, conversation together. So, Bridget, would you just introduce yourself your role, uh, within vs code? How did you get into coding and in this focus on education and then sauna, we'll turn it over to you to do the same thing. Brigit Murtagh: [00:10:38] sure. Yeah. So my name's Bridget Murtaugh. I'm a program manager on the visual studio code team. I've been on the team for about a year now. I've been with Microsoft for about two years now. Full time. Prior to that, I went to the university of central Florida where I studied computer science. I got into coding. I was always really into math and patterns like in school. I always thought math was my favorite subject by far there's a right answer and wrong answer. , some other subjects it's , oh, it can be a little bit subjective and things like that, not with math, it was right or wrong. There's like cool patterns and things like that to the girl. And I always thought that was most interesting. And a lot of. Send it into coding and CS. So I thought that was cool. I also have some other family members in tech and CS like that, so I had some influence there where I saw some other family members and I thought, okay, that sounds interesting. We'll just give it a shot. And when I tried it out in college, I, I liked it. And I was like, okay, well, we'll continue on and see where this goes. And then, , I discovered program management as a discipline, and I thought it was really cool. Cause I realized that. I didn't need to predominantly just do software development as a career. I definitely really like coding and technology, but I could also do other things like customer development and design and like data analysis and things like that. So then I had the opportunity to intern with Microsoft and I absolutely loved it. And then I came back full-time Sean & Kelly: [00:11:55] That's very cool. I'm going to have to write down program management because a lot of the times when you're teaching, just thinking about the careers and the directions that people can go, they think coding is just about developing software and having to go into the different fields that are involved with working on a team is really important to know. Brigit Murtagh: [00:12:13] Yeah, and I feel like in school, they don't necessarily mention it a lot, but yeah, go ahead. Send it. Sana Ajani: [00:12:19] Oh, I was going to say exactly, I think a similar story to Bridget. I didn't know what PM was until I got to Microsoft. and luckily had a chance to do a PM explore internship at Microsoft, which was meant for freshmen and sophomores in college who have not had an internship yet, and an expose them to three different disciplines, software engineering, program management, and design as all different career options that they could do after their degree. Sean & Kelly: [00:12:43] very cool. That's really cool. I had a lot of friends , when I graduated with me that went on to Microsoft and then have gone on to other things as well. I think some of them are still at Microsoft, but just the level of professional development and growth and investment that they make in their employees is really a cool thing. And it's nice to see that that's continuing because it's been a lot of years since I had friends that graduated from college and went to work at Microsoft. so, it's in addition to doing the PM Explorer program, what was your background with coding before that? Were you going in thinking that you would be part of a technical, project or, doing some sort of technology development role when you went into college? Or was that something that you discovered along the way? Sana Ajani: [00:13:23] so, yeah, it was, everyone had to take a computer science course in college, no matter what your major was. And so I did that my first semester and I took a Python class. And it was awesome. And we had to program these little robots to move around. I just thought it was like learning like an entire like spoken language. It was a new way of thinking, a very logical and precise. I was like, wow, okay, I'm going to make this my major. And then luckily we had a couple of internship opportunities, including the one at Microsoft that exposed me to program management. Then I came here and decided, you know what? I can be a program manager, being a program manager is like being a creative problem solver who likes to solve organizational nightmares. Sean & Kelly: [00:14:04] That sounds fun. Brigit Murtagh: [00:14:07] Hello. Sean & Kelly: [00:14:07] You'll always be busy with those things. Right. what's a, what's talk a little bit about vs code. Just for. Those people who may be new to this. Cause we do always have, new listeners or people who, were like Kelly and myself three years ago and were told, Hey, go learn everything about Python and then teach it. They may not know vs code. So what's the two to three sentence overview of vs code. And maybe how it stands out in the developer space, not just for Python, but for other languages. Sana Ajani: [00:14:33] Sure. So vs code is a lightweight coding editor, that supports multiple languages. So you could do Python, Java, C plus plus any kind of language that you want on it. It's, developed in the open, which is what's distinct, versus other editors because anyone can go on to GitHub and see how the project is being developed. What are the next month plan next year long? Plan or roadmap for the product and also chip in and contribute to influence the direction the product might go in. So that makes it a really strong, like not just product, but also community of people that like to get updates on it and contribute back. Sean & Kelly: [00:15:10] It's a really cool thing because it's so different. , this is the new Microsoft, right? This is, for people who grew up with, the Microsoft of the office days and windows and original vs . This is a departure from the way that those products were developed. It was developed more behind closed doors, and here's our secret sauce that we're going to put into it with every release vs code is very different than that. And it's only been out for what, like four or five years, I believe. Sana Ajani: [00:15:35] Yeah, I think it came out in 2015. Um, but you're totally right. It was a new wave of Microsoft. Sean & Kelly: [00:15:42] And so, outside of education, And educators everyone's using vs code, right? Like you said, you can use it for any sort of, language, but it sounds like it's very popular in the developer space as well, grabbing a lot of the kind of mind share of developers for writing code. Right. Brigit Murtagh: [00:15:57] Yeah, definitely. It's definitely the tool of choice for professional developers and for also specific areas of development as well. So for instance, we're spending a lot of focus on notebooks and custom notebooks. It's like data science, machine learning, via Skoda is a great choice. So depending on what your specific areas of interest are for development, we have a lot of, different features that you can use in vs code. And especially with extensions, you can really customize it to meet your specific needs and interests too. Sean & Kelly: [00:16:25] Stepping back a little bit for me because, , I actually had said something to Bridget , at the very beginning I have four editors open on my dock and they're all sitting there and I dabble in all of them, but I still live in this kitty world , of. Mo editor kind of thing, but for me, what are any specific features that would work well for teaching? I know I actually have a sixth grader just putting it out there. He does use vs code and he comes up to me and he's like, I'd have a problem debugging. I'm like, wait, just give me a few seconds. But what are suspense? Some specific features that could work really well for me, Sana Ajani: [00:16:59] totally. And so vs code is really good for remote developers. And there's multiple senses of the word remote that I'm teasing it. So, especially for teaching now that we're all teaching online, there's a really awesome extension in vs code called live share. And you can think of this, like. , the Google docs collaboration experience, but for your code. So for instance , you can send me a link to your editor and I can jump in and be editing code that's technically on your machine. But we can do it together in real time. And you can see my cursor move around and chat with me. So I really, really love that feature because it makes. Working in group assignments, teaching or working with a teaching assistant so much easier as opposed to like screen sharing on zoom or teams or something. Another cool part of that extension is that it has a presentation mode. So that's really meant for teachers , projecting or sharing their code with , 30 students or something large beyond a one-on-one scenario. Sean & Kelly: [00:18:02] cool for the, , for the live share. Does that take over? So one person is typing only, , how zoom, where you go in and you share your screen and only one person will actually have to share now, but is that only one person that's typing in the live share or is it multiple people? Sana Ajani: [00:18:18] Yeah, so good question. So, and multiple people can be editing and writing code at the same time. So you just send it to me to enter your editor, your link, and then Bridget, Sean. And I could all go on that link, open up vs code on our own devices and start editing your code with you. So we could have four of us editing and writing code and debugging together at the same time. It's a very, very neat feature. I've used it a lot when I'm like. With an engineer trying to work on something , and you can just literally hop around different files of the editor with you. Sean & Kelly: [00:18:51] that's super because like the whole thing that, one of the things that, sorry, Sean, It's super, I'm like, it's my time talking about another, one of the things that we're taught we're completely. Well, I'm completely freaking out as about giving up the zoom feature of having the kids share their screen so I can show everyone in the classroom, but that's just a great feature if we're all working on vs code. And I can say, okay, let me jump into your code and I can put it up to the projector and we can go through this debugging. Cause that's a really big lesson in our classroom is what's going wrong? How do we solve it? Let's look at the trace facts and let's all learn from this, this mistake. So very cool. Sana Ajani: [00:19:30] Another cool part of that is that it's also read only , which means that if you, for instance, you, as a professor, just want to send a link so that everyone is on the same page and looking at the same code example, but not maybe messing around with it, then you can also do that and send a read only link. Sean & Kelly: [00:19:46] Like I send a Sean, so he won't edit my 10 lines into one. Not that that's ever happened before. I love the live show. I actually used that with my, my brother who lives out in California and he wanted to learn a little bit of Python. So we just set up one night, a live share, and started coding together. And it was really fun. It felt like playing video games together, but more productive, like we could, we could actually learn together and I could show him some things. And it was just a really cool moment that, that we could do. And you're right. It was super simple to set up, you click the live share button, you get the link, you send it over and magic happens. And I know that there's probably a lot of people behind the scenes who had to work really hard to make the magic that simple. So it was, it's a really cool feature. What's talk a little bit. Are there other features, like you mentioned something about a code tour, , that you have done before. What is that all about? Sana Ajani: [00:20:35] I totally. And that's another example of like extension to the vs code, really kind of extending the purpose, that obvious code and allowing you to use it in different scenarios. Another thing that we heard from a lot of folks is that when you, oh, like if you're a new engineer joining a team and opening up a big, large code base, you don't really know where to start. Looking a year lost in a bunch of files. You don't really know how to orient yourself in this new project or code base that you've entered. So Coture is an example of an extension that lets you leave little notes, or like pointers in different files of the code and someone can start a tour and it takes them step-by-step through multiple, , tips and pointers around your code base. So it's a great way to. Sean & Kelly: [00:21:19] you see that face. That's Kelly going like, oh, woo, woo. Brigit Murtagh: [00:21:22] Yeah, all the possibilities. Sean & Kelly: [00:21:25] Well, no, you know, and I forget I've been teaching for 20 something years. And every time someone gives me something, the first thing I think of as a lesson, . But imagine if you have this code and I'm thinking of our demonstration, sorry I do that. I'm going to do this for everyone throughout the editors. But we give them this direction where, you know, Al swagger has that one thing or the tic-tac-toe or the hang man. And you can put here's where this piece of code does this, and here's where this piece of code does this. So, very cool for educators out there who are looking at a vs code. Cool. Keep going. Sana Ajani: [00:21:58] self-documenting code bases or projects and onboarding someone to this to your new project. And there's a couple other senses of the word remote that I'll have Brigit talk about. Brigit Murtagh: [00:22:09] Yeah. So for those ones, they're kind of remote collaborating with people or onboarding into a new repo, but something else that we spend a lot of time in vs code is this. Overarching thing we have remote development extensions , so something common that we've seen is that folks may need to, , Maybe work on like another machine. So maybe they have code that's located on like a different physical machine or especially in like certain like high school or college contexts. Like they may want to work on their school servers or something like that, especially to make sure that their code is gonna run and behave the same way once they submit it. So it's not just oh, it works on my machine. So you have to give me an a, because I know that it worked and compiled on mine, even though it doesn't compile on yours. So we have the remote SSH extension vs code that allows you to SSH and to other virtual machines or physical machines directly through vs code. That way you can just go ahead and open up files there. , you can like remotely run them. You can debug that and get the full vs code experience. And it feels like you're actually working with that code locally, but you don't have to actually copy any of the code or save it on your local machine. You can just interface with it and you can use extensions. Syntax highlighting. so it feels like a true, like local and fully featured experience. So it's like super smooth, really nice. Sean & Kelly: [00:23:24] I use this all the time with my home automation server, if I'm like wanting to update configuration files or whatever, I could just SSH into it, do it at changes I need to make and get back out again. And it inspired me to, set up a virtual machine. So we're working on, on getting this image. Right. It's just kind of a low priority at the moment, but I want to use it for next year to have a, um, A virtual machine set up that we can use as a development environment for students it's isolated. You can keep it off the campus network, but everyone has the same code base or the same basic installation. And if they want to publish code to the internet, like a web application or something like that, they can edit it, they can run it, all those things can happen on that server. And they don't have to manage sometimes that complexity of well getting to work on my local machine and then deploying it to a remote machine and all that. So they can just work there remotely because. We're not necessarily shipping production code. This is still kind of learning experimental code. Brigit Murtagh: [00:24:16] yeah, exactly. And that, and we also have been the experience with development containers. So that's how, , Sean and I initially got in contact was he discovered the blog posts. I had done on dev containers in vs code. That's another sense of our remote development. So even though development containers, which are essentially just a different form of Docker containers, those all are, they can be located just on your own machine. They don't have to be on a separate machine or something like that. We still consider that remote development because it's like a set of tools isolated from the rest of your computer. , so it was a really nice. Because at the beginning of the semester, we often heard feedback from like educators and students that you can lose a lot of time at the beginning of the semester. Cause it's like, oh my gosh, I have to figure out , what tool sets do I need for this class or for this project? And so if you can just hop into an environment where it's like, okay, if I need Python for this class or this project, I already have a dev container set up with Python. And that way everyone in the class can have the same exact environment. It saves a lot of time. And it can be super convenient too. You can just add a dev container to the project and share that among the class. Sean & Kelly: [00:25:19] does that like, , and forgive my lack of knowledge on this, but would that help for any of our lower economic status? So they have , a slower computer or , maybe not a lot of storage space. Can they use off a container? In vs. Code on another server, would that help or, sorry. Um, is it like maybe use a smaller version or a lightweight version? Cause I know a lot of my kids, , they say we have to download Lego spike prime. We have to download PI on, we have to download, , an editor and the kids were like, I don't have any more space on my computer. I dunno. Is that an option of going into a lighter weight of visual studio download and then work through a container maybe in the future? I dunno. Brigit Murtagh: [00:26:03] I think that's a really good idea. Cause I'm like a prereq for having. Or to work with remote containers is that you need to have Docker on your local machine, but once you have Docker, you'd be able to access. So a container that's hosted somewhere else, so you could SSH into it and it doesn't have to be on your physical machine. Um, or you could use remote SSH and you don't have to have a container there. Like if you have maybe a virtual machine that has Python and all those things set up, you could SSH into that virtual machine or a separate machine may be hosted elsewhere. That's more powerful. Sean & Kelly: [00:26:35] that'd be cool. I think we'll definitely link to your article about this too, because I think one of the things that blew my mind was the ability to have the Docker file that defines that dev container hosted on get hub somewhere. And then all a student needs to do is grab the link to that Docker file or that get hub repo. Put it into their vs code and it will take care of setting up the dev container for them and get them right into a coding environment. So it was a pretty, pretty cool thing. And I, I will make sure that we post it because, uh, if that's something that you're interested in, it's a really elegant way of getting that environment set up quick. Brigit Murtagh: [00:27:09] Yeah. And if folks have any or feedback on it, and we'd love to hear any feedback about how we can continue optimizing it. Cause they're really excited about hearing how this could help in the education space. Sean & Kelly: [00:27:18] Well, that leads us to the next question. So how do they inform, like, how do I , I get these wild ideas, and maybe they can't come to fruition , in my world, but maybe someone else can, how do they, how do we direct your development for Brigit Murtagh: [00:27:33] So Sarah had mentioned that we develop in the open, so of use code is open source. So depending on where your specific like cool or crazy idea lies, like if it's previous code overall, the vs code repo. Is on get hub. So just to get hub.com/microsoft/to be as code. So you can open up an issue or a feature request there. And someone from our team will read it and we'll be able to respond. If other community members also like it there'll be able to respond or potentially even contribute. Themselves too. So, anyone is able to contribute directly to the code base. So if it's like, Hey, like I have an idea for the school new button or feature, like you could totally go try contributing it yourself since the code base is open Then for some of the remote extensions. So like for containers and remote SSH, we have a separate get hub repo for those. That's remote release, like remote dash release. Previous code and that's where you're able to file issues and feature requests that too, for anything related to like dev containers or SSH. Sean & Kelly: [00:28:33] very cool. Very cool. Sana Ajani: [00:28:34] Real quick, two more things. Kelly, and based on what you just said that I remembered. , so like you said, oh, maybe it's students that have like lower powered machines or maybe not as. Like beefy machines or devices, vs. Code does work on Chromebooks and that's something that we have, like a blog post and an instruction set to do. And vs code works on raspberry PI now. So we know that a lot of students like to maybe tinker with that and use that. So there's different devices that vs code can be run on as well. Sean & Kelly: [00:29:04] That's very super cause I know Chromebooks. I mean, you can go out and get a Chromebook for what, 150, 200 something dollars. That's what I was hitting at. We have a couple of friends in Chicago with a couple friends in Peru and they do a lot of work with lower income girls or anybody, but primarily girls and getting them into coding and being able to do things is really hard. So that's awesome. And we'll share that link. on our show notes too. Cool. Thank you. So do you have some examples balls that you can share of, where teachers are using vs code successfully where people could look for inspiration or ideas, , in the education space around vs code? Sana Ajani: [00:29:42] This is something that we're working on trying to promote more of because often as PMs, some of our job is to reach out to a lot of educators, and have, one-on-one interviews with them. Figure out a feedback. Their experience using it, but a lot of that stays with us and we don't really do a great job of making a forum for so that other people can learn from. So a couple of things that we're trying to do to, , make that more public and broadcast that so that people can learn from it , is have a whole new section of our website. So if you go to Kodak, visual studio.com/learn, whole section just devoted to, how teachers and educators are using the, as code in their classroom. So we're trying to do this by creating case studies with some of the people that we talked to. So for instance, here's a case study on how someone from Harvey Mudd is using vs code in his CS. One intro Python class. Or here's a case study on how someone, a professor in Singapore is using vs code for his web dev class. Have more of those as well as the settings, they use the vs code extensions they use so that people can just look at it and try emulating it. So that's one thing that we've been trying. Brigit Murtagh: [00:30:52] And then we saw another really cool instance, for dev containers. There were a couple of researchers at UC San Diego who wrote up a really detailed report about a semester long experiment. They ran in , some of their classes for using dev containers. They essentially gave their students the option to either use dev containers in vs code or to continue using. The remote servers that they currently have been using to run and test their code, just to see which students would organically choose. Cause they weren't forcing students to choose either option. And then to also see at the end of this semester, like how students enjoyed the experience and if they'd recommend it to other students. And it was really awesome cause students really, , understood and enjoyed using the depth containers and they really recommended, Hey, like I would say to use this for future students and in future classes and we're able to connect with those, researchers as well to get some answers. Some feedback on their experience and understand ways that we could further improve the extension and vs code. So that was really nice. Cause we could incorporate their feedback from all of their students that they worked with and seeing their really detailed report was awesome. Sean & Kelly: [00:31:53] so this question is not on our list, but it's an easy one. So for people like me who are trying to get into other, editors , We primarily use with the sixth graders, the movie editor, which is the baby step. And even Nick and his team say, listen, when you want start asking us how to do specific things, you need to move on to vs code or pie chart. So as an educator, who's just starting to code after three years. And who wants to move on to the big boys league or big girl league? Where do we go to learn and , how do we go to learn more about how to use vs code. Like, where do I get lessons? Sana Ajani: [00:32:27] Definitely. , so like I mentioned earlier, we have this new part of our website. So if you go to the very top of the book site, there's new learn section and we're putting a lot of our guides down. So almost everything that we've mentioned on here, like the remote extensions live share, there's examples of how to start using those. And another really good resource to learn. The S code is. And that's to learn. So Microsoft and learn, uh, is a new educational platform from Microsoft that has lessons on virtually anything, but there's a lot of really good vs code lessons on there. And something that is cool is that some of those lessons are very much oriented to be like exciting for a lot of kids or students. So we have done a lot of partnerships with, Things like NASA and Netflix to create lessons that are like wonder woman themed, or create lessons that are a space themed that, hopefully show you how to learn Python and vs code or JavaScript and vs code. But in a more exciting way. Sean & Kelly: [00:33:23] yeah, I saw that there's even like a Brigit Murtagh: [00:33:24] Yes. Sean & Kelly: [00:33:25] themed, lesson, which I'm totally into. It's pretty fun. Very cool. And we'll put all those links in the show notes as well. So do you have anything that you know, where maybe vs code's not the best option? For example, we use mew editor because it comes with Python built into it and it's a one download sort of thing. Is there a place where maybe it's not the best, first choice or the place where it may not be the right time yet for vs. Code to be in their classroom? Sana Ajani: [00:33:52] Yeah. So we. That'd be ASCO. It has like when we first set out to develop this five years ago, we set it out to be a professional tool, meant for professional developers. So for so long, we've felt like our attention has been to the needs and wants of that cohort of people. But we want to make it something that's attainable for people who are new to coding, whether they're students, whether they're people making a job switch. We realized that we're still working on that. So for instance, there might be, if you do like an apples to apples comparison against some of the more visual based editors, like you might not see that, like the debugger is as easy to set up. If you're used to like a very much like a visual debugger instead, so you have to get used to, using this professional tool that we're now trying to tweak to for more broader scenarios. Sean & Kelly: [00:34:41] gotcha. And that makes a lot of sense. Over time too, as our students get more profession, then they will be able to jump into some of these tools even faster and even sooner, especially as they get easier to use. Sana Ajani: [00:34:53] exactly, but the great part is, is that if, if they use vs code, they're also being exposed to, practices and extensions that they will probably use when they enter the real world. So it's giving them kind of a head start. So for instance, they get to use source control and learn about, get maybe if they, as opposed to, if they have been using, , maybe some editor that auto saves for you. So you're still like exposing yourself to more professional concepts, but still within a pretty simple editor. Sean & Kelly: [00:35:22] one of the things that I really like about it is that is, and I think it sounds simple on the surface, but I think it's actually very powerful. It's the, the customization and the personalization of it for the student. It's everything from picking the font that you want to use or the color palette, or whether I want this window to be over here, that one over there, which extensions I'm going to use. I think that that ability to personalize and customize it for the student creates this environment that they feel comfortable to learn within. That one, they are coding in a place where they feel like, oh, I get this. And I understand it. It gives them the ability to go further. So to add on, get is maybe another panel or to add another extension that does some, code linting for them in a new way is just another extension to try so that they actually grow beyond. In this comfortable environment, because they're not adding new tools necessarily. They're adding new features to the tool that they're already comfortable in. Yeah. Every time I think of it, I like to use metaphors a lot in my teaching and to provide visuals, But thinking about photo editing, you can do a quick photo editing on your phone, but a professional who wants to edit photos might go into Adobe Photoshop. And I feel that way is with the visual studio code, because you know how you go into windows and you bring up all your windows. I don't know if you know Photoshop, but you have all these little things that can pop up about and provide more , strength to your design. So that's how I feel about the visual studio code and the big. The big time editor. So I keep saying big boy, big girl, big boy, big time, but very cool. What's next on the education side for vs code? What are you excited about most , to share with the world on the roadmap? Sana Ajani: [00:37:03] Super excited to share, because we now have more of a focus on this like new user experience and specifically students. There's a couple of things in the works. So we have a good partnership with GitHub and get hub has an entire education like arm as well. So they have like GitHub student pack. So for instance, vs code is now in that GitHub student pack and people who access those benefits can directly go to vs code. Similarly we're also creating a, Inexperienced experience with GitHub classroom and vs code that's in the works right now. So this will allow for any educator or school that uses GitHub classroom to potentially open their assignments maybe in vs code and have a more connected experience between those two. A couple other things that we're working on is trying, while you mentioned Shawn earlier, is that right? What's really great about vs code is the customization. So my vs code and your vs code could look very different and feel very different. So encapsulating this within a profile. So it's not like a, a just, or a setting style, Jason, that you have to save and move around, but you can actually have the S code store it, and then you can go back and enter yours. Your Python student profile or your like your web dev profile and vs code tweaks itself, or, disabled enables certain extensions to make the experience better for you. Sean & Kelly: [00:38:24] very cool. Very cool. Well, um, I think we're just, wait, wait, wait, one more question. Sorry. So can you. share your profiles? So when you're ah, there you Sana Ajani: [00:38:34] Yeah, it's, it's all being it's, it's still in brainstorm mode, but these are the things that we were thinking of. Sean & Kelly: [00:38:40] So you have like teacher profile, whatever. There you go, Sana Ajani: [00:38:43] Yeah, exactly. So the, the use case being on an educator could share their profile with their students. Sean & Kelly: [00:38:49] Cool. Sorry. It's all right. I mean, one of the things I mentioned to Kelly before, this is if we're doing this show right by the end of it, she'll be excited with a lot more ideas, everything, but yes, I am more ideas. I love talking to people who have, who have such a great knowledge of their, work and their products. And I get so inspired by you guys and all that you do. So thank you. And thank you both for joining us. I know we're just about out of time. , but if people want to learn more, can they follow you on Twitter? Do you have get hub, pages that they can follow you on? Should we Brigit Murtagh: [00:39:20] Yeah, that'd be great. I think we both included our Twitter handles here in our. Little picture things. So yeah, following us on Twitter, it'd be great. We're super active on Twitter. Also. The app code Twitter account, is another great way to stay up to date with the latest, vs code releases and updates, and just also cool, like tips and tricks. Do we try to share those as well? You can interact with us on GitHub too, but, yeah, we'd love to hear any of your feedback and any of your questions or ideas. Sana Ajani: [00:39:47] Yeah, we're also, on YouTube and now take talk. So I know that's where a lot of students spend their time when they should actually be in class. But when we are sharing vs code tips, And if you want to send us an email or just directly reach out to us, that's also best. If you don't have a GitHub account to send us an email at vs. Code social@microsoft.com and one of us will get back to you pretty quickly. Sean & Kelly: [00:40:09] very cool. Well, if you're listening to the show and you're thinking to yourself, but they did not talk about notebooks and they didn't talk about data science and all this stuff that I know vs. Code's really good at it. The good news is we're going to do another episode. Following this one with the experts in Jupiter notebooks, in data science, talking about how to do that with vs code in education. And that'll be part two of our series so without any. Additional thoughts or I always have additional thoughts and comments, but I'll tweet to you. Don't worry. Well, I just, again, Thank you so much for joining us. We're really excited to talk about vs code and about all these different opportunities and education. We are so thankful that there are people. Working on the program and working on managing it in a way that embraces students and encourages their learning and helps them grow and develop. Because I think we all hope that we're training our future. Co-workers right. We're training the people that we want to work with in the future. And if we can help them learn in a really cool, robust and interesting way, then we all benefit from that. So, so thank you both for joining us. It's been a pleasure to talk with you. Sana Ajani: [00:41:15] Thank you so much for having us. It's great to share what we're doing and also hear from like the excitement that you guys have. Sean & Kelly: [00:41:22] Absolutely. And we never have. enough time in an hour. It's the way it goes. If you'd like to reach out to Kelly and I, you can always reach us at teaching Python, via Twitter. Kelly is at Kelly Perez. On Twitter. I'm at SM Tibor. Our website is teaching python.fm. You can sponsor us on patron if you'd like a little sneak preview or working on some new Patrion tears that include maybe things like free t-shirts or coffee mugs or something like that. So it should be fun if you'd like to sponsor us there, keep an eye out for that in the coming weeks. And, I guess for teaching Python, the session, and this is Kelly signing off.