Computational Thinking: A Necessary Foundation to Coding

students_computer_2_300x200In recent years, much attention and interest has been devoted to teaching coding as a basic skill. Organizations such as Codecademy offer interactive online platforms boasting free coding classes in different programming languages such as Python, PHP, jQuery, JavaScript, and Ruby, as well as markup languages including HTML and CSS. The platform has made tutorials available to over 24 million users of all ages. An even greater number of organizations exist to teach coding to either underrepresented groups: GirlsWhoCode, whose vision is to reach gender parity in computing fields; or to the next generation of potential programmers: CoderDojo, a volunteer-led, global network of free computer programming clubs for young people. Some efforts seek to combine both missions, such as Code.org, a non-profit dedicated to expanding participation in computer science by making it available in more schools, and increasing participation by women and underrepresented students of color. The rush to educate doesn’t halt in the non-profit sector, as corporations like Square catch on, offering “code camps” led by employee engineers, designed to provide young females with a foundation in computer science.

Grady Booch explores the question "To Code or Not to Code."
Grady Booch explores the question “To Code or Not to Code.”

In the latest issue of IEEE Software Magazine, IEEE Computer Society’s magazine covering all aspects of software, including software engineering, editor Grady Booch lauds these efforts, deeming it a “very good thing that everyone has a basic understanding of the technology behind the software-intensive systems with which we exist and are co-evolving.” However, he adds, defiantly: “We must be careful to not teach coding as just a vocational skill;” as a single-disciplinary activity, without also providing knowledge of the computer science discipline, and the many other disciplines that support it.

Instead of providing students – both those formally studying programming and markup languages, and those making use of the many free and public resources made available – with just instructional knowledge of how to code, Booch insists that it’s essential to “fundamentally teach the notion of computational thinking.” This includes not only the basics of how to code, but a range of mental tools that reflect the breadth of the field of computer science, such as how to design systems, solve problems, and understand human behavior. Perhaps nothing sums this up more than the words of Carl Sagan, whom Booch quotes with clear intent: “Science is much more than a body of knowledge. It is a way of thinking.”

Offering programs such as those mentioned above, which encourage non-technology professionals, young students, and underrepresented groups to learn how to code, is undisputedly a way to entice new people into the engineering space and lead them to other technology-related activity. But the benefits don’t stop there: since most new technology careers require a basic understanding of coding as a basic job function, and are involve an ability to interact with software, a rudimentary knowledge of coding is helpful to all electrical engineers.

When asked if the thinking and context needed to code effectively was helpful to other electrical engineering industries outside software engineering, IEEE Technical Community Spotlight Editor-in-Chief Fred Mintzer commented, “As software design increasingly replaces hardware design in our implementations, and simulation increasingly replaces experimentation in our research, members of virtually all IEEE disciplines need to master the suite of skills that Grady Booch calls ‘computational thinking.’ Coding skills are an inviting portal into that world for future tech professionals – but not that world, itself.”

For more of Booch’s questioning the value of learning to code in the absence of computer science discipline, read the full article or listen to its audio recording on IEEE Software Magazine’s Web site.

We welcome you to share your opinion on this topic using the comment box below.

Resource Links:

Comments

  • I found your works so impressive. Am currently setting up an online training platform with view of training Tertiary Students in Nigeria in Internship program for skill acquisition is software development.

    Having gone through you works, I want to request if my platform “Ekolama School of Technology” can partner with you for a collaborative training program especially in the area of embed systems programming and robotics.

    Waiting for your response.

Leave a Reply

Your email address will not be published. Required fields are marked *