In the same issue of JackGanssle’s Embedded Muse newsletter where he reviewed my book, he let me rant on about the state of computer science/engineering education and its disconnect with industry needs.

He had mused in an earlier newsletter article when (and what type of) programming languages should be taught at the university level. He proposed banishing all such courses until Junior year so students can learn more about decision-making, methodologies and real design, rather than just cranking out code. His article struck a real nerve with me.

I blathered on for a bit, but apparently coherently enough that he decided to print my response.

My basic premise [rant] is this:

[I]t’s not just the CS education - it’s pretty universal in my experience [what colleges teach vs. what industry needs]. And I see it much more clearly, having worked both sides of the fence - designing embedded systems in industry, and then teaching engineering design and embedded systems development at a university.

The chasm between [academia and industry] is huge, and very few in the educational system seem to 1) recognize it and 2) do anything about it (or even know what to do about it). Industry is not completely free of blame either.

You can read the rest of my thoughts and experience on this topic in his newsletter.

So, compelled as I was to address this grand deficiency …

… I tried to bridge the two by developing and teaching a Graduate level Embedded Systems course based on what I feel students need to know in industry. Thinking at the metal is an absolute requirement - hands on fun stuff.

To wrap your mind around my rabid view of embedded education, I lamented pretty concisely about engineers having no idea why DEADBEEF and 2^16 are useful concepts.

After my students realized I was not nuts, they clearly embraced that waving around 750°F heat guns and bags of ice is a lot more fun than falling asleep in a 300-person lecture hall.

Today’s lab was to code and test a thermal control algorithm that might be used in a thermostat. Or to prevent meltdown in a nuclear reactor, since that sounds so much more fun! We used the MSP430 Experimenters board from Texas Instruments - it’s great as a platform for product design and development, then all the coding and debugging that follows.

But how to you test a thermal control algorithm?

With heat guns and ice cubes of course!

Get ready to blast it with the heat gun!

Really. Just balance the bag of ice right on the board where the temperature sensor is!

And of course, several stick-ups and threats of personal violence were to be expected.