Embedded.com Tech Focus Newsletter (5-21-12): Solving the embedded engineering education crisis - Embedded.com

Embedded.com Tech Focus Newsletter (5-21-12): Solving the embedded engineering education crisis

Embedded Newsletter for 5/21/12

» Click here to view online I » Forward to a friend I » Sign up for an EE Times Newsletter

Share this Newsletter:

facebook linkedin twitter digg

May 21, 2012

Tech Focus: Solving the embedded engineering education crisis

HIGHLIGHTS

The education of embedded systems software engineers: failures and fixes

Students need to learn multiple programming languages

What a firmware curriculum would look like

Disruption in the engineering classroom

Trends in embedded software design

So this is progress


Editor's Note

Bernard Cole Bernard Cole
Site Editor
Embedded.com

Over the past 20 years or so, Embedded.com and the Embedded Systems Conference have provided embedded systems engineers with the continuing education they need to keep up with rapidly evolving technologies. On programming languages in particular, we provide information on a range of choices in as fair and a balanced way as is possible. Of the ones selected for this Tech Focus, a few of my Editor's Favorites are:

Adopting C programming conventions
Dive into C++ and survive
Ada and Java: real time advantages
Java-based embedded designs with real time constraints

Unfortunately, says Robert Dewar of Adacore, this is not enough to make sure that there will be sufficient qualified embedded systems engineers to meet the challenges ahead. Much more has to be done to make sure there's a next generation of hardware and software engineers to carry on. More than just active support of STEM programs to attract high school students to engineering, it also means giving them the right training when they get to the university or college of their choice.

In his article “The education of embedded systems software engineers “, Dewar charges that University engineering departments are falling down on the job. He supports his argument by citing specific failures, and proposes some solutions. A number of recent articles and columns on Embedded.com complement his theme:

Students need to learn multiple programming languages
What a firmware curriculum would look like
Disruption in the engineering classroom
Trends in embedded software design
So this is progress

I believe it is crucial for as many members of the embedded hardware and software engineering community as possible to get involved in the dialog about this issue. Contact me with your ideas at bccole@acm.org or 928-525-9087 .


Design How-Tos

Efficient C code for ARM devices

It seems that we very often have RAM and ROM coming out of our ears and we have processing power to burn. So what is the pressing issue of today? So often, it is power-efficiency…

Adopting C programming conventions

This ESC paper discusses some common problems found in a lot of code and suggests strategies for avoiding them.

Making the transition from C to C++

Although it has taken almost a decade, the transition from C to C++ is now gaining momentum in many complex software projects, in parallel programming for multicore apps and in hardware generation environments. Here's a three step strategy for making the transition and migrating code from C to C++.

A six step process for migrating embedded C into a C++ object-oriented framework

Using a standard timer, Dirk Braun describes a six step process to migrate embedded C code into a C++ object-oriented framework and create classes that represent a type of on-chip hardware peripheral.

Why C++ is a viable alternative to C in embedded systems design

While C enjoys a good reputation as a strong and powerful language for embedded development, C++ does not have quite such a broad appeal. With today's capable and sophisticated C++ environments this is often an incorrect belief.

Dive in to C++ and survive

Programmer Christopher White guides you through the hazards of learning the ins and outs of the C++ language, the books to read, the tools to use and how to begin using it effectively in your embedded systems designs.

Guidelines for using C++ as an alternative to C in embedded designs: Part 1

In this two part tutorial, Colin Walls addresses the well-known barriers to use of C++ by C programmers, and provides some guidelines including cleaning up C and an in-between alternative he calls “C+.” First up: Why is C++ not more widely used?

C++ versus Java

Stefan Worthmuller's experiences and impressions about moving from a C++ to a Java programming environment

Embedded Java

Embedded Java will play a major role in next-generation cell phones, smart cards, wireless devices, and gaming systems as well as in many other embedded applications. Richard Quinnell explains how one of the keys for product success will be choosing the right options for Java implementation.

Building Java-based embedded designs with real time constraints

For developers who use Java in the development of their real time embedded system design it is necessary to carefully balance hard real time versus soft real time performance and the trade offs they are willing to make to achieve their goals.

The evolution of Java technology for Internet appliances and embedded devices

This paper discusses alternative ways to implement Java technology to address developers' concerns over Java's functionality, speed and reliability for Internet appliances and embedded applications.

Ada and Java: real-time advantages

Ada and Java offer strengths for real-time programming and built-in support for multithreading. Join us for a look at what these two under-appreciated languages offer developers of embedded software.

Programming real-time with Ada 2005

It's not just for defense contracts any more. Ada has developed into a useful programming language for plenty of different embedded projects. This expert shows how new Ada standards improve Ada's real-time capability to meet those tight deadlines.

High-integrity object-oriented programming with Ada

Even when object-oriented programming is not used, many Ada features support safe and secure programming, said Benjamin M. Brosgol, software engineer at AdaCore.

Expressive vs. permissive languages: Is that the question?

The ease with which code is analyzable depends of the language type you use

Is Parallel Programming In Your Future?

The emergence of the dataflow and other parallel computing architectures into the mainstream is apt to present problems to programmers trained on the concurrency models and languages used on the traditional Von Neumann-based CPUs.

Multicore programming made easy?

IMEC's MPA tool transforms sequential C into parallel code.

Making the transition from sequential to implicit parallel programming: Part 1

Despite Microsoft's view that a parallel programming model for multiprocessing is 5 to 10 years away, Rishiyur Nikhil and Arvind believe that we can't wait and delve into the options available now. First in this eight part series: how sequential languages obscure parallelism.

Is Assembly Language Obsolete?

The reports of assembly language's death are greatly exaggerated


2012 Embedded Market Survey webinar

UBM Electronics' 17th annual survey of embedded systems designers worldwide shows trends in software and hardware usage. The 2012 Embedded Market Survey also looks at languages, productivity, and the challenges design teams rank as most important.  A webinar on Friday April 20 will examine the results from  over 1,700 respondents from across the embedded industry, the dataset enables a deep analysis to track key changes in this important electronics industry segment. There will also be the opportunity to ask questions online. To register click here .


Products

ST and IS2T launch Java Platform for STM32

The STM3220G-JAVA Starter Kit from STMicroelectronics and IS2T combines an evaluation version of IS2T's MicroEJ Software Development Kit (SDK) and the STM32F2 series microcontroller evaluation board.

MontaVista's new Linux challenges RTOSes

With faster response times and a smaller memory footprint, MontaVista Software says its new commercial Linux release can meet the needs of most real-time embedded systems.


News & Analysis

Struggle continues to plug embedded programming gap

The continuing lack of university computer science courses focusing on embedded systems programming has prompted some evangelists to take matters into their own hands.

Adding voices to the STEM conversation

Two of our editors are set to present at an IEEE conference in New Jersey March 9 on STEM education and mentoring.

Tool 'engages' EE students

Why have American students been losing interest in electrical engineering? One theory is that dramatic technological advances in electronics have had the unintended consequence of making electronics less accessible to curious young minds.

For the love of STEM

Talk to a room full of teachers and they're bound to teach you something.


Commentary

CS Schooling

Do CS departments come even close to producing graduates that meet the needs of the firmware community?

Unexpected trends

Dan Saks crunches over 12 years of data on programming-language preferences from reader studies and finds some surprises about C/C++.

So this is progress

Embedded systems are evolving in exciting ways but our design methods are out of date.

Leave a Reply

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