programming is terriblelessons learned from a life wasted

Scratch: Programming for Everyone

Scratch: Programming for Everyone (web.media.mit.edu)

What happened to the initial enthusiasm for introducing programming to children? Why did Logo and other initiatives not live up to their promise? There were several factors:

  • Early programming languages were too difficult to use. Many children had difficulty mastering the syntax of programming.
  • Programming was often introduced with activities (generating lists of prime numbers, or making simple line drawings) that were not connected to young people’s interests or experiences.
  • Programming was often introduced in contexts where no one had the expertise needed to provide guidance when things went wrong – or encourage deeper explorations when things went right.

Papert argued that programming languages should have a low floor (easy to get started with) and a high ceiling (opportunities for increasingly complex projects over time). In addition, we believe that languages need wide walls (supporting many different types of projects, so that people with different interests and learning styles can all become engaged). Satisfying the triplet of low-floor/high-ceiling/wide-walls hasn’t been easy.