« What is CSTA? | Main | Putting Computing in the Core »

Time For Another Paradigm Shift

Unstructured code (BASIC), structured code and procedural programming (Pascal), object-oriented code (C++ or Java). We've all been through one or more of these paradigm shifts. Each has had its own challenges which we have overcome. Now is the time for a paradigm shift in our K-12 education progression. Every student should be expected to take a basic computer science course where he or she can learn to "think like a computer scientist" as described by Dr. Jeannette Wing in her article Computational Thinking published in the March 2006 issue of the Communications of the ACM. Dr. Wing makes a convincing case that computational thinking is "For everyone, everywhere".

In the article, Dr. Wing states:

"Computational thinking is a grand vision to guide computer science educators, researchers, and practitioners as we act to change society's image of the field. We especially need to reach the pre-college audience, including teachers, parents, and students, sending them two main messages:

Intellectually challenging and engaging scientific problems remain to be understood and solved. The problem domain and solution domain are limited only by our own curiosity and creativity; and

One can major in computer science and do anything. One can major in English or mathematics and go on to a multitude of different careers. Ditto computer science. One can major in computer science and go on to a career in medicine, law, business, politics, any type of science or engineering, and even the arts."

So how do we make this shift and where do we find time in students' schedules for another course? State and local school boards are adding graduation requirements in an attempt to better prepare our students for life after high school. Virginia has increased the number of credits required to earn the “advanced” diploma from 24 to 26 and requires each high school student to take the course "Economics Education and Financial Literacy." In light of the current economic conditions, one can hardly argue with this worthy objective, but shouldn't we be developing their problem-solving and logical thinking skills, also?

We expect students to take a proscribed sequence of mathematics courses, science courses, and social science courses. We should provide a sequence of computer science courses, and expect every student to take the first course. The Computer Science Equity Alliance, jointly sponsored by UCLA and the Los Angeles Unified School District developed an introductory course. Other states are pursuing similar efforts. It is time for us to work together behind the ACM model curriculum to effect this change. This is a change we need.

John Harrison
CSTA Board of Directors


I would have used FORTRAN as the unstructured language. That was what I was using before structured programming became the norm. And BASIC (BASIC-PLUS) was what I was using for much of my structured programming in school and industry for years.
Languages change with the paradigm changes and Visual Basic is an outstanding OOP language. OK it's my favorite language and I love it - sue me. :-)
But I love the rest of the post.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)