The daily lives of almost everyone on earth are affected by technology, much of it in the form electronics-based designs for our wired and wireless networks, our autos, our factories, and our homes.
We have been conditioned to expect that something new and useful will be always be emerging to either entertain us or make our lives easier. And we expect that if something is broken or is not working it will be fixed. But, unfortunately, all of our high tech lifestyle depends on a resource that is in trouble, according to Jack Ganssle in his recent blog “What engineering education lacks.”
He writes that, for one thing, in developed countries engineering is in decline, despite efforts to make it more attractive to young people through national engineering education. But not only are fewer young people going into engineering, few are taking courses that help them understand the technology they have been taking for granted.
The result, says Jack, is the growing gulf between the technically competent engineering community that has created the electronic wonders in our lives and those who use them but who do not, in many cases do not know the difference between a zero and a one and don't really care.
“We need to bridge that divide,” he writes. “Unless we can explain what our creations do, how to use them, and their benefits, no one will buy the products.”
Aside from better and more relevant engineering and mathematics courses, Jack believes much more effort must be made in making engineering graduates better communicators – both written and spoken.
“When we’re gathering requirements, negotiating with customers and suppliers, or doing the give and take that characterizes a lot of engineering work,” he writes, “we’ll be communicating in speech and the written word with others who don’t understand the basics of our field.
“Those who can do this effectively will succeed; the others will be left in a sort of limbo, buried in pure technical roles with no prospects of advancement.”
He is not alone in is concern about the quality of engineering education and communications skills. Robert Dewar, New York University and Adacore, in “The education of embedded systems software engineers: failures and fixes,” assessed how well the Computer Science education offered by universities prepares students to deal with real-world issues. His conclusion not very well.
“The problems start early in the curriculum,” he writes. “Too often an introductory Computer Science course will fall into one of two extremes: either focusing on the syntactic details of the programming language that is being used – where the semicolons go – or else treating programming as a matter of choosing components and plugging them into a GUI.”
While he does not emphasize the importance of communications skills, Dewar does point out that in most engineering efforts, particularly those involving software development, involve working effectively on project teams where members have to work – and communicate – effectively.
Unfortunately, he says “we find in a typical Computer Science curriculum is that students will do almost all their programming work in individual projects where cooperation is not only not encouraged, but actively discouraged as cheating.”
As an embedded developer who has his roots in hardware, Jack in his blog questioned the relevance of some of the math courses he took – with little guidance from the university as to which would have been relevant – and thought his time might have been better spent on hands-on engineering projects.
That lack of guidance continues, says Dewar. “Computer Science programs have no consistent policy when it comes to ensuring that the mathematical prerequisites are covered and, if anything, have de-emphasized mathematics to make room for more popular subjects,” he writes. “Mathematics is sometimes called the language of science; with today’s curricula, many computer science graduates are in effect illiterate.”
Included in this week’s Tech Focus newsletter are articles and papers on a number of different ways that the problems of engineering and computer science education are being dealt with. Several that I found particularly relevant and have selected as my Editor's Top Picks are:
Using a Web 2.0 approach for teaching embedded MCU systems
Using the ARM-based online mbed development environment, the authors describe a new approach to teaching embedded systems design to university students in computer science and electrical engineering.
Using Arduino to enhance computer programming courses
The design of a teaching program that used Arduino boards and modules to introduce undergraduate university students to the basics of hardware and software development.
Putting the Buzz Back into Computer Science Education
How BuzzBoards, a processor-agnostic rapid prototyping kit of hardware and software components, is used to allow students to quickly create Internet-of-Things, Pervasive Computing, and Intelligent Environment designs.
While the problems identified and the solutions suggested are diverse, with no common agreement, the fact that there are continuing efforts at making improvements makes me cautiously optimistic that the engineering manpower infrastructure that our high technology-dependent society requires will continue to be there when we need it.
Embedded.com Site Editor Bernard Cole is also editor of the twice-a-week Embedded.com newsletters as well as a partner in the TechRite Associates editorial services consultancy. If you want to see a calendar of topics for upcoming weekly Tech Focus newsletters or have a topic you would like to see covered on Embedded.com, he welcomes your feedback. Send an email to , or call 928-525-9087.