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.