Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Teaching Programming

Teaching Programming

Slides and notes for Eliza Brock’s lightning talk at Click 2014.

Eliza is a Nashville developer and instructor at Nashville Software School.

Jason Orendorff

March 08, 2014
Tweet

More Decks by Jason Orendorff

Other Decks in Education

Transcript

  1. T E A C H I N G
    P R O G R A M M I N G
    E L I Z A B R O C K
    I N S T R U C T O R , N A S H V I L L E S O F T WA R E S C H O O L
    Hi! I’m Eliza Brock. I’m an instructor at Nashville Software School, where I teach the advanced software development course. I’m here today to talk to you
    about my experiences in teaching programming.
    !
    To start off, let’s talk about what programming is, exactly.

    View Slide

  2. T H I N K I N G A B O U T T H I N K I N G
    P R O G R A M I N G I S :
    In my view, programming is, primarily, an analytical process wherein we take human thought and shape it into something that can be expressed to and via
    a computer in a very literal way.

    View Slide

  3. F R A M I N G T H E P R O B L E M
    P R O G R A M M I N G I S
    I think that the most fundamental skill required by and developed in programming is the ability to properly frame problems.

    View Slide

  4. T W O T R A I N S :
    • Train A leaves the station
    at 2:15, going 20 miles per
    hour
    • Train B Leaves the station
    at 3:00, going 45 miles per
    hour
    • When do they collide?
    My favorite way to illustrate this is with the Train Problem.
    !
    2 trains leave a station. The first train travels 20 miles per hour. The second leaves 45 minutes late traveling 45 miles per hour. When do they collide?

    View Slide

  5. B
    X : 0
    4 5 M P H
    A
    X : 1 5
    2 0 M P H
    T H E H A R D WAY:
    !
    T R A I N A L E A V E S T H E S TA T I O N A T 2 : 1 5 , G O I N G 2 0 M I L E S P E R H O U R
    T R A I N B L E A V E S T H E S TA T I O N A T 3 : 0 0 , G O I N G 4 5 M I L E S P E R H O U R
    ?
    I’m not going to lie. The first time I was shown this problem, I thought “Oh, snap. We’re going to have to use calculus”. On the surface, this is a hard
    problem to solve, with multiple moving objects going at different speeds.
    !
    However, my teacher’s purpose in showing us this problem wasn’t to teach us math. It was to teach us about how to frame (and reframe) problems.

    View Slide

  6. T H E E A S Y WAY:
    R E F R A M E T H E P R O B L E M
    T R A I N A L E A V E S T H E S TA T I O N A T 2 : 1 5 , G O I N G 2 0 M I L E S P E R H O U R
    T R A I N B L E A V E S T H E S TA T I O N A T 3 : 0 0 , G O I N G 4 5 M I L E S P E R H O U R
    B
    X : - 1 5
    2 5 M P H
    A
    X : 0
    In this case, you can take all the pain out of the calculations by treating Train A as a fixed point, and using relative velocity. It doesn’t matter where the
    trains are in space. It only matters that Train B is 15 miles away from Train A and headed towards it at a relative velocity of 25 miles per hour.
    !
    This is the single most valuable thing I learned in physics and I think about it constantly in my work. The moment you reframe the problem, it solves itself.

    View Slide

  7. T E A C H I N G
    TA K E S
    L E A R N I N G
    Teaching takes learning. I get better at programming every time I teach.

    View Slide

  8. W E A R E A L L S T U D E N T S ? !
    So, when it comes down to it, whether professional educators or professional programmers, we are all students.

    View Slide

  9. A I M U P A N D T O T H E R I G H T
    S T U D E N T
    P R O G R E S S
    O V E R T I M E
    As long as our skills are going up and to the right, we’re doing it right. It doesn’t matter if you start out at 10% or 90%, as long as you’re learning.
    While we’re at it, though, comparing yourself to your peers is a losing game

    View Slide

  10. T H E S T U D E N T P E R C E P T I O N
    This is a student’s perception of three of their peers.
    !
    It looks like the guy in the middle is a rock star, right?

    View Slide

  11. T H E S T U D E N T P E R C E P T I O N
    I S W R O N G
    Nope. Novices can only really perceive each other’s confidence. Not their actual skills.

    View Slide

  12. T H E R E A L I T Y
    The reality is that every student has a spectrum of skills that they’re working on. Each person has strengths and weakness that can’t be summed up with a
    ranking.

    View Slide

  13. T H E D U N N I N G - K R U G E R E F F E C T
    And, to top it off, people are just awful at self-evaluation.

    View Slide

  14. W H AT I T E L L M Y S T U D E N T S
    So, here’s what I tell my students.

    View Slide

  15. Y O U H AV E T O
    D O I T, N O T
    R E A D I T
    Trying to learn programming without actually programming is about as effective as trying learning to ride a bike without a bicycle.

    View Slide

  16. Y O U ’ R E N O T D U M B

    View Slide

  17. Y O U R J O B I S T O G E T U P A N D T O T H E
    R I G H T
    0
    25
    50
    75
    100
    Progress Over Time
    0 3 6 9 12
    It doesn’t matter how fast you’re going and it doesn’t matter if you have set backs.
    Your job is to get up and to the right. If you’re concerned that someone else is getting there faster, remember that…

    View Slide

  18. M Y J O B I S T O G E T Y O U B U N C H E D U P
    0
    25
    50
    75
    100
    Value Axis
    0 3 6 9 12
    My job is to get you bunched up on your way up.

    View Slide

  19. T H E R E A R E S T U P I D Q U E S T I O N S .
    A S K T H E M A N Y WAY
    S E R I O U S LY. W E ’ R E N O T F O O L I N G T H E M W H E N
    W E S AY, “ T H E R E A R E N O S T U P I D Q U E S T I O N S ” .
    There are stupid questions. Ask them anyway.
    !
    *Seriously. We’re not fooling them when we say “There are no Stupid questions”. Of course there are. But, we all have to go through phases of learning
    when we don’t yet have a frame of reference for asking good questions. It’s fact of life.

    View Slide

  20. I M A G E C R E D I T S :
    Girl with Camera: http://www.flickr.com/photos/skippy/208393621/
    Train Station: http://www.flickr.com/photos/brostad/2764467121/
    Train Tracks: http://www.flickr.com/photos/pagedooley/3351663193/
    Citadel: http://www.flickr.com/photos/[email protected]/11653306543/
    Girl with Hands on Ears: http://www.flickr.com/photos/bolonski/6899771379/
    Graphs created with: https://infogr.am
    Tent in the Mountains: default Keynote stock imagery
    Dodo: http://www.flickr.com/photos/arminflikr/55192044/
    Starry Evening: http://www.flickr.com/photos/izzie_whizzie/1172195060/
    Foggy Day: http://www.flickr.com/photos/alicepopkorn/8141067886/

    View Slide