5. This talk's big ideas
1. A member of the hacking
community is a hacker.
2. Design learning like code.
3. The Chipotle Coding Menu
4. How learning works (we think)
6. 1
A HackerA Hacker
is someoneis someone
that otherthat other
hackershackers
call a hacker.call a hacker.
8. In a cognitiveIn a cognitive
apprenticeship within aapprenticeship within a
community of practice...community of practice...
zone ofzone of
proximal developmentproximal development
legitimate peripherallegitimate peripheral
participationparticipation
9. Zone of proximal
development:
learning to bike
Zone of proximal
development:
learning to bike
1. watching
2. somebody pushes you
3.wheeeeeeeeeeeeeeeee
eeeeeee
10. Zone of proximal
development:
learning to program
Zone of proximal
development:
learning to program
1. watching
2. pairing, code review, etc
3.wheeeeeeeeeeeeeeeee
eeeeeee
11. MYTHS:
not skilled enougnot skilled enoug
not technical enougnot technical enoug
(perhaps later b(perhaps later b
surely not nowsurely not now
17. 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.
18. 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
19. 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 know
if it's done?
How will I know
if it's done?
Okay, let's do it.Okay, let's do it.
21. Content you care about
Motivation (Deci, Ryan)
Content you care about
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)
(thanks to Jon Stolk, Rob Martello, Mark Somerville,
and the Olin College I2E2 crew)
42. 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.
44. FAIL #1: Assumption
of privilege
FAIL #1: Assumption
of privilege
If it's hard, something's wrong
with me
vs
If it's hard, something's wrong
with it
(I can fix that!)
45. I (think I) can
Self-efficacy (Bandura)
I (think I) can
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!)
(Bandura also did social learning, which is a lot of fun
– look it up!)
46. 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/6360111126
1/on-becoming-a-confident-hacker
http://blackfemalecoders.tumblr.com/post/6360111126
1/on-becoming-a-confident-hacker