where's the play in programming?

Post on 14-Jan-2015

1.665 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Given at BarCampSD4, 16 Nov 2008.

TRANSCRIPT

Where’s the play in programming?

Aaron VonderHaarBarCampSD4

Why program?

What makes programming fun?

• The joy of figuring things out

• Exercising creativity

• Collaborating with others

• Each skill gives you new things to play with

Barriers to enjoying programming

• “too technical”

• hard to get the tools

• don’t know where to start

• many prerequisite skills

• no stable feedback loop

How to make programming fun

• break up new knowledge into small chunks

• each new skill should give results

• reduce the prerequisite knowledge

• make it easy to get and use the tools

• smile

Teaching Java programming

• Grades 4-12

• “Programming should be fun!”

• Student-directed projects

http://wintrisstech.org

Demo student games

not just for geekshttp://flickr.com/photos/mikegoldberg/960968569/

Barriers to enjoying programming

• “too technical”

• hard to get the tools

• don’t know where to start

• many prerequisite skills

• no stable feedback loop

(review)

Usability of programming tools is

a barrier

How much of a barrier?

• Setting up a programming project

• Number of steps is a crude metric

• Pre-condition:at Google search results page

• Post-condition:typing code

But first, a baseline...Writing a story

Writing a story: 1

Writing a story: DONECompleted in 2 steps

One more example from the arts...

Playing a keyboard

Keyboard: 1

Keyboard: 2

Keyboard: 3

Keyboard: 4

Keyboard: DONECompleted in 5 steps

Now for some real programming...

Ruby on Rails

Rails: 1

Rails: 2

Rails: 3

Rails: 4

Rails: 5

Rails: 6

Rails: 7

Rails: 8

Rails: 9

Rails: 10

Rails: 11

Rails: 12

Rails: 13

Rails: 14

Rails: DONECompleted in 15 steps

The programming I grew up with...

QBASIC

QBASIC: 1

QBASIC: 2

QBASIC: 3

QBASIC: 4

QBASIC: 5

QBASIC: DONECompleted in 6 steps

What I teach my students...

Java Application in NetBeans

NetBeans: 1

NetBeans: 2

NetBeans: 3

NetBeans: 4

NetBeans: 5

NetBeans: 6

NetBeans: 7

NetBeans: 8

NetBeans: 9

NetBeans: 10

NetBeans: 11

NetBeans: 12

NetBeans: 13

NetBeans: 14

NetBeans: 15

NetBeans: 16

NetBeans: DONECompleted in 17 steps

How kids like their NetBeans

Default NetBeans Kids’ NetBeans

Mobile apps are what kids will be using...

iPhone Application

iPhone SDK: 1

iPhone SDK: 2

iPhone SDK: 3

iPhone SDK: 4

iPhone SDK: 5

iPhone SDK: 6

iPhone SDK: 7

iPhone SDK: 8

iPhone SDK: 9

iPhone SDK: 10

iPhone SDK: 11

iPhone SDK: 12

iPhone SDK: 13

iPhone SDK: 14

iPhone SDK: 15

iPhone SDK: 16

iPhone SDK: 17

iPhone SDK: 18

iPhone SDK: 19

iPhone SDK: 20

iPhone SDK: 21

iPhone SDK: 22

iPhone SDK: 23

iPhone SDK: 24

iPhone SDK: 25

iPhone SDK: 26

iPhone SDK: 27

iPhone SDK: 28

iPhone SDK: DONECompleted in 29 steps

Programming online...

Heroku.com

Heroku: 1

Heroku: 2

Heroku: 3

Heroku: 4

Heroku: 5

Heroku: 6

Heroku: 7

Heroku: 8

Heroku: 9

Heroku: DONECompleted in 10 steps

“Technical” hobbies take more steps

Writing a story

Playing a keyboard

QBASIC

Heroku.com

Ruby on Rails

NetBeans

iPhone SDK

0 5 10 15 20 25 30

Number of steps

One-time setup Per-project setup

end

bcsd4@avh4.nettwitter.com/avh4wintrisstech.org

top related