goto fail; — Challenges and Considerations for Teaching Programming to Kids
Slides for Ben Gotow’s lightning talk at Click 2014.
Ben runs Foundry 376, a mobile development shop based in Nashville. He studied Human Computer Interaction at Carnegie Mellon, with a focus in educational technology.
Let’s
Get
Programming
§ Give
children
the
tools
to
be
creators
and
empower
them
to
build.
§ Programming
teaches:
§ Logic
and
reasoning
§ Emotional
development
§ How
other
subjects
can
be
applied
Failure
§ To
learn
to
program,
you
need
to
build
a
mental
model
of
the
environment
you’re
working
in.
Fail,
understand
what
happened,
try
again.
§ Failure
is
extremely
frustrating,
and
school
teaches
us
that
failure
is
bad.
§ Help
students
think
through
failure,
build
hypotheses,
and
decide
what
to
try
next.
§ Treat
failure
as
well
as
success
as
progress
in
learning.
Learning
Paths
§ Everyone
learns
at
different
rates,
and
this
is
especially
true
of
programming.
§ Self
guided
practice
time
leads
to
unchecked
learning.
§ Small
groups
are
awesome.
§ Enlist
students
to
help
their
classmates
learn.
§ Allow
students
to
make
their
own
projects
so
work
isn’t
directly
comparable.
Lots
of
Questions
§ Once
students
start
building
off
their
own
ideas,
they’ll
ask
about
things
you
don’t
know.
§ “When
I
send
an
email,
how
does
it
know
where
to
go?”
-‐
Kindergartener
§ Show
students
how
to
use
online
resources.
§ Use
class
time
to
reinforce
debugging
and
problem
solving
skills,
let
students
learn
speciUic
tools
on
their
own.
No
Right
Answers
§ Once
students
get
through
introductory
materials,
there
often
aren’t
right
answers.
§ Help
students
create
goals
and
establish
whether
they’ve
reached
their
goals.
§ Focus
on
what