pycon toronto 2013: edupsych theory for python hackers 2.0

93
edupsych theory edupsych theory for python hackers for python hackers v.2.0 v.2.0 (mel chua, pycon toronto 2013) (mel chua, pycon toronto 2013) follow along at bit.ly/pycon-toronto-edupsych follow along at bit.ly/pycon-toronto-edupsych

Upload: mel-chua

Post on 08-May-2015

1.622 views

Category:

Education


3 download

DESCRIPTION

A hacker's translation of engineering education graduate school. How can we think about designing learning experiences? How do we understand ourselves as individual learners with distinct styles? How can we describe the way community interactions help us learn? These questions -- and more -- are tackled and illustrated with examples from Python development (and occasional pictures of cats). If you're a hacker, you're already doing awesome learning stuff -- now learn a vocabulary you can use to talk about it!

TRANSCRIPT

Page 1: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

edupsych theoryedupsych theoryfor python hackersfor python hackersv.2.0v.2.0

(mel chua, pycon toronto 2013)(mel chua, pycon toronto 2013)follow along at bit.ly/pycon-toronto-edupsychfollow along at bit.ly/pycon-toronto-edupsych

Page 2: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

MEL CHUAacademic

hackeracademic

Page 3: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

WAT

Page 4: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0
Page 5: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

uredoin

itrite

uredoin

itrite

CC-BY-SA from http://www.flickr.com/photos/ykjc9/4143179870

Page 6: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

3 big ideas

1. learning is designable like code2. our brains are snowflakes3. we do not function standalone

Page 7: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

1Design your learningthe same way

you design your code

Design your learningthe same way

you design your code

Page 8: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

think-pair-share

Page 9: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Which comes first?

A. (vague) specification

B. (occasionally-functional) prototype

C. (rough) test(s)

Page 10: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Example: test-driven developmentdef factorial(n):

"""Return the factorial of n, an exact integer >= 0.

>>> [factorial(n) for n in range(6)]

[1, 1, 2, 6, 24, 120]"""

result = 1

factor = 2

