(转载)STC对单片机相关学科群部分课程改革呼吁

工信部一位对推动中国单片机教学改革有兴趣的朋友约我对单片机教学课程提一点看法, 而STC大学计划也在如火如荼的进行中,第九届“STC杯单片机系统设计大赛刚成功落幕,全国数百所高校,1100支队伍参赛;在国内多所大学成立了联合实验室,如北京航空航天大学, 南京航空航天大学,哈尔滨工业大学,天津大学,吉林大学,兰州大学,山东大学,湖南大学,同济大学,深圳大学,杭州电子科技大学,桂林电子科技大学,成都电子科技大学等国内著名高校,上海交通大学/西安交通大学/浙江大学/山东大学等著名高校的多位知名教授使用STC 1T8051创作的全新教材也在陆续推出中。多所高校每年都有用STC单片机进行的全校创新竞赛,如湖南大学/山东大学等。这些与高校及企业合作多年的经验,让我确实对单片机教学课程深有感触。

STC自成立起就一直专注于国内流行的8051单片机的研发工作,和各高校以及企业保持着密切的联系和紧密的合作。根据我们STC与高校及企业合作多年的经验,我们深刻感受到当前大学里单片机课程教育存在的弊端。

现在学校的学生到底应该学32位好还是8051好?我觉得应该是8051单片机好。因为现在大学嵌入式只有64个学时,甚至只有48个学时,学生能把8051单片机学懂做出产品,今后只要给他时间,他就能触类旁通了。但如果也只给48个学时去学ARM,学生没有学懂,最多只能搞些函数调用,没有意义,培养不出真正的人才。所以大家反思说,还是应该先以8位单片机入门。C语言要与8051单片机融合教学,大一第一学期就要开始学,现在有些中学的课外兴趣小组多在学STC8051+C语言。大三学有余力的再选修32位的课。

再讲讲C语言,现在工科非计算机专业讲C语言的书多是空中飘着,落不着地,学完之后不知道干什么。以前我们学BASIC/C,学完用DOS系统,也在在DOS下开发软件。现在学生学完C,要从Windows去返回DOS运行,学的C也不能在8051上运行。嵌入式C语言有多个版本, 国内Keil C流行,早知Keil出售,我就收购它了。现在学标准C语言,没办法落地了,学完了,PC上干不了事,单片机上也动不了。我们现在推教学改革将单片机和C语言(嵌入式C, 面向控制的C)放在一门课中讲,在大一的第一学期就讲,学生学完后就知道他将来能干啥了,大一的第二学期再开一门Windows下的C++开发,正好我们的单片机 C语言给它打基础。学生学完模电/数电(FPGA)/数据结构/RTOS(实时操作系统)/自动控制原理/数字信号处理等后,在大三再开一门综合电子系统设计,这样人才就诞生了。

综上所述,现在许多高校的课程开设时间和顺序以及完整性都存在一些弊端,很多课程不但可以不需要增加教学时间,还可适当减少课时。为提高单片机课程教学效率,培养更加优秀的工科人才,当前单片机课程教育的改革迫在眉睫。为此我们具体提出以下建议。

单片机相关课程教学之最小系统课程:

C语言程序设计》 大学一年级第一学期

《数字电路基础》 大学一年级第一学期

《微机原理及单片机应用》大学一年级第二学期

《数据结构》 大学一年级第二学期

《实时操作系统》 大学二年级第一学期

《模拟电路》 大学二年级第一学期

因此,我们建议《C语言程序设计》课程必须保证在大学一年级第一学期开设,很多高校已这样做了,但还有部分学校滞后了,我的观念晚学不如早学,工科非工科都应将此门课作为进入信息时代的计算机扫盲课(word/excel/打字就由学生自学吧),学好了《C语言程序设计》课程就打好了单片机学习中的部分软件基础。相对于用汇编语言开发程序,C语言也将程序开发难度降低了很多,对开发人员来说,效率得到极大的提高,打个不恰当的比方,大专生就相当于本科生的能力了,本科生就相当于研究生的能力了。

其次,我们强烈建议将《数字电路》课程提前放在大学一年级第一学期开设,《数字电路》能帮助学生理解微机原理和基本的数字系统,并能设计一些简单的硬件电路系统,是单片机学习的硬件基础。

再次,就是要学习《微机原理及单片机应用》了,我们强烈建议将《微机原理及单片机应用》课程提前到大学一年级第二学期开设。许多学校的相关工科专业都是在大学三年级第二学期才开设这门课程。由于接触单片机的时间晚,学生根本没时间认真学习和研究单片机,更没时间应用所学的知识开发一些单片机项目。在许多学生只学到一些单片机皮毛的情况下,他们便匆匆步入社会进入了相关行业。这种情况往往导致很多学生不能胜任自己的岗位,工作起来很吃力,而且极容易被淘汰。这就有了学生抱怨就业难,企业却反映招不到人才的怪现象。如果将《微机原理及单片机应用》课程提前至大学一年级第二学期开设,学生及早接触单片机的话,那么对单片机有兴趣或以后想从事相关行业的同学在意识到单片机的重要性后,仍然有充足的时间去研究单片机,从而将单片机系统设计搞熟。这样在他们毕业以后进入相关行业及企业工作就会很快能胜任。单片机课程不是一门纯理论性的课程,更多的需要学生去动手实践和开发,所以学习单片机以及开发单片机项目能提高学生的创新能力,如果学得太晚就很难学以致用。其实很多工科的专业课程都如此,很多学生在学习完这些专业课程后之所以云里雾里、不知所云,就是因为没有花时间或没有足够的时间去研究和实践应用所学的内容。如果这些动手实践型的专业课程开设的太晚,学生在学习完之后根本没有时间去动手应用的话,那么这些课程就会形同虚设,对学生以后的就业将起不到应有的帮助作用。

另外,为了使学生在开发程序时,能得心应手,我们建议在大学一年级第二学期应再开设《数据结构》课程,提高开发效率,降低开发难度,同时如果《C语言程序设计》没学好, 通过对《数据结构》的学习,也可算对《C语言程序设计》的复习,为单片机开发打好软件基础。还是那个不恰当的比方,有《数据结构》作为基础比没有《数据结构》作为基础的,大专生就相当于本科生的能力了,本科生就相当于研究生的能力了。

最后,我们建议在大学二年级第一学期开设《实时操作系统》和《模拟电路》等后续课程。这些课程是对前面所学课程的补充和提高,如果《数据结构》没学好,学习《实时操作系统》也可算对《数据结构》的复习,为单片机开发打好软件基础。基于实时操作系统的单片机开发,对开发者的能力要求可大幅降低,能较容易开发出大型、复杂的单片机项目。还是那个不恰当的比方,有《实时操作系统》作为基础比没有《实时操作系统》作为基础的,大专生就相当于本科生的能力了,本科生就相当于研究生的能力了。

有了以上基础,相信大学生创新竞赛会更有价值!

乘风破浪会有时,直挂云帆济沧海。

我现在主要的工作是在推进中国的工科非计算机专业高校教学改革,研究成果的具体化, 就是大量高校教学改革教材的推出。相信单片机课程教育的改革会给当前的单片机教育和科技创新开创一片新的天地,相信各高校一定能培养出更多、更专业、更符合社会需求的优秀人才,希望能在我们这一代人的努力下,让我们中国的电子系统设计全球领先。

本文转载于STC宏晶公司,所有权归宏晶公司所有,本人仅作分享,如有侵权,请及时联系:[email protected]

你可能感兴趣的:((转载)STC对单片机相关学科群部分课程改革呼吁)