All children should learn to program, not because it may lead to a job, but because it is a new liberal art and grants young people agency over an increasingly and technologically sophisticated world. At a time of rising authoritarianism and science denialism, it seems prudent to provide kids with experiences that develop a systematic way of making sense of the world. It may literally be the least we can do.

click to enlarge

Current approaches to teaching computing to kids suffer from the traditional failures of curriculum development and too often fall prey to the following desires:

  • vocabulary acquisition
  • a condescending view of teacher competence
  • convenience
  • frugality
  • ignorance of the intellectual euphoria associated with bending a computer to your will
  • offering students an illusion of agency without actual power
  • speed

The calls for “CS for All” are right out of the timeless schooling playbook; require a new subject without a requisite investment of funds or imagination and reduce it the sort of lifeless content devoid of experience that is easily tested. For extra credit, “demonstrate” that some students just don’t have a facility for the subject. A bell curve would be swell, but the real goal is for the “new subject” to fail with only children and their teachers to blame.

Scope & sequence from Microsoft’s CS curriculum for the micro:bit. https://makecode.microbit.org/courses/csintro

There is no better way to explain the quality of computer science curricula being developed for school use. Much of this curriculum is designed by interns or the very same educators who presided over the death of interest in CS. In many cases, the curriculum focuses on isolated topics, rather than on doing. What can a student do with the information being taught? Fluency is the goal!

(IMHO) Computer programming is not a means to demonstrate understanding of computer science jargon or even a technical act. At its best, computer programming a form of composition – like writing, music composition, painting, sculpting, or dancing. A handful of carefully designed assignments does not make one a computer programmer any more than it produces authors, musicians, or artists.

Computer programming mediates a conversation between the person and herself. Skills and habits of mind emerge from acts of creation, development, and debugging. One might think about this in terms of the purest forms of project-based learning where the project is a teacher’s smallest unit of concern and students are free to lose themselves in the process of realizing something that matters to them.

Great expertise is developed by identifying things that bother you, a laser-like focus on overcoming that obstacle, and the emergence of a new thing that bothers to you as you approach your temporary goal. This phenomena maps perfectly to the process of programming and debugging. It also matches a young person’s remarkable capacity for intensity while mirroring the writing process and other forms of composition.

Show kids a primitive or two and see what they can do with it. The genius of “Logo family” languages, like MicroWorlds, Lynx, Scratch, Snap!, TurtleStitch, Beetleblocks,  Turtle Art, or perhaps even MakeCode is that seemingly infinite world of complexity can be realized with a handful of commands or blocks. With forward and right, you can draw anything in the universe. New commands, reporters, variables, conditionals, and control structures may be introduced to students as they need them. Programming elegance results from constraints or experience. Since microcomputers are no longer limited to 4K of RAM, “efficient” code becomes less of a necessity and more of an aesthetic quality that develops over time.Allowing kids to program in their own voice allows them to concretize abstractions and solve problems while developing programming prowess.

The Piagetian adage, “knowledge is a consequence of experience,” is certainly true for programming. The more you program and the longer you stare at the screen of what you are programming, the better you will become at it. Schools that “or a little bit of Scratch” or celebrate “Hour of Code” trivialize the power of programming. Engaging in the false complexity associated with teaching a new programming language every year (or faster) is also likely to deprive students of the exhilarating feelings that result from your program meeting or exceeding your expectations. Programming should be like learning to write, compose, make cinema, dance, etc…

Above all else, quality work takes time. What’s your hurry?

PS: Computer programming requires computers.

• • •

Veteran educator Dr. Gary Stager is co-author of Invent To Learn — Making, Tinkering, and Engineering in the Classroomand the founder of the Constructing Modern Knowledgesummer institute. He led professional development in the world’s first 1:1 laptop schools and designed one of the oldest online graduate school programs. Learn more about Gary here.


Get started learning to program by programming at Constructing Modern Knowledge 2020!

For decades, I have marveled at the vehemence with which seemingly reasonable adults defend not teaching kids to program computers. Aside from the typical (and often dubious) justifications popularized by politicians, Hour of Code, and the Computer Science for All community, I know how learning to program in the 7th grade was an intellectual awakening that has served me well for more than four decades.

So, when #1 Canadian, Dean Shareski, posed the following tweet, I decided to take “his” question seriously and offered to speak with him about the top online. Then another person I don’t know, Shana White, called in.

I hear some suggest everyone should learn to code. Ok. But should everyone learn basic woodworking? electrical work? cooking? plumbing? automotive? Those are all good things but is time part of the issue? How do all these good things get taught? Just thinking out loud.— Dean Shareski (@shareski) September 10, 2018

For what it’s worth, some of y0u might find the conversation interesting or just use it to lull yourself to sleep.

You may listen to or download the podcast here.

