Return to Video

EduPsych Theory for Python Hackers: A Whirlwind Overview

  • 0:06 - 0:12
    NAOMI: Welcome. This will be EduPsych Theory for Python Hackers.
  • 0:12 - 0:14
    This is a half-hour talk by Mel Chua,
  • 0:14 - 0:19
    we're going to try to have about five to eight minutes at the end for questions.
  • 0:19 - 0:27
    Ok. Mel Chua!
  • 0:27 - 0:30
    MEL: Hi. Hi, everyone.
  • 0:30 - 0:33
    So, welcome to EduPsych Theory for Python Hackers.
  • 0:33 - 0:37
    This is a very laptops-encouraged talk. The slides are on the web
  • 0:37 - 0:43
    and there'll be a lot of points where I'll say "It's Wikipedia time!" if you want to look up something up or follow a resource down,
  • 0:43 - 0:52
    because what I'm about to do is try to cram about 2 years of graduate school education classes into approximately 20 minutes.
  • 0:52 - 0:58
    So there's going to be a lot that we cover very very quickly and there's going to be a lot that we don't cover but I'll go "there's a link!"
  • 0:58 - 1:10
    So, my name is Mel, and in between bouts of academia I've been spending a lot of time wandering around sort of the hacking world,
  • 1:10 - 1:16
    the coding world, the open source world, the Python world. And the reason I went back to academia was because there was a bug I wanted to fix,
  • 1:16 - 1:26
    it was classrooms looked like that and not like this, and not like the sorts of really cool hacking, messing-around-with-things communities we all know and love.
  • 1:26 - 1:33
    And there's this giant cultural gulf between the academic world and the world we know here.
  • 1:33 - 1:45
    And my belief is that you folks here at PyCon are doing it right. So, in particular -- so one example, like test-driven development.
  • 1:45 - 1:54
    Many of us would probably be familiar with this, that's a doctest for a function that returns a factorial of a number, and there's a test for it,
  • 1:54 - 2:00
    and I was taught when I started programming that when you're writing code, you figure out what you want the code to do first,
  • 2:00 - 2:07
    then write a test to make sure that the code you're going to write is performing the function you want it to perform, then you write the code.
  • 2:07 - 2:13
    And when you design curriculum, you should do exactly the same thing.
  • 2:13 - 2:21
    So a lot of people make the mistake of starting with the pedagogy phase. As in "that would be a really cool activity to do with students."
  • 2:21 - 2:29
    So, pause, step back -- first figure out the content, the objectives you want.
  • 2:29 - 2:34
    Then write the test. How will you assess that students are able to achieve the objectives you want.
  • 2:34 - 2:38
    Then figure out the pedagogy of what activity you want them to do to get there.
  • 2:38 - 2:43
    Understanding By Design is a lovely book if you want to learn a bit more about that approach.
  • 2:43 - 2:48
    And if you're trying to figure out well, well, what's this content thing --
  • 2:48 - 2:54
    Bloom's Taxonomy is a handy-dandy list of words that you can use. It goes up in a hierarchy.
  • 2:54 - 2:58
    Do you want students to memorize and remember things? Which is very easily dismissed,
  • 2:58 - 3:02
    and sometimes it's not a bad thing because there are only so many times you can say
  • 3:02 - 3:08
    "the square brackets are lists, the curly ones are dictionaries" over and over again before you just want them to know it. D
  • 3:08 - 3:14
    o you want them to be able to apply things in a step-by-step tutorial following instructions?
  • 3:14 - 3:20
    Do you want them to be able to evaluate, like "here's two approaches, which one do you think is better? Why?"
  • 3:20 - 3:29
    Do you want them to be able to create things? And the thing about the taxonomy is the stuff at the top, we usually think of as "better" --
  • 3:29 - 3:32
    it's not necessarily "better." It takes more time.
  • 3:32 - 3:36
    It's really hard to do the things at the top unless you've done some things at the bottom first.
  • 3:36 - 3:40
    So, back to the whole cultural gulf between these two...
  • 3:40 - 3:47
    One of the things that again, as Pythonistas, you already know is the world is socially constructed.
  • 3:47 - 3:51
    And some people in school have a very hard time understanding this.
  • 3:51 - 3:52
    But we already know that, because --
  • 3:52 - 3:58
    well, why is the Python language the way it is? It's not because some higher power from above ordained it --
  • 3:58 - 4:00
    well, uh, it kind of is [laughter]
  • 4:00 - 4:02
    but they're called maintainers, and they're humans!
  • 4:02 - 4:04
    And we can see them talking on the mailing lists!
  • 4:04 - 4:05
    And you can see their commit messages!
  • 4:05 - 4:07
    And you can see them going back and forth!
  • 4:07 - 4:16
    And so we have this idea that the world is just as hackable as our technologies are. And that's a very, very powerful viewpoint to have.
  • 4:16 - 4:20
    So. So here's the thing.
  • 4:20 - 4:26
    We need to come up with some sort of translation between the two worlds, because what happened when I went back to graduate school
  • 4:26 - 4:33
    and I started teaching again, and I was talking about "oh my gosh, we're all in these communities of makers and the open source world and the Python community
  • 4:33 - 4:38
    and we're learning and it's fun and it's wonderful -- can I do this in my classroom, please?"
  • 4:38 - 4:45
    They went "well, well... what is it you do there?" and I went "uhhh... we... make things and it's fun,"
  • 4:45 - 4:47
    they're like "oh, you're just playing..."
  • 4:47 - 4:53
    And so I needed to find ways to describe it in words they would understand. [laughter]
  • 4:53 - 4:58
    And, uh... yeah.
  • 4:58 - 5:02
    So, so let's go through some of this.
  • 5:02 - 5:07
    Accidental learning. It's a fancy word for "we didn't plan it ahead of time." [laughter] All right?
  • 5:07 - 5:14
    So say that you hang out in the IRC channel, people are talking, things are gonna come up, things you didn't expect to learn about that day.
  • 5:14 - 5:17
    And this is the kind of hap- kind of thing that happens in our world all the time.
  • 5:17 - 5:26
    You're in a conference, you're milling around, you meet people, so accidental learning or "authentic experiences" is another really useful phrase.
  • 5:26 - 5:30
    And communities of practice. Python is a community of practice.
  • 5:30 - 5:39
    Communities of Practice is another really big theoretical construct that a lot of education people use and it is within a domain, a community of people --
  • 5:39 - 5:45
    so we're in the domain of programming. We are a community of people who share the practice of programming in Python.
  • 5:45 - 5:52
    Within the domain of Python web frameworks, the Django community is a community that shares the practice of using the Django framework.
  • 5:52 - 5:56
    And so if you think of a community of practice, it's actually a learning entity,
  • 5:56 - 6:02
    and cognitive apprenticeship is how learning happens inside communities of practice.
  • 6:02 - 6:10
    And if you think about a shop floor, how like a traditional handcraft like wood, woodworking, or delivering babies, or what have you,
  • 6:10 - 6:14
    as an apprentice you see two different pathways.
  • 6:14 - 6:24
    One is that you see the pathway from raw product to finish product. But you also see the pathway from new apprentice to master.
  • 6:24 - 6:29
    And it's not just one pathway, it's I see the more experienced apprentices ahead of me,
  • 6:29 - 6:36
    I see the journeymen ahead of them, and I don't just see one master, I see 50, I see 20, I see a thousand masters,
  • 6:36 - 6:42
    so I get the idea that there are many different kinds of mastery and many different kinds of people, it's not a linear route I'm on,
  • 6:42 - 6:48
    it's not "I'm comparing myself to him or her," but it's "what kind of master will I become?
  • 6:48 - 6:52
    What does it mean for me to have mastery in this domain?"
  • 6:52 - 7:00
    And the modeling, coaching, scaffolding, and fading -- because these communities of practice and these sort of apprentice shops are in our head,
  • 7:00 - 7:08
    when we're programming, it's not like you can see, like, you know, bugfixing in your brain is not quite as visible as let me saw this drawer in this wood.
  • 7:08 - 7:15
    And so modeling, coaching, scaffolding, and fading are four things that, as people we teach, we can think about.
  • 7:15 - 7:19
    So modeling is doing the task yourself so the learner can see it,
  • 7:19 - 7:25
    coaching is standing on the sidelines and giving them realtime feedback as they're attempting that task themselves.
  • 7:25 - 7:32
    Scaffolding is designing a task so that they take on a little bit and then successively more.
  • 7:32 - 7:40
    So for instance, the first time someone is running a program and it crashes, you might model "this is how you submit a bug report."
  • 7:40 - 7:43
    The next time, you might scaffold that a little bit.
  • 7:43 - 7:49
    You open up bugzilla and then say "you watched me type the subject line before, why don't you come up with a subject line now?
  • 7:49 - 7:53
    All right, now that you've come up with a subject line, let's type the body together."
  • 7:53 - 7:55
    And over time you give them more and more responsibility.
  • 7:55 - 8:00
    And after that you start to fade slowly until they're doing the entire task on their own.
  • 8:00 - 8:10
    And that link at the bottom if you want to learn more way more about cognitive apprenticeship is a paper I wrote on cognitive apprenticeship case studies in open source communities.
  • 8:10 - 8:16
    So what happens when you go through a cognitive apprenticeship is you progress from novice to expert.
  • 8:16 - 8:21
    And the Dreyfus Model of Skill Acquisition is a framework you can use to think about that progression.
  • 8:21 - 8:27
    And the insight here that the Dreyfus brothers have was not that people progress from novice to expert, which is kind of obvious, but --
  • 8:27 - 8:37
    uh, perhaps equally obvious -- is that when you are at any given state, it's very hard to tell and remember what the other stages are like.
  • 8:37 - 8:42
    So if you are an advanced beginner, you've kinda forgotten what it's like to be a novice,
  • 8:42 - 8:45
    and you have no idea what it's like to be proficient, or an expert.
  • 8:45 - 8:49
    And so what that means is that the world looks very different to very different types of people.
  • 8:49 - 8:57
    So for instance, if you are proficient or an expert or, you know, pretty comfortable with Python, working in communities remotely,
  • 8:57 - 9:01
    an IRC channel might look like a place where you might get help faster, right?
  • 9:01 - 9:09
    Find tasks faster -- these are all happy, happy tools for us. Alright?
  • 9:09 - 9:17
    And we see them as things that can bring, like, the little green people on the outskirts into the little purple people on the inside of our community.
  • 9:17 - 9:19
    Oh man. It'll be wonderful!
  • 9:19 - 9:24
    And, um, but the green people on the outskirts don't necessarily see it that way, right?
  • 9:24 - 9:28
    They might think this. "We will not talk to you until you use this strange new tool.
  • 9:28 - 9:31
    Stop asking me what to do and go away.
  • 9:31 - 9:35
    To a corner no one has touched for months." [laughter]
  • 9:35 - 9:41
    And that's not really the impression we're trying to give them.
  • 9:41 - 9:43
    But why do they think that?
  • 9:43 - 9:45
    So: Piaget.
  • 9:45 - 9:52
    One of the reason why -- this talk alone, if you can not read Piaget and get this,
  • 9:52 - 9:57
    it's worth it because I had to read the original translations from the French, and ugh.
  • 9:57 - 10:01
    So, Piaget has two ideas -- well, he has a lot more ideas,
  • 10:01 - 10:05
    but the two I'm going to talk about here are assimilation and accomodation.
  • 10:05 - 10:10
    Uh, assimilation is when you can add new information to the mental schemas you already have,
  • 10:10 - 10:15
    and accommodation is when you have enough data that doesn't really kinda fit that you've got to refactor it,
  • 10:15 - 10:18
    and we have a really great example over here.
  • 10:18 - 10:20
    [laughter]
  • 10:20 - 10:21
    Right?
  • 10:21 - 10:22
    And so let's think about that, right?
  • 10:22 - 10:30
    There are some people that, even as Python 3 was out, kept on using Python 2.5, 6, 7... and so you had two parallel streams.
  • 10:30 - 10:38
    And so you have students -- some of them are going to keep on wanting to think the same way they've been thinking, until it really, really, really, really no longer works,
  • 10:38 - 10:46
    and others are going to be early adopters, and telling them that is a switch that they're making in paradigms is something you can do
  • 10:46 - 10:49
    to make it more conscious that that's the process that they're going through.
  • 10:49 - 10:56
    And -- but, you know, back to that earlier image, right, to see things the wrong way can actually scare people, right?
  • 10:56 - 11:05
    And the Dreyfus model talks about what, uh, context, what, what are novices missing? Novices are missing context.
  • 11:05 - 11:09
    If you are just beginning to learn how to cook, you really want a cookbook that says
  • 11:09 - 11:13
    "this is a chicken. A chicken is a bird. [laughter]
  • 11:13 - 11:16
    This is what you do with it. Turn on the oven. [laughter]"
  • 11:16 - 11:23
    And on the other hand if you're an experiened chef, you can go and you compete in Iron chef, and they say "SARDINES!"
  • 11:23 - 11:29
    and you go "oh, wow!" [laughter] Because you have the context of how to improvise in that world.
  • 11:29 - 11:38
    And so the resources that work for an expert or someone higher up in the Dreyfus scale -- acquisition scale -- aren't going to work for a novice.
  • 11:38 - 11:44
    And so that's another thing. Looking at where your students are, what they need, where they feel they are,
  • 11:44 - 11:49
    and how much context they can handle so you can scaffold them appropriately.
  • 11:49 - 11:57
    So -- quick bit. Assessment -- because I was thinking about food, and formative versus summative assessment is a good aside to put in here.
  • 11:57 - 12:02
    Formative assessment is like tasting food as you're cooking it to make sure it's going to turn out okay.
  • 12:02 - 12:06
    Summative assessment is tasting the food at the end once you've served it and it's done.
  • 12:06 - 12:12
    Summative assessment is the kind of assessment that usually happens in schools; you get a grade at the end of the semester.
  • 12:12 - 12:16
    Formative assessment is the kind of assessment that happens in here.
  • 12:16 - 12:20
    You have conversations on things on your blog, you get people's feedback, you review their code,
  • 12:20 - 12:27
    and so when you talk to educators and they say "well, how are you going to assess your students?"
  • 12:27 - 12:30
    and the answer is "well, I don't, I don't wanna grade them," you can say
  • 12:30 - 12:40
    well, well, they have many opportunities for informal formative assessment with experienced members of the community, and it'll sound good.
  • 12:40 - 12:50
    So, back to Dreyfus. One of the things that that dispels is the myth that you can't contribute until you're "good enough." Right.
  • 12:50 - 12:55
    There are still things that novices can do if they are scaffolded appropriately.
  • 12:55 - 13:01
    And two things that can help you think about that is -- in a cognitive apprenticeship within a community of practice
  • 13:01 - 13:08
    there's the idea of the zone of proximal development and the idea of legitimate peripheral participation. And they're related.
  • 13:08 - 13:13
    So, proximal development is -- so here's the things I can already do.
  • 13:13 - 13:21
    And then are the things on the other end that I can never do no matter how much help I get -- at this point in time.
  • 13:21 - 13:27
    And in the middle of that, there's the stuff that I can do if and only if someone else helps me.
  • 13:27 - 13:29
    That is the zone of proximal development.
  • 13:29 - 13:34
    And so -- bike riding, it's when you're at that stage where you can kinda wobble on the bike if your,
  • 13:34 - 13:37
    if your brother is hanging on to keep you hanging.
  • 13:37 - 13:41
    So what's the equivalent in the Python community?
  • 13:41 - 13:43
    It might look like pair programming, it might look like code review,
  • 13:43 - 13:49
    it might look like any sort of interaction between experienced people and less experienced people.
  • 13:49 - 13:55
    And one of the cool things about the zone of proximal development is that you don't need experienced versus less experienced --
  • 13:55 - 13:59
    peers can create zones of proximal development for each other.
  • 13:59 - 14:05
    But it's the enablement that an extra person beside you or with you online creates.
  • 14:05 - 14:14
    Legitimate peripheral partipation is what -- the means for allowing people to contribute without being the core already.
  • 14:14 - 14:22
    So there are mission critical tasks, and, you know, these things that nobody really cares about.
  • 14:22 - 14:26
    And legitimate peripheral participation opportunities come with the jobs that --
  • 14:26 - 14:31
    it would be really, really cool if we could do this, but none of the core people have time for.
  • 14:31 - 14:36
    And so that's a lot of where Google Summer of Code projects sorta fall into that category,
  • 14:36 - 14:40
    a lot of good projects for students in classes fall into that category,
  • 14:40 - 14:48
    if you have things that your core community would love to see fixed, so they'll actually help people who are coming in to fix it,
  • 14:48 - 14:53
    but they're not so vital that if they don't fix it the build gets delayed
  • 14:53 - 14:56
    because this one student couldn't figure out how to write the code --
  • 14:56 - 14:59
    that's a great opportunity.
  • 14:59 - 15:03
    And -- now, switching gears for a bit,
  • 15:03 - 15:06
    going back to that first example of test-driven development,
  • 15:06 - 15:11
    this is also a good example of behaviorist thinking.
  • 15:11 - 15:14
    The fact that, you know, we've got that little function that says
  • 15:14 - 15:17
    [robotic voice] we will test these students, they will produce an output,
  • 15:17 - 15:22
    it will tell us the true and accurate mentality of how much they know --
  • 15:22 - 15:24
    [normal voice] That is a fair assumption to make,
  • 15:24 - 15:27
    but it's an assumption you should know you're making.
  • 15:27 - 15:31
    And so what I'm going to do, uh, for, for the grand finale of this --
  • 15:31 - 15:34
    well, semi-grand finale of this --
  • 15:34 - 15:38
    is to go through 50 years of cognitive paradigms in teaching and learning very, very quickly,
  • 15:38 - 15:44
    and if you want the less-abridged version, um, there are resources there. So.
  • 15:44 - 15:51
    This is 50 years of educational psychology history on one page.
  • 15:51 - 15:56
    In the beginning there was behaviorism, which is the carrot-and-stick stimulus-response thinking, all right?
  • 15:56 - 16:02
    You have a student, they're a black box, you poke at them, there's an output, it will be the correct answer!
  • 16:02 - 16:05
    We hope. If not, we'll poke at them more and kinda beat them with a stick
  • 16:05 - 16:09
    and wave a little carrot in front of them, and they'll give the correct answer!
  • 16:09 - 16:14
    And sometimes we go "ah, behaviorism is bad, it's outmoded and outdated"
  • 16:14 - 16:16
    -- but it's really useful.
  • 16:16 - 16:21
    For instance. The Boston Python Workshop uses CodingBat to teach stuff.
  • 16:21 - 16:26
    Anytime we talk about automating learning, automating experience, we're taking a behaviorist mentality, alright?
  • 16:26 - 16:30
    So we say, write this code, type it in, press the button,
  • 16:30 - 16:32
    did you get the right answer, yes/no.
  • 16:32 - 16:35
    So it's not an evil thing, it's a very, very useful tool,
  • 16:35 - 16:41
    but it's something to be conscious of.
  • 16:41 - 16:46
    Then there are people who went "well, the behaviorists think that inside the brain's a black box,
  • 16:46 - 16:50
    but what goes inside there is actually important."
  • 16:50 - 16:52
    And so how do we structure material?
  • 16:52 - 16:53
    How do we store it in our memory?
  • 16:53 - 16:56
    How do we organize things so they're easier for people to learn?
  • 16:56 - 17:00
    And a really good example of that is actually you folks.
  • 17:00 - 17:04
    Why do so many people like programming in Python, as opposed to other languages?
  • 17:04 - 17:07
    It fits in your brain pretty nicely.
  • 17:07 - 17:09
    You can read the code, it makes sense, as opposed to --
  • 17:09 - 17:12
    I had to program in assembly back in the day and that --
  • 17:12 - 17:15
    it didn't fit in my brain quite so well.
  • 17:15 - 17:19
    And so using Python is already using cognitive schemas
  • 17:19 - 17:25
    and working with people who value the use of good cognitive schemas.
  • 17:25 - 17:28
    Then we move into the situative domain, people were like
  • 17:28 - 17:31
    "alright, stuff is happening in your cranium, you're responding to input...
  • 17:31 - 17:33
    but really, this stuff happens in a community.
  • 17:33 - 17:35
    Learning happens in a context.
  • 17:35 - 17:39
    Knowledge only really makes sense if other people know it too, and validate it."
  • 17:39 - 17:43
    And that's a lot of what we were talking about with the cognitive apprenticeship earlier.
  • 17:43 - 17:47
    But another good example of that is Sugar Labs.
  • 17:47 - 17:54
    So this is a learning environment for kids, written in Python, where they can, um, play,
  • 17:54 - 17:59
    play with different games for learning, but one of the cool things is --
  • 17:59 - 18:02
    we were talking about modeling, coaching, scaffolding, and fading --
  • 18:02 - 18:05
    that's also built into the design of the activity. So you can play the game,
  • 18:05 - 18:10
    and at another level you can click on the little gear thing and make your own abacus,
  • 18:10 - 18:15
    and on another level you can click on another button and see the Python code and work on it,
  • 18:15 - 18:19
    and so there's different levels of scaffolding and you can see the work of multiple people
  • 18:19 - 18:22
    and share your code with others and that's getting out of the
  • 18:22 - 18:25
    "I'm a person on my computer working alone" and into the
  • 18:25 - 18:28
    "I'm a person working in a broader community connecting with other people"
  • 18:28 - 18:32
    socially constructing a world with them.
  • 18:32 - 18:40
    So, in a parallel thread to that timeline of behaviorist, um,
  • 18:40 - 18:44
    cognitive thinking, and, um, situated learning,
  • 18:44 - 18:48
    was the ideas of different theories of motivation. A
  • 18:48 - 18:50
    nd I'm going to go through a few of them really quickly.
  • 18:50 - 18:56
    One of them is self-efficacy, which is the idea of how much you believe you can do this.
  • 18:56 - 19:01
    And that is, in rank order, the things they found affected self-efficacy the most.
  • 19:01 - 19:06
    If you care about making people believe they can do things, this is the list you want to pay attention to.
  • 19:06 - 19:11
    So the most impactful thing is doing it, because if you did it before you can probably do it again.
  • 19:11 - 19:15
    The second one is seeing people do it -- people that look like you.
  • 19:15 - 19:20
    The converse of that is if you see people that look like you fail at it, then you start thinking "maybe I can't do it either."
  • 19:20 - 19:24
    And the third one, social persuasion, is other people coming up and saying
  • 19:24 - 19:27
    "you can do this, you can try this, you should come, you should come to this talk,
  • 19:27 - 19:29
    you should go to this tutorial, you should give another talk."
  • 19:29 - 19:33
    And the interesting thing is that those three things override your physical body,
  • 19:33 - 19:38
    so if you have butterflies in your stomach, and you're really scared about hitting the Enter key,
  • 19:38 - 19:40
    but the people beside you are going "yeah, you can do this!"
  • 19:40 - 19:42
    and you're watching people around you succeeding,
  • 19:42 - 19:47
    then you're really likely to believe you can you can take that leap.
  • 19:47 - 19:50
    Attribution theory -- another thing.
  • 19:50 - 19:55
    Do you walk into the room thinking that "my talent in coding is innate,"
  • 19:55 - 19:59
    or do you walk into the room thinking "it's a muscle, if I exercise it, I'll get better,
  • 19:59 - 20:02
    and if people are really good, they're good because they work really hard."?
  • 20:02 - 20:05
    And so what attitude do your students come into the room with,
  • 20:05 - 20:10
    and what attitude as a teacher do you project?
  • 20:10 - 20:12
    And this is a really good example here,
  • 20:12 - 20:16
    because I think people who come to things like PyCon are coming because they want to learn things,
  • 20:16 - 20:19
    because they know that it's not a magical talent we're born with,
  • 20:19 - 20:26
    we gain those through exposure and working with others that are interested.
  • 20:26 - 20:30
    Then there's motivation,
  • 20:30 - 20:33
    and moving from amotivaton, which is "I don't care," to
  • 20:33 - 20:35
    "other people make me do it,"
  • 20:35 - 20:38
    "I do it because it's good for me and it'll help me get a good job,"
  • 20:38 - 20:40
    into "this is really really cool" --
  • 20:40 - 20:43
    which is, for the most part where we want people to end up --
  • 20:43 - 20:48
    can be influenced by making, increasing autonomy, relatedness, and competence.
  • 20:48 - 20:52
    So, autonomy is the freedom you have to decide what you're gonna do.
  • 20:52 - 20:56
    Relatedness is how close your project is to someting I already care about,
  • 20:56 - 20:59
    and competence is self-efficacy we talked about earlier.
  • 20:59 - 21:01
    How good do I think I am at doing it,
  • 21:01 - 21:03
    not how good I am at it really,
  • 21:03 - 21:06
    but how good do I think I am.
  • 21:06 - 21:13
    So if you want to increase the stuff on the left, turn the sliders up for the stuff on the right.
  • 21:13 - 21:23
    And so now with that, this, this paragraph should now start making a little bit more sense.
  • 21:23 - 21:29
    So... why do I do this? Why am I talking about these kinds of things?
  • 21:29 - 21:33
    And the thing is, because we can only see a little bit of the world.
  • 21:33 - 21:36
    We can only see a little bit of what students do and what they think.
  • 21:36 - 21:41
    And as teachers we have a lot of privilege.
  • 21:41 - 21:44
    And we don't necessarily see what our students are assuming about themselves,
  • 21:44 - 21:47
    or about why things may not be working for them yet.
  • 21:47 - 21:49
    We tend to teach the way we learn. A
  • 21:49 - 21:54
    nd so sometimes we think "oh, well, the way I teach is the way it should be taught,"
  • 21:54 - 22:00
    or maybe "the way I teach is better than the way they teach in school, but clearly it's the way it should be taught."
  • 22:00 - 22:02
    And that's just not necessarily true.
  • 22:02 - 22:06
    For your students, the first couple steps do not feel like progress.
  • 22:06 - 22:09
    You're guarding their thoughts, you're scared, and you might be quiet,
  • 22:09 - 22:13
    but underneath the silence, stuff is happening inside.
  • 22:13 - 22:16
    Reason is stirring in the background.
  • 22:16 - 22:23
    And it's very important that confirmation that you belong to a community starts when you begin to try
  • 22:23 - 22:25
    rather than being an end goal you try to get.
  • 22:25 - 22:28
    Once you take the first step, you already belong.
  • 22:28 - 22:35
    And that's all I had. Time for questions?
  • 22:35 - 22:43
    [applause]
  • 22:43 - 22:49
    NAOMI: Ok. If you have questions, we've got a microphone there and we've got a microphone here.
  • 22:49 - 22:52
    AUDIENCE MEMBER: Yeah, um, can you go back a few slides? I missed the quote.
  • 22:52 - 23:01
    MEL: Um, this one? Ok.
  • 23:01 - 23:05
    AUDIENCE MEMBER: Um, yeah. First, I want to thank you, that was -- oh, go ahead.
  • 23:05 - 23:07
    MEL: No, go ahead.
  • 23:07 - 23:09
    AUDIENCE MEMBER: So I want to thank you, that was really interesting
  • 23:09 - 23:12
    and not at all what I thought I would be learning when I came to PyCon
  • 23:12 - 23:14
    so it was an accidental learning opportunity.
  • 23:14 - 23:16
    [laughter]
  • 23:16 - 23:24
    And then, um, could you recommend a book that we could...
  • 23:24 - 23:25
    MEL: Come again?
  • 23:25 - 23:28
    AUDIENCE MEMBER: Could you recommend a book, that, on this topic?
  • 23:28 - 23:32
    Like, some kind of [indistinguishable] book?
  • 23:32 - 23:35
    MEL: On which topic?
  • 23:35 - 23:41
    AUDIENCE MEMBER: On educational psychology, it's an interesting field which I know nothing about except, um, this [laughter]
  • 23:41 - 23:45
    and it sounds quite big but I don't want to go to graduate school either.
  • 23:45 - 23:47
    [laughter]
  • 23:47 - 23:52
    MEL: Ah. So, uh, if I could only recommend one book, I would...
  • 23:52 - 23:55
    um, I believe it's called "Theories of Development" by Crain,
  • 23:55 - 23:57
    C-R-A-I-N,
  • 23:57 - 24:00
    and I can write that down for you afterwards if you'd like.
  • 24:00 - 24:04
    And what that is, is a snapshot of individual researchers that have developed --
  • 24:04 - 24:08
    so Bandura's in there, Dweck is in there, a couple of the things we went through are in there,
  • 24:08 - 24:13
    and it gives 5-page summaries of all the very complicated papers.
  • 24:13 - 24:18
    And it's lovely.
  • 24:18 - 24:24
    NAOMI: Ok, another question.
  • 24:24 - 24:25
    AUDIENCE MEMBER: Thanks.
  • 24:25 - 24:26
    Thanks again for doing this talk.
  • 24:26 - 24:32
    I was just curious what are some of the next steps for you, what do you think,
  • 24:32 - 24:43
    do you think you can make engineering, this kind of teaching methodology based on our open source movement is really interesting.
  • 24:43 - 24:46
    MEL: Well, I'm interested in 2.5 things.
  • 24:46 - 24:48
    [laughter]
  • 24:48 - 24:50
    Well, one, one is --
  • 24:50 - 24:57
    so the reason I'm giving this talk is I'm assuming y'all are all people who do Python things and care about teaching,
  • 24:57 - 25:00
    and I wanted to try and give you some language to explain what you're doing,
  • 25:00 - 25:04
    to validate it in the world of professional schooling.
  • 25:04 - 25:07
    And to go and be able to say "this is a great thing to have your class do,
  • 25:07 - 25:10
    this is a great thing to have, you know, as part of the curriculum."
  • 25:10 - 25:15
    It's not something should be relegated to just after-school clubs that are just playing around,
  • 25:15 - 25:19
    because putting it into more mainstream schooling will give more people access to it
  • 25:19 - 25:25
    instead of just the people that have the resources in both time and equipment to play around with it on the side.
  • 25:25 - 25:27
    And so that's one of the things --
  • 25:27 - 25:35
    and so if you are interested in, um, trying to help explain the project that you're doing to educational institutions
  • 25:35 - 25:37
    I'd be really happy to help with that.
  • 25:37 - 25:39
    Another thing I'm interested in is going in the opposite direction,
  • 25:39 - 25:43
    working with teachers who are interested in working with folks like you.
  • 25:43 - 25:44
    And doing things in their classroom.
  • 25:44 - 25:48
    So Jeff and Steve up in the front row are brilliant examples.
  • 25:48 - 25:49
    I wish I could clone them.
  • 25:49 - 25:55
    Jeff is K-12 and Steve does college, and how do they move in the opposite direction
  • 25:55 - 25:58
    and get to know what it's like to work in these sorts of projects and communities.
  • 25:58 - 26:08
    And the point-five is that a number of people have been trying to bug me to write this up in longer form as a bidirectional translation for both sides
  • 26:08 - 26:11
    and I'm not sure if more than three people are actually interested in that
  • 26:11 - 26:18
    but that might be something to do once I finish up my classes next semester.
  • 26:18 - 26:22
    AUDIENCE MEMBER: Thank you.
  • 26:22 - 26:28
    AUDIENCE MEMBER: So if there was one thing that you could get the average computer science teacher
  • 26:28 - 26:34
    to change or stop doing or start doing, what would it be?
  • 26:34 - 26:48
    MEL: It would be... mm, looking up...
  • 26:48 - 26:51
    It would be working on the content.
  • 26:51 - 26:55
    A lot of teachers, their learning objectives are filled with "we have to hit standard XYZ,
  • 26:55 - 26:57
    and there's 20 learning objectives
  • 26:57 - 27:01
    and we have to get through all the chapters of the textbook" and...
  • 27:01 - 27:04
    where is it, there we go,
  • 27:04 - 27:07
    and so it's a very linear thing because you need to have a predefined outcome,
  • 27:07 - 27:12
    but loosening that up and changing things so that your goal is
  • 27:12 - 27:17
    "let me have students become confident wandering in an unknown world" --
  • 27:17 - 27:19
    being comfortable being, um,
  • 27:19 - 27:23
    "productively lost" is a phrase I like to use a lot.
  • 27:23 - 27:25
    Having them be comfortable being productively lost.
  • 27:25 - 27:29
    So even if they don't get specific bits of content or specific bits of material,
  • 27:29 - 27:32
    that they're comfortable moving around and improvising,
  • 27:32 - 27:36
    and that's the learning objective -- that's the one thing I'd like to see changed
  • 27:36 - 27:39
    but it's a huge, huge, huge change
  • 27:39 - 27:48
    and it's a very risky change for a lot of people, so it's a hard one.
  • 27:48 - 27:51
    NAOMI: Ok. Any more questions?
  • 27:51 - 27:52
    MEL: I think that's time.
  • 27:52 - 27:56
    NAOMI: Thank you very much.
Title:
EduPsych Theory for Python Hackers: A Whirlwind Overview
Description:

Mel Chua, PyCon 2013
I've taken two years of graduate courses in engineering education. I save you $50k in tuition and hundreds of hours of reading and give you the short version for Pythonistas who care about education and outreach.

more » « less
Video Language:
English
Duration:
27:56

English subtitles

Revisions