while factor <= n: (shamelessly stolen from

result *= factor http://docs.python.org/2/library/doctest.html)

factor += 1

return result

Page 11: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Example: test-driven developmentdef factorial(n):

"""Return the factorial of n, an exact integer >= 0.

>>> [factorial(n) for n in range(6)]

[1, 1, 2, 6, 24, 120]"""

result = 1

factor = 2

while factor <= n: (shamelessly stolen from

result *= factor http://docs.python.org/2/library/doctest.html)

factor += 1

return result

what should it do?

how will I know if it works?

ok, now how do I make it work?

Page 12: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Example: test-driven developmentdef learn_tdd(student):

"""Students should be able to analyze the relationship between a doctest, the function under test, and the test output.

>>> [learn_tdd(student) for student in class]

[True, True, True, True, True]"""

fun_activity_thing() student.doctestability = True return student.doctestability

Page 13: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Example: test-driven developmentdef learn_tdd(student):

"""Students should be able to analyze the relationship between a doctest, the function under test, and the test output.

>>> [learn_tdd(student) for student in class]

[True, True, True, True, True]"""

fun_activity_thing() student.doctestability = True return student.doctestability

content (goal)

assessment

pedagogy (activity)Further reading: Understanding By Design

Page 14: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

dependency: articulate clear

and assessible goals

Page 15: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Example: test-driven developmentdef curriculum(student):

"""Students should be able to analyze the relationship between a doctest, the function under test, and the test output.

>>> [curriculum(student) for student in class]

[True, True, True, True, True]"""

fun_activity_thing() student.doctestability = True return student.doctestability

Bloom's taxonomy

Page 16: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Bloom's TaxonomyCognitive Affective

create

evaluate

analyze

apply

understand

remember

characterize

organize

value

respond

receive

Page 17: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Example: test-driven developmentdef curriculum(student):

"""Students should be able to analyze the relationship between a doctest, the function under test, and the test output.

>>> [curriculum(student) for student in class]

[True, True, True, True, True]"""

fun_activity_thing() student.doctestability = True return student.doctestability

behaviorism

Page 18: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0
Page 19: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

bostonpythonworkshop.com

Page 20: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

CC-BY http://www.flickr.com/photos/katrzyna/69324073

assessmentassessment

Formative: cookingFormative: cookingSummative: servingSummative: serving

Page 21: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0
Page 22: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

bit.ly/pycon-eduhistorybit.ly/pycon-eduhistory

Page 23: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Cognitive

Page 24: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

uredoin

itrite

uredoin

itrite

CC-BY-SA from http://www.flickr.com/photos/ykjc9/4143179870

Page 25: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

3 big ideas

1. learning is designable like code2. our brains are snowflakes3. we do not function standalone

Page 26: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

2Our brains arelike snowflakes.Everyone learns

differently.

Page 27: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

think-pair-share

Page 28: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

ACTIVE

SENSING

VISUAL

SEQUENTIAL

REFLECTIVE

INTUITIVE

VERBAL

GLOBAL

Page 29: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

ACTIVE: Let's try it out!ACTIVE: Let's try it out!

REFLECTIVE: Let's think it through!REFLECTIVE: Let's think it through!

Page 30: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Example: test-driven developmentdef factorial(n):

"""Return the factorial of n, an exact integer >= 0.

>>> [factorial(n) for n in range(6)]

[1, 1, 2, 6, 24, 120]"""

result = 1

factor = 2

while factor <= n: (shamelessly stolen from

result *= factor http://docs.python.org/2/library/doctest.html)

factor += 1

return result

Page 31: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

This sucks.This sucks.This sucks.This sucks.

Page 32: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

ACTIVE: explainey-groups!ACTIVE: explainey-groups!REFLECTIVE: claim your pauses.REFLECTIVE: claim your pauses.

Page 33: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

think-pair-share

Page 34: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

ACTIVE

SENSING

VISUAL

SEQUENTIAL

REFLECTIVE

INTUITIVE

VERBAL

GLOBAL

Page 35: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

SENSING

INTUITIVE

Page 36: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

(details)

(concepts)

Page 37: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

(established methods)

(new shiny techniques)

Page 38: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

(speed up)

(slow down)

Page 39: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

How does this connectwith the world I know?

How can thisabstract more generally?

Page 40: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

think-pair-share

Page 41: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

ACTIVE

SENSING

VISUAL

SEQUENTIAL

REFLECTIVE

INTUITIVE

VERBAL

GLOBAL

Page 42: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

bit.ly/pycon-eduhistorybit.ly/pycon-eduhistory

VISUALVISUAL

Page 43: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

bit.ly/pycon-eduparadigmsbit.ly/pycon-eduparadigms

VERBALVERBAL

Page 44: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

cc-by http://larjona.files.wordpress.com/2011/09/eclipse-pydev.png

environments matterenvironments matter

Page 45: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

think-pair-share

Page 46: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

ACTIVE

SENSING

VISUAL

SEQUENTIAL

REFLECTIVE

INTUITIVE

VERBAL

GLOBAL

Page 47: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0
Page 48: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

newcoder.io/dataviz

Page 49: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

learnpythonthehardway.org/book

Page 50: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

think-pair-share

Page 51: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

ACTIVE

SENSING

VISUAL

SEQUENTIAL

REFLECTIVE

INTUITIVE

VERBAL

GLOBAL

Page 52: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

We teach the way we learn.

more: bit.ly/hackerschool-learningstylestories(Felder & Silverman)

Page 53: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

the world is socially constructed

Page 54: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

the world is socially constructed(of course it is)

Page 55: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Watch those assumptions.

If it's hard, something's wrong with me

Page 56: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Watch those assumptions.

If it's hard, something's wrong with the learning strategy I'm using

(I can fix that!)

Page 57: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Motivation

Page 58: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Motivation (Deci, Ryan)1. amotivation2. external regulation3. identified regulation4. intrinsic motivation

autonomyrelatednesscompetence

(thanks to Jon Stolk, Rob Martello, Mark Somerville, and the Olin College I2E2 crew)

Page 59: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Attribution theory (Dweck)

Fixed vs Growth mindsetsaka

Nature vs Nurture

Page 60: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Self-efficacy (Bandura)

1. doing it2. seeing people (like me) do it3. social persuasion4. your own body

(Bandura also did social learning, which is a lot of fun – look it up!)

Page 61: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0
Page 62: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Learning Over Time (Fullan)

Page 63: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Piaget In One Slide

assimilation: adding another moduleaccommodation: REFACTOR EVERYTHING

Page 64: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

assimilation------------accommodation------------------------------------------------

assimilation

Page 65: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Situative

Page 66: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

uredoin

itrite

uredoin

itrite

CC-BY-SA from http://www.flickr.com/photos/ykjc9/4143179870

Page 67: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

3 big ideas

1. learning is designable like code2. our brains are snowflakes3. we do not function standalone

Page 68: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

3We do not learnstandalone.Importing isimportant.

Page 69: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0
Page 70: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

WARNING:POLYSYLLABIC

WORDSIMMINENT

Page 71: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

accidental learning in cognitive apprenticeships within authentic

communities of practice with metacognition models and

formative feedback to develop self-efficacy and self-

determination

Page 72: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Accidental learning.

Page 73: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Cognitive apprenticeship.

modelmodelcoachcoachscaffoldscaffoldfadefade bit.ly/pycon-cogapp

Page 74: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Dreyfus Model of Skill Acquisition

expert

proficient

competent

advanced beginner

novice

Page 75: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

CC-BY-SA by woodleywonderworks (http://www.flickr.com/photos/wwworks/2985216277/)

context?context?

Page 76: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

CC-BY-SA by eschipul (http://www.flickr.com/photos/eschipul/278768722/)

context!context!

Page 77: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

clarityclarity constraintconstraint

freedomfreedom frustrationfrustrationCC-BY-SA by ginnerobot (http://www.flickr.com/photos/ginnerobot/4487647471/) CC-BY by NatalieMaynor (http://www.flickr.com/photos/nataliemaynor/2539937014/)

Page 78: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Community of practice.Community of practice.

domaindomaincommunitycommunitypracticepractice

Page 79: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

In a cognitive apprenticeship within a community of practice... zone of proximal development

legitimate peripheral participation

Page 80: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Zone of proximal development: learning to bike

1. watching2. somebody pushes you3. wheeeeeeeeeeeeeeeeeeeeeeee

Page 81: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Zone of proximal development: learning to program

1. watching2. somebody pushes you3. wheeeeeeeeeeeeeeeeeeeeeeee

Page 82: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Zone of proximal development: learning to program

1. watching2. pair programming, code review, etc...3. wheeeeeeeeeeeeeeeeeeeeeeee

Page 83: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

MYTHS:

not skilled enoughnot skilled enoughnot technical enoughnot technical enough

(perhaps later but surely not now)(perhaps later but surely not now)

Page 84: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Legitimate Peripheral Participation Task Criteria

1. mission critical

3. nobody really cares

Page 85: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Legitimate Peripheral Participation Task Criteria

1. mission critical2. we have no time3. nobody really cares

Page 86: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

accidental learning in cognitive apprenticeships within authentic

communities of practice with metacognition models and

formative feedback to develop self-efficacy and self-

determination

Page 87: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

Why? Because this.

Page 88: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

'' ...the first steps on this journey do not feel like progress....the first steps on this journey do not feel like progress. The The voice diminishes in volume; it lacks... even the derived authority voice diminishes in volume; it lacks... even the derived authority of those who... can assume as they parrot... they speak the of those who... can assume as they parrot... they speak the truth... The inner voice turns critical; it tells them their ideas truth... The inner voice turns critical; it tells them their ideas may be stupid. Women at this position think before they speak; may be stupid. Women at this position think before they speak; and, because their ideas must measure up to certain objective and, because their ideas must measure up to certain objective standards, they speak in measured tones. standards, they speak in measured tones. Often, they do not speak at all. Often, they do not speak at all. But this is not a passive silence; on the other side of this silence, But this is not a passive silence; on the other side of this silence, reason is stirringreason is stirring.' --Women's Ways of Knowing.' --Women's Ways of Knowing

Page 89: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

'...confirmation and community are prerequisites rather than '...confirmation and community are prerequisites rather than consequences of development.'consequences of development.'

--Women's Ways of Knowing --Women's Ways of Knowing

Page 90: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

uredoin

itrite

uredoin

itrite

CC-BY-SA from http://www.flickr.com/photos/ykjc9/4143179870

Page 91: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

1. learning is designable like code2. our brains are snowflakes3. we do not function standalone

3 big ideas

Page 92: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

1. learning is designable like code 2. our brains are snowflakes 3. we do not function standalone

processempathyvocabulary

3 big ideas

Page 93: PyCon Toronto 2013: EduPsych Theory for Python Hackers 2.0

that's all, folks. questions?that's all, folks. questions?

this talkthis talk

my workmy work

bit.ly/pycon-toronto-edupsychbit.ly/pycon-toronto-edupsychmelchua.com/contactmelchua.com/contact