Sunday, September 24, 2006

CompSci Schools Hurting Embedded Development?

How can it be that universities are graduating students in Computer Science that don't know some form of assembly language? I can't begin to count the number of students in my Embedded Linux device driver courses that have never seen a data sheet and don't know what a register is. They want to know how to write a board support package (BSP), but they don't speak assembly language and never learned it in school! It doesn't have to be any particular assembly language dialect, even an artificial one would do. It's just the mind set that everything must be in a register and there is no such thing as memory that is needed. Boot firmware starts up this way and so does Linux, VxWorks, pSOS, ThreadX, etc. I've found that it's easier to take a EE (actually, Computer Technology or Computer Engineering) and make then an embedded developer than it is to take CompSci and retrain them. The universities (not all of them, just the seeming majority) are doing great work at cranking out Java programmers. But, they are useless for device drivers, ISRs and BSP development. What are your thoughts?

3 Comments:

At 9:21 PM, Michael Barr said...

How much longer will they still even teach C?

 
At 9:39 PM, PTR-Mike said...

That's a good question. C is really a mid-level language. Even C++ seems to be in jeopardy as most of the schools start to emphasize XML, AJAX and Java, et al. C is certainly next on the chopping block. C++ is OK for embedded as long you know what features to avoid if hard, real-time is your goal. But, I'm sure that the schools don't teach this either. So, what's a developer to do?

 
At 7:49 AM, Ralph Depping said...

I've worked on embedded software with both computer science and EE graduates. My experience is certainly that it's easier for an electronic engineer to become an embedded software engineer than it is for a computer engineer to become one.
However given the right incubation environment for graduates and the right mentor I've seen great embedded engineers produced from either fraternity.
Some of my own thoughts on the subject are at http://embeddedincork.net/2007/03/17/how-to-become-an-embedded-software-engineer/

On another note during my college studies (1996-2001) University College Cork were just starting to fade out teaching Numerical Analysis through Fortran and replacing it with Numerical Analysis through C. C++ and assembly were also thought to us Electrical/Electronic Engineers.

 

Post a Comment

<< Home