I want to know what level of programming is necessary for an Electronic Engineer. I mean classes, object-oriented, linked lists,templates, stl and etc that are specialty for software engineering are necessary for an electronic engineer to be familiar or work with them? We have been learnt some elementary features of programming at college (all of chapters 1 to 8 &17 & 20 of dietel dietel book) but I'm not sure those are enough for an electronic engineer.I want become more familiar with AVR, Robotics, and FPGA. I've just done very simple projects by AVR and robotics that didn't need so advanced programming. And all I have done so far have been in analog area, and I want to move somewhat to digital area however I'm not interested in digital area and programming and I'm so interested in analog but I think it is necessary to learn more about them.