Post on 16-Jul-2015
Learning Learning researchresearchfor hackersfor hackers
(hacker school w2015)(hacker school w2015)
school
hacking
ProductivelyProductivelyLostLost
uredoin
itrite
CC-BY-SA from http://www.flickr.com/photos/ykjc9/4143179870
This talk's big ideas1. A member of the hacking community is a hacker.2. Design learning like code.3. The Chipotle Coding Menu4. How learning works (we think)
1A HackerA Hackeris someoneis someonethat other that other hackershackers
call a hacker.call a hacker.
Community of Community of practice.practice.
domaindomaincommunitycommunitypracticepractice
In a cognitive In a cognitive apprenticeship within a apprenticeship within a community of practice...community of practice... zone of zone of proximal developmentproximal development
legitimate peripheral legitimate peripheral participationparticipation
Zone of proximal development:
learning to bike
Zone of proximal development:
learning to bike1. watching2. somebody pushes you3.wheeeeeeeeeeeeeeeeeeeeeeee
Zone of proximal development:
learning to program
Zone of proximal development:
learning to program1. watching2. pairing, code review, etc3.wheeeeeeeeeeeeeeeeeeeeeeee
MYTHS:not skilled enoughnot skilled enough
not technical enoughnot technical enough(perhaps later but (perhaps later but
surely not now)surely not now)
CC-BY http://www.flickr.com/photos/pasukaru76/5060447506
Legitimate Peripheral Legitimate Peripheral ParticipationParticipation
Legitimate Peripheral Legitimate Peripheral ParticipationParticipation
these are the jobs these are the jobs you're looking foryou're looking forthese are the jobs these are the jobs you're looking foryou're looking for
LPP Task CriteriaLPP Task Criteria
1. mission critical (no)2. we have no time (YES)3. nobody really cares (no)
Situative
bit.ly/pycon-eduhistorybit.ly/pycon-eduhistorybit.ly/pycon-eduparadigmsbit.ly/pycon-eduparadigms
2Design your Design your learning learning
the way you the way you design your design your
code.code.
Example 1: This project is a text editor, mail and news reader,
debugger, project planner, calendar, and natural language
processing demo for simulating a human.
Example 2: This project is a distributed version control system
designed to handle everything from small to very large projects with
speed and efficiency.
Example: test-driven development
(shamelessly stolen from http://docs.python.org/2/library/doctest.html)
Example: test-driven development
(shamelessly stolen from http://docs.python.org/2/library/doctest.html)
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:
factor += 1
return result
Example: test-driven development
(shamelessly stolen from http://docs.python.org/2/library/doctest.html)
Example: test-driven development
(shamelessly stolen from http://docs.python.org/2/library/doctest.html)
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:
factor += 1
return result
What should it do?What should it do?
How will I knowif it's done?
How will I knowif it's done?
Okay, let's do it.Okay, let's do it.
Example: test-driven learning
bit.ly/test-driven-learning
Example: test-driven learning
bit.ly/test-driven-learningdef learn_factorial(n):
"""Be able to implement a factorial function with doctests.
>>> is_blog_post_with_git_commit_done()
True"""
read_tutorial(fa)
pair_program(Mary)
push(code, github)
ask_for_help(Julia, blogging)
ContentContent
AssessmentAssessment
PedagogyPedagogy
Content you care aboutMotivation (Deci, Ryan)
Content you care aboutMotivation (Deci, Ryan)
1. amotivation2. external regulation3. identified regulation4. intrinsic motivation
autonomyrelatedness
competence
(thanks to Jon Stolk, Rob Martello, Mark Somerville, and the Olin College I2E2 crew)
(thanks to Jon Stolk, Rob Martello, Mark Somerville, and the Olin College I2E2 crew)
CC-BY http://www.flickr.com/photos/katrzyna/69324073
assessmentassessmentassessmentassessment
Formative: cookingFormative: cookingSummative: servingSummative: serving
3The ChipotleThe ChipotleCoding MenuCoding Menu
RelationshipRelationshipProduct Diagnostic Collaborative
Confrontational
ContentContent
[Test Driven Learning goal goes here]
TechniqueTechniqueModeling
ScaffoldingCoaching
Yes-AndingRubber-Ducking
ExtrasExtrasLearning style?Motivation type?
Skill level?
4How learning How learning worksworks
(as far as we (as far as we know)know)
CC-BY-SA by woodleywonderworks (http://www.flickr.com/photos/wwworks/2985216277/)
novice
CC-BY-SA by eschipul (http://www.flickr.com/photos/eschipul/278768722/)
expert
Dreyfus Model of Skill Acquisition
Dreyfus Model of Skill Acquisition
Novice – Competent – Proficient – Expert
clarityclarity constraintconstraint
freedomfreedom frustrationfrustration
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/)
Why?Why?
Because Piaget.
Piaget In One SlidePiaget In One Slide
assimilation: adding another moduleaccommodation: REFACTOR
EVERYTHING
assimilation
---------accommodation------------------------
assimilation
Piaget + Dreyfus = Spiral learning
Piaget + Dreyfus = Spiral learning
Learning Over Time (Fullan)
Learning Over Time (Fullan)
Cognitive
Interleave (related stuff)Separate (in time)Struggle (like a muscle)
Interleave (related stuff)Separate (in time)Struggle (like a muscle)
How to learn deeply
Build habits by reflecting.
Attribution theory (Dweck)
Attribution theory (Dweck)
Fixed vs Growth mindsetsaka
Nature vs Nurture
FAIL #1: Assumption of privilege
FAIL #1: Assumption of privilege
If it's hard, something's wrong with me
vsIf it's hard, something's wrong
with it (I can fix that!)
I (think I) canSelf-efficacy (Bandura)
I (think I) canSelf-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!)
(Bandura also did social learning, which is a lot of fun – look it up!)
Daphne's QuestionsDaphne's Questions● What are you trying to do and how will you
tell that it’s working?● What does this part do? What happens
when you take it out?● What does this function do? What would
you use it for somewhere else? Where is it called?
● Why are you taking this approach?● Why are you working on this?
http://blackfemalecoders.tumblr.com/post/63601111261/on-becoming-a-confident-hacker
http://blackfemalecoders.tumblr.com/post/63601111261/on-becoming-a-confident-hacker
uredoin
itrite
CC-BY-SA from http://www.flickr.com/photos/ykjc9/4143179870
ProductivelyProductivelyLostLost