The trouble is, a lot of C and especially C++ classes are going to spend a lot of time on things that don't apply here, like the file system and other system calls. If you could find an Embedded programming class, using any language, it might be more useful.
True, as long as they don't want to program on Arduino
Those higher-level languages almost make it more difficult to come into an embedded environment which does almost nothing for you.
For the record, I'd vote for Ruby as the most modern language to learn as a complete beginner. Although, that doesn't help if you want to run on Arduino
(Or does it... Just came across this: http://rad.rubyforge.org/