Interview- John Resig and Pam Fox - Khan Academy

دوره: Capstone- Retrieving, Processing, and Visualizing Data with Python / فصل: Welcome to the Capstone / درس 4

Interview- John Resig and Pam Fox - Khan Academy

توضیح مختصر

And during the initial period where it was just me kind of exploring concepts and trying different things, the idea that really stuck with me the most was actually going back to when I learned to program. And that meant creating talk throughs, which are like videos, except they're way cooler, because they're actually the editor on the left hand side and the output on the right. And so really, what the Khan Academy CS platform, if we had the ability to find whatever that thing is, to get that person really excited about programming, to make them want to keep it and learn it for themselves, but maybe use it within the context of however else they're going to use it.

  • زمان مطالعه 0 دقیقه
  • سطح متوسط

دانلود اپلیکیشن «زوم»

این درس را می‌توانید به بهترین شکل و با امکانات عالی در اپلیکیشن «زوم» بخوانید

دانلود اپلیکیشن «زوم»

فایل ویدیویی

برای دسترسی به این محتوا بایستی اپلیکیشن زبانشناس را نصب کنید.

متن انگلیسی درس

The Khan Academy computer science platform is something that, it came from discussions that I’d had with Saul Khan and other people at Khan Academy. At that time, this was 2011, Khan Academy was much, much smaller. We had conversations like well, we would really like to have some computer science curriculum. And they’re like, John, are you interested in thinking about this? And now, I’ve never explicitly taught computer science in any formal setting. I mean, I’ve certainly taught people frameworks and libraries. I’ve done lots of speaking on these particular things. And I’ve written books on like JavaScript, and stuff like that. But again, I haven’t taught programming to people who are complete beginners up through. So it was a new challenge for me. I had to go back and do a lot of rethinking about, trying to remember what it was like when I was learning to program, and talk about it with other people and figure our what they experienced when they were learning to program. What worked for them, what didn’t work. And during the initial period where it was just me kind of exploring concepts and trying different things, the idea that really stuck with me the most was actually going back to when I learned to program. When I was, I was a teenager, maybe about 14 or 15 or so, and a friend of mine came over to my house and he had a floppy disk and on it was a copy of QBasic with a program or two. And he’s like, you should, you need to try this out. Check this out. And he loaded it up and he ran some program that he had written. And it was just a very basic, may have just printed to something out, I don’t remember. And I remember that was the first time that I realized, I didn’t realize that you could actually tell the computer what to do. I wanted to try and sort of take that initial experience that I had personally, and the sort of experience of being able to read and learn and try things in an open environment like you would have in GitHub, and combine those together. So, what ended up coming out of this was this what we called, at Khan Academy, computer science, which is a bit of a, I’d say, a misnomer in that is that it’s not what most people think of as a computer science curriculum. We’re not, at least at this point, we’re not going to replace a CS101 at a university. And a lot of what we’re doing is encouraging students to do that exploration for themselves. To be able to look at code, see programs that other students have written, that we have written or whomever, and honestly, I feel like the most important thing that we could do is be able to create that little spark and create that excitement and really get them excited about programming. So when I joined we had, the computer programming was a playground and it was great. And people were creating, there’d already been millions of programs created at that point, I think. But there was not much of a curriculum around it. And so it meant that I was worried that we might lose some people who weren’t able to figure it all out just by exploring, just by the tinkering. Who did need to be explicitly said, this is how a for loop works, this is what a variable is, now you try it. So what I did was, when I started off I took my JavaScript 101 curriculum that I’d been giving in traditional classroom settings, somewhat traditional settings, and then Khanified that. And that meant creating talk throughs, which are like videos, except they’re way cooler, because they’re actually the editor on the left hand side and the output on the right. And you can actually pause, and it’s the actual live editor, so you can then, you know, make little changes, see how it happens, and then you can continue playing. And then there’s the coding challenges. And the coding challenges are step by step, like okay, we want you to do something like this, okay you’re close but you’ve actually made this common mistake, here’s maybe what you should do instead. And it’s a way of both assessing and giving them a way to practice and teach them a bit more. So for every talk through there’ll be a coding challenge. And then every so often there’ll be a project, which is a bigger free form creative project, which gives them a lot of freedom for what to do while still practicing what they’ve learned. So maybe, they’re making a fish tank once they’ve learned functions, then they have this fish function and they have to parametrize that function so that fishes can have different colors or sizes, right? But they can go wild with that. They can add seaweed, they can have bubbles, whatever they want to do. And sometimes they even make rat tanks, whatever. And those get peer evaluated so it’s coming up that curriculum and then coming up with the more advanced curriculums as well. I think one of the things that’s important is I don’t want to create a generation of programmers or computer scientists who exclusively program for the sake of programming. Now I tend to be that and others here at the company tend to be that, but I feel like we are the exception. And another experience that was very formative to me is I remember I was taking a AP Computer Science class in high school. And I was, I had also been other AP classes with my other friends, like AP English, AP History. And they were smart, I knew they were the smartest people, and they could go to any college they want. And we got to AP Computer Science and I was just like, I can just do whatever. I knew exactly how everything worked and they struggled. And what was interesting for me to see that is I realized that there’s certain concepts here that are challenging. And, but potentially, if they’re taught in the right way, that these people, who I know are really smart, they should not be struggling, that they would be able to get it. And so really, what the Khan Academy CS platform, if we had the ability to find whatever that thing is, to get that person really excited about programming, to make them want to keep it and learn it for themselves, but maybe use it within the context of however else they’re going to use it. If they love science, if they love art, if they love music. Whatever that thing is, being able to take programming and be able to mix that together and really just use it as a life skill at that point. I would love it if we had a generation of people who just, like, realized that that was a thing that they could have, that they could learn, that they could use, and not just become a programmer for a programmer’s sake. We want to get people programming pretty early. I mean, we’ve seen that eight year olds are learning to program on our platform. They may be particularly smart eight year olds, but we think that actually eight year olds could be doing some form of programming. Maybe it’s Block Break programming, maybe it’s HTML, but they could be doing something that’s kind of exercising that type of skill, that part of the brain. And so I envision that ideally, let’s say sixth grade, maybe sixth grade is when you start learning to program. So you learn the basics of some language like JavaScript. And then you start making your own programs. And then maybe you start making programs for projects in other classes. And I’ve seen this with some of our students, is that they use it for science fair, and they use it for their history assignment. They use it to make a timeline. So they start using programming to complement those other classes, those other topics, because that’s one of the big things about programming, it can be very cross-disciplinary and really work together with other stuff. And we don’t necessarily want everyone to become a computer programmer. We want everybody to have that as a skill in their toolbox. And then the other thing is that as they keep going, as they’re making programs, we really want them to be working with other people in making programs. Because that’s one of the big things about software development that they don’t even teach you that much in college, is that it’s a huge team effort, right? And if you’re really going to make a good piece of software you’re going to have to work with other people. And it requires a certain amount of skills and it’s also a really fantastic experience to work with other people. It’s way more a collaboration than a competition. And we don’t do that much collaborating when we’re being schooled. We do more competing. And so I would imagine, like maybe they get into high school, and maybe they actually have a project where they work with a local non-profit and they spec out and they do wire frame. They learn about user experience. And then they actually implement it as a team and they do code review. And they learn about what it means to work on a team. And then they do some usability testing, and then they actually deliver and then they have it in their portfolio. And so there it’s not learning about programming and how computers work, it’s learning about how to work with people and learning about how to make things that work well for people too, and getting an intuition for usability. I don’t feel like we’ve made much of an impact on let’s say college level computer science education. However, I think we’ve definitely had an impact on the K through 12 level. I would say pre-AP computer science teaching of programming. Now it’s interesting because I feel like we’re very different from most programming education. If you look at programming education in that realm of before college or before AP Computer Science, that your students are typically not writing code. Or physically, I want to say physically typing out characters that are code. You end up with environments like, for example, Scratch out of MIT. And it’s a bit, or like Mindstorms or these other things, and I feel like we’re one of the few environments where we’re getting young kids to actually type real-world code and learn I think practical pragmatic code. Getting to see classrooms use your stuff is incredibly valuable so any time I talk to teachers I always come back with feature requests and we came up with new teacher tools for that. So teachers now have a much better dashboard to actually monitor the progress of their students and see where they’re at in the curriculum. And they can actually see roughly who’s at what spots in the curriculum so they can kind of say, oh, these people should help each other or these people should pair together, and they can see all the programs that people have created. And it’s very interesting because at this high school there’s this teacher Ellen, who’s teaching using our platform, and then there’s another teacher who’s teaching using traditional processing, which is the desktop Java version. And when they do their assignments they have to zip them up in a file and they have to email it to him and he has to go through them and read it that way. And whereas Ellen just reloads the programs page and can see exactly what her students are working on. So it’s kind of streamlined that part of it too.

مشارکت کنندگان در این صفحه

تا کنون فردی در بازسازی این صفحه مشارکت نداشته است.

🖊 شما نیز می‌توانید برای مشارکت در ترجمه‌ی این صفحه یا اصلاح متن انگلیسی، به این لینک مراجعه بفرمایید.