#basta


Veteran educator Dr. Gary Stager is co-author of Invent To Learn — Making, Tinkering, and Engineering in the Classroom and the founder of the Constructing Modern Knowledge summer institute. He led professional development in the world’s first 1:1 laptop schools and designed one of the oldest online graduate school programs. Learn more about Gary here.

The story of a boy’s academic pursuits in New Jersey and education’s lack of progress since then…

© 2001 Gary S. Stager/Curriculum Administrator Magazine
Published in the July 2001 issue of Curriculum Administrator

I recently received a sad email informing me that Paul Jones, my first and only computing programming teacher, had passed away. Mr. Jones taught at Schuyler Colfax Junior High School in Wayne, New Jersey for thirty-seven years. If a monument to honor great achievements in educational computing is ever erected, it should surely include a statue of Mr. Jones.

Around 1976 I got to touch a computer for the first time. My junior high school (grades 6-8) had a mandatory computer-programming course for seventh and eighth graders. I only had the course once since I was in the band. In a twist familiar to schools across the land, kids less inclined to creative and intellectual pursuits got to take double the number of courses in those areas!

In the 1970s the Wayne Township Public Schools in New Jersey believed it was important for all kids to have experience programming computers. There was never any discussion of preparation for computing careers, school-to-work, presentation graphics or computer literacy. This was not a gifted course or a vocational course. This “mandatory elective” (a concept unique to schooling) was viewed as a window onto a world of ideas – equal in status to industrial arts, home economics and the arts.

To young adolescents transitioning out of trick-or-treating Mr. Jones was scary in a Dr. Frankenstein sort of way. Rumors abounded about him talking to his computer and even kissing it goodnight before going home at the end of the day. The truth was that this guy could make computers do things! To kids who never imagined seeing a computer – let alone controlling one, having such power within our reach was pretty heady stuff.

The class consisted of mini-tutorials, programming problems on worksheets to kill time while we waited to use the one or two teletypes sitting in the front and back of the room. The scarcity of classroom computers had an unintended consequence, lots of collaboration.

We could sign-up to do more programming or play a computer game after school. This afterschool activity, undoubtedly offered out of the goodness of Mr. Jones’ heart, would allow us extra precious minutes of computer time. Text-based versions of boxing, tennis, football and Star Trek were favorites. Mr. Jones knew how the games worked and would show us the underlying code if we were interested. Mr. Jones did sort of love his computer and his students. Once I knew the odds for each football play the computer never beat me again. I could THINK LIKE THE COMPUTER! This made me feel powerful and laid the foundation for a life of problem solving.

The habits of mind developed in Mr. Jones’ class helped me survive the series of miserable mathematics classes that would greet me in high school. Perhaps Mr. Jones was such a great teacher because he was learning to program too. (This never occurred to me as a kid since Mr. Jones knew everything about computers.)

During high school I would pay an occasional visit to Mr. Jones in order to trade programming secrets. As an adult we had a casual collegial relationship. He may have even attended one or two of my workshops. I do remember that he loved AppleWorks with a passion normally reserved for opera and that he collected Beagle Bros. AppleWorks add-ons like they were Beanie Babies.

Not long after Mr. Jones died I received a charming email from the world’s finest seventh grade social studies teacher, Bob Prail, asking me if I would be interested in applying for Mr. Jones’ teaching job. I was honored to be considered and must admit that the whole “circle of life” angle warmed my heart. However, living with my family 3,000 miles from Schuyler Colfax Jr. High would make the commute difficult. I also feared that the responsibilities assigned to this teaching position were no longer pioneering or designed to expand the thinking of students. I was concerned that the 2001 curriculum for a computing teacher (probably now called something like digital communication technology integration facilitator and cable-puller) would have deteriorated into the mindless computer literacy objectives of mouse-clicking, web bookmarking and word processing plaguing too many schools.

Unnamed sources within the junior high school in question have since revealed that students now spend a considerable amount of time learning to “keyboard.” I don’t know which is worse, disrespecting the talents and culture of kids by pretending that they have never seen a computer before or lowering our expectations by making it impossible for kids to do wondrous things with the most powerful technology ever invented.

As students of Mr. Jones a quarter century ago, none of us HAD ever seen a computer before and yet the curriculum was designed to inspire us to seize control of this mysterious machine. Since we had little idea what was impossible, we thought anything was possible. We felt smart, powerful and creative. Assuming Mr. Jones’ responsibilities while trivializing the intellectual power of computing would dishonor his spirit and diminish his pioneering contributions to the world of powerful ideas.


Veteran educator Dr. Gary Stager is co-author of Invent To Learn — Making, Tinkering, and Engineering in the Classroom and the founder of the Constructing Modern Knowledge summer institute. Learn more about Gary here.