1和2:模电、数电、电路分析都要,电子方面的实验课也用点心,还有微机原理(或单片机)、操作系统、数据结构,当然C语言是重中之重,如果有兴趣可以看一下编译原理、信号与系统、通信原理。最后几门不是必须的,有的对增进某方面知识理解有帮助,是否用的上要看你找什么工作了
3:很多,同一个项目每个人做的不一定一样,主要有系统移植与驱动开发,应用开发等,有的项目还有数据库方面的、通信方面的
4:学51对了解ARM架构原理很有帮助,对各方面原理了解的深度,决定今后在技术方面的高度。avr看兴趣了,不是必要
ACM:锻炼程序设计思维思路,对任何程序员都是有帮助的,至少能加快设计和编码的速度,但具体开发时不需要你用多么牛算法,最适合才是最好的
另:多写程序,多看书,再做一些电子制作什么的,就很不错了,应届生里这种人都不好招
学习嵌入式的人对硬件要求较高,但只需要了解,因为以后的硬件开发都会采用集成的设计方法。学习单片机是有助于更好的学习嵌入式,其实单片机和ARM是平级的,只是芯片位数不同,目前市场上更多的是采用ARM技术。专心学嵌入式会收获得比较大。
你要搞嵌入式的话,
就两条:学好专业课,掌握linux。
其他方面并不是最紧要的。尤其是第一条哦。