Based on my PyCon talk "EduPsych Theory for Python Hackers," here are the slides for my Summer 2013 Hacker School talk. The intent is to give this summer's batch of Hacker Schoolers ways to metacogitate about the self-directed learning they're embarking on.
7. Example: test-driven development
def 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
8. Example: test-driven development
def 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?
9. Example: test-driven development
def learn_tdd(student):
"""Students should be able to analyze the relationship between
a doctest, thefunction under test, and the test output.
>>> [learn_tdd(student) for student inclass]
[True, True, True, True, True]"""
fun_activity_thing()
student.doctestability = True
return student.doctestability
10. Example: test-driven development
def learn_tdd(student):
"""Students should be able to analyze the relationship between
a doctest, thefunction under test, and the test output.
>>> [learn_tdd(student) for student inclass]
[True, True, True, True, True]"""
fun_activity_thing()
student.doctestability = True
return student.doctestability
content (goal)
assessment
pedagogy (activity)
Further reading: Understanding By Design
12. Example: test-driven development
def curriculum(student):
"""Students should be able to analyze therelationship between
a doctest, thefunction 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
14. Example: test-driven development
def curriculum(student):
"""Students should be able to analyze the relationship between
a doctest, thefunction 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
(we'll come back to this at the end)
17. the world is socially constructed
(of course it is)
18. accidental learning in cognitive
apprenticeships within authentic
communities of practice with
metacognition models and
formative feedback to develop
self-efficacy and self-
determination
29. tasting == assessment
Formative: in-progress (code reviews, informalchats)
'tasting the food on the stove'
Summative: at the end (GRADE GRADE GRADE)
'tasting the food on the plate'
31. In a cognitive apprenticeship within a
community of practice...
zone of proximal development
legitimate peripheral participation
32. Zone of proximal development:
learning to bike
1. watching
2. somebody pushes you
3. wheeeeeeeeeeeeeeeeeeeeeeee
33. Zone of proximal development:
learning to program
1. watching
2. somebody pushes you
3. wheeeeeeeeeeeeeeeeeeeeeeee
34. Zone of proximal development:
learning to program
1. watching
2. pair programming, code review, etc...
3. wheeeeeeeeeeeeeeeeeeeeeeee
35. MYTHS:
not skilled enoughnot skilled enough
not technical enoughnot technical enough
(perhaps later but surely not now)(perhaps later but surely not now)
50. Self-efficacy (Bandura)
1. doing it
2. seeing people (like me) do it
3. social persuasion
4. your own body
(Bandura also did social learning, which is a lot of fun – look it up!)
52. Motivation (Deci, Ryan)
1. amotivation
2. external regulation
3. identified regulation
4. intrinsic motivation
autonomy
relatedness
competence
(thanks to Jon Stolk, Rob Martello, Mark Somerville, and the Olin College I2E2 crew)
53. accidental learning in cognitive
apprenticeships within authentic
communities of practice with
metacognition models and
formative feedback to develop
self-efficacy and self-
determination
55. ''...thefirst steps on this journey do not feel like progress....thefirst steps onthis journey do not feel like progress. TheThe
voice diminishes involume; it lacks... even thederived authorityvoice diminishes involume; it lacks... even thederived authority
of thosewho... can assume as they parrot... they speak theofthosewho... can assume as they parrot... they speak the
truth... The inner voice turns critical; it tells themtheir ideastruth... The inner voice turns critical; it tells themtheir ideas
maybestupid. Women at this position think before they speak;maybestupid. Women at this position think before they speak;
and, because their ideas must measure up to certain objectiveand, because their ideas must measure up to certain objective
standards, theyspeak in measured tones.standards, theyspeak in measured tones.
Often, they do not speakat all.Often, they do not speakat all.
But this is not a passive silence; on the other side ofthis silence,But this is not a passive silence; on the other side ofthis silence,
reason is stirringreason is stirring.' --Women's Ways ofKnowing.' --Women's Ways ofKnowing
56. '...confirmation and community are prerequisites rather than'...confirmation and community are prerequisites rather than
consequences ofdevelopment.'consequences ofdevelopment.'
--Women's Ways ofKnowing--Women's Ways ofKnowing
58. that's all, folks. questions?that's all, folks. questions?
this talkthis talk
my workmy work
bit.ly/hackerschool-edupsychbit.ly/hackerschool-edupsych
melchua.com/contactmelchua.com/contact