I've been inspired by Gary Stager's blog on this subject. We are about the same age, and I've written my own story about what I believe on this subject. You can listen to the podcast here:
Here's the text of the podcast...
In 1975, I was in 9th grade in Fargo, North Dakota.
I had to take a one semester elective that winter. Most of the choices sounded dreary to me. Only one sounded tolerable: Computer Programming.
I wasn't sure what to expect, but I figured I'd learn something. In class, the teacher passed out the textbook. We would be writing programs in BASIC. The computer was a mainframe at North Dakota State University, on the other side of town. The teacher showed us the terminal we would all share. It connected to the mainframe using an ordinary telephone handset, as though you were going to have a conversation. You could type, and the computer on the other side of town answered. Cool.
Our teacher advised us to write our programs in a notebook while we waited for access to the terminal. I took the book home and started reading it. And writing programs. And reading the book. And writing more programs. By the weekend, I had written programs for every problem in the book. I begged the teacher for extra time after school let out. I was showing up late for swim practices, and I told my friends I'd fallen in love.
For those of you that have never been smitten by programming, it may be hard to understand. Writing software is a conversation. The computer asks me to clarify if I say something that doesn't make sense. And if the computer does something that doesn't make sense to me, we walk through my code together, the computer detailing what's on its mind, until I understand what's wrong, and fix something. The conversation continues until we're both satisfied.
I don't need to tell you how the world has transformed since 1975. I went on to have several careers, from flying jets to working on Wall Street, and I used my programming skills in every job. Now I'm in school again, learning to be a high school teacher. Yet, despite the ongoing software revolution, most high schools can't offer what I had in 1975.
And I believe that should change. I believe every 9th grader should take a programming course. Here's why:
- Pedagogically, programming is a very pure exercise in deconstructing a problem, and reconstructing it as a software program.
- The computer itself is an excellent teacher. Once a student acclimates to the programming environment, the conversation between student and computer begins and flourishes.
- Research shows the best learning takes place in effective social settings. Programmers interact frequently, often working in pairs.
- Programming can be applied across the curriculum, as software has touched every discipline.
- There are legions of programmers, late in their careers, who would love nothing better than to give back by teaching a new generation of programmers.
- Finally, computers aren't going away. They even talk to us. Shouldn't we be able talk back?