My suggestion, Fernando, is instead to teach pure C, to teach the C subset of C++ (see http://www.research.att.com/~bs/bs_faq.html#prerequisite). IMHO this would be better and also give the student an intro of C++.
C++ is not used for programming microcontrollers (for the first courses) because it's more abstract than C.
C is more low-level and closer to Assembly, which is better when you have to interface hardware directly.
Hello,
Sorry for the late reply, but you can not do in C subset of C++ what you can do in C? I have always understood that you can use C subset of C++ whererever you use C.
Anyway, I am not sure that C subset of C++ is more abastract that C (C++ of course). But, may be, I am too much a C++ fan
.
Best wishes,
Michael