Advertisement
News
EEtimes
News the global electronics community can trust
eetimes.com
power electronics news
The trusted news source for power-conscious design engineers
powerelectronicsnews.com
ebn
Supply chain news for the electronics industry
ebnonline.com
elektroda
The can't-miss forum engineers and hobbyists
elektroda.pl
Products
Electronics Products
Product news that empowers design decisions
electronicproducts.com
Datasheets.com
Design engineer' search engine for electronic components
datasheets.com
eem
The electronic components resource for engineers and purchasers
eem.com
Design
embedded.com
The design site for hardware software, and firmware engineers
embedded.com
Elector Schematics
Where makers and hobbyists share projects
electroschematics.com
edn Network
The design site for electronics engineers and engineering managers
edn.com
electronic tutorials
The learning center for future and novice engineers
electronics-tutorials.ws
TechOnline
The educational resource for the global engineering community
techonline.com
Tools
eeweb.com
Where electronics engineers discover the latest toolsThe design site for hardware software, and firmware engineers
eeweb.com
Part Sim
Circuit simulation made easy
partsim.com
schematics.com
Brings you all the tools to tackle projects big and small - combining real-world components with online collaboration
schematics.com
PCB Web
Hardware design made easy
pcbweb.com
schematics.io
A free online environment where users can create, edit, and share electrical schematics, or convert between popular file formats like Eagle, Altium, and OrCAD.
schematics.io
Product Advisor
Find the IoT board you’ve been searching for using this interactive solution space to help you visualize the product selection process and showcase important trade-off decisions.
transim.com/iot
Transim Engage
Transform your product pages with embeddable schematic, simulation, and 3D content modules while providing interactive user experiences for your customers.
transim.com/Products/Engage
About
AspenCore
A worldwide innovation hub servicing component manufacturers and distributors with unique marketing solutions
aspencore.com
Silicon Expert
SiliconExpert provides engineers with the data and insight they need to remove risk from the supply chain.
siliconexpert.com
Transim
Transim powers many of the tools engineers use every day on manufacturers' websites and can develop solutions for any company.
transim.com

Struggle continues to plug embedded programming gap

By   05.03.2012 2

WASHINGTON – Growing concerns about the quality of U.S. engineering education are increasingly focusing on specific areas like the shortfall in university computer science courses related to embedded systems programming.

The problem is particularly acute since embedded programming skills are the foundation for developing safe, reliable, mission-critical systems used in everything from medical devices to commercial aircraft.

Critics lay much of the blame for the embedded programming gap at the doorstep of university computer science departments that have tended to migrate curricula toward trendy programming languages like Java at the expense of unglamorous tasks such as how to design and analyze algorithms and data structures. In a recent article examining the embedded gap, Robert Dewar, an emeritus professor at New York University and CEO of software tool vendor Adacore, argued that universities need to rethink the programming languages taught in their introductory computer science courses.

“To be blunt,” Dewar wrote, “adopting Java to replace previous languages used in introductory programming courses – such as Pascal, Ada, C or C++ — was a step backward pedagogically. Many universities went to Java because ‘that’s where the jobs are,’ but ironically may have produced a generation of programmers with over-specific but superficial skills who are now losing jobs to overseas competition with broader and deeper talents.”

Some embedded programming experts think Dewar understates the severity of the programming gap. Evangelists such as Michael Barr have moved beyond merely highlighting the problem and have sought to fill the widening programming gap with initiative like Barr’s week-long, hands-on Embedded Software Boot Camp. The primary impetus for the boot camp, which focuses on skills like controlling hardware in C or C++ languages and writing more formal device drivers, was Barr’s conclusion that “there’s no good firmware training in [U.S.] universities.”


Michael Barr

“The one common denominator that I’ve found [is] that people cannot do well in class unless they know C” programming language, Barr said in an interview. “I’m not saying they have to know obscure parts of C [but] they have to know the basic syntax of C.”
Those with computer science or engineering degrees who started with Java are “fundamentally unable to approach the material,” he added. “That’s where I think things are falling down.”

While the shift to Java programming and away from C among university computer science programs benefits some code jockeys, Barr asserted that it has done relatively little to improve the hiring prospects for software engineers working at critical hardware interfaces.

Barr, who specializes in software design for medical devices and other embedded systems, said he sees little progress toward addressing the embedded programming shortfall aside from his boot camp and a separate effort to get engineering groups like the IEEE to address the issue. The fact that the next embedded boot camp to be held in Maryland in early May has attracted programmers from Belgium, Canada, Mexico and Turkey as well from around the U.S. illustrates the lack of emphasis on embedded programming. “The reason for that is simple: There’s nothing like it in the world,” Barr claimed. He added that his hands-on approach to teaching embedded programming is precisely what is currently lacking in university computer science courses.

Barr said reactions to the boot camp range from, “You helped me integrate knowledge that I had but didn’t know how to use“ to, “Why didn’t someone teach me this 20 years ago?”


Embedded evangelist Michael Barr uses this Venn diagram to illustrate the current status of embedded software programming in the computer engineering ecosystem and why there is a lack of good firmware training.

Explanations vary as to why university computer science departments have deemphasized teaching embedded programming skills based on the C language. Along with trendiness of Java programming, observers also point to the chase for research grants that effectively removes experienced engineering and computer science professors from the classroom. Another reality is that embedded programming teams tend to be smaller (a single hardware designer and a few software engineers, for example), hence the discipline doesn’t generate a lot of job opportunities for computer science graduates.

On the other hand, the relatively few larger embedded programming projects in industries like aerospace usually focus on older technologies. “It’s such a conservative, process-oriented work environment that it turns off” most software engineers, said Barr.

Observers differ on whether a crisis looms if instruction in embedded programming languages like C continues to lag. Responding to the article by embedded systems software specialist Dewar, one engineer noted: “Problem solving is the [No. 1] skill. Specific knowledge of a language is not important. That can be learned. Specific knowledge has a short shelf life in this industry.”

But Barr worries that the lack of C programming courses and the fact that most software engineers fluent in the language are older means that “at some point it becomes a bit of a crisis.” The reason, he added, is that “this touches everything from refrigerators to automotive [to] smartphones [and] better medical devices.” 

2 comments
Post Comment
henil43   2013-06-23 10:24:59

hey,I am a CS major from india...and i am planning to do my post graduation in embedded system software engineering..i found in my cs curriculum that they focuses on low level concepts like digital design,processors,ALP in just earlier semesters..and
switch the focuses on higher level programming like java,vb,c# and php in higher semesters..so most of the students make major projects like websites,web application or mobile applications as their major projects due to current trends in market..and obsolete all the basic studies of earlier semesters..And they cannot perform upto the mark in embedded industries..

bkbk3939   2016-08-12 00:18:44

What system are you describing exactly? Is it swiftforth? There are many IDEs for forth I believe.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.