童英华
(青海师范大学 计算机学院,青海 西宁 810008)
随着物联网技术的普及,相应的嵌入式系统支撑技术也被广泛应用到工农业生产、国防军事,以及人们日常生活的每个方面。嵌入式技术日新月异的发展,也对人才培养提出了更高的标准,迫切要求高校进一步加强教学建设、深化教学改革,以满足市场对人才的迫切需求。
嵌入式系统从学科领域来说,涉及电子信息工程、计算机技术、通信工程、微电子学等;在系统架构方面涉及数字逻辑电路、模拟电路,其前修课程一般包括计算机组成原理、微机原理与接口技术、汇编语言程序设计、操作系统、程序设计语言、计算机体系结构等。明确培养什么样的人才,要明确嵌入式系统的体系结构。嵌入式产品的开发是由不同层次的开发人员来完成的,各层次开发所涉及的知识不同,对开发人员的要求也就不同。嵌入式系统模型由低到高依次包括硬件电路层、驱动程序层、实时操作系统层和用户应用程序层。硬件电路层是整个嵌入式系统的躯壳和基础,要求学生能具备一定的硬件电路基础知识,熟悉常见的硬件电路接口的编程,并初步具备独自根据芯片数据手册编程的能力;驱动程序层与系统各硬件设备进行交互,如嵌入式微处理器、系统总线和外围设备,实现硬件电路设备与用户应用程序之间的关联,将复杂的硬件设备抽象成一个结构良好的操作系统设备文件,并通过操作系统提供的统一应用程序接口函数为系统其他部分提供使用该设备的能力和方法。驱动层的学习相对较难,不仅要求学生懂硬件电路方面的知识,而且又要懂操作系统内核相关知识;操作系统层除了要求学生具备操作系统的基本知识外,还要求学生熟悉特定的嵌入式Linux操作系统;用户应用程序层的开发不仅需要学生具备熟练使用C语言编程的能力,还要求学生能将个人的创意进行深入、细致的分析,并通过编程语言实现。嵌入式系统课程的目标是培养学生掌握、具备常见接口电路设计,汇编语言和C语言编程的能力,能进行ARM处理器操作系统层面的驱动移植。学生侧重嵌入式微处理器和接口电路的设计及应用软件开发方面的学习应用。
理论教学时间不足。目前大多数院校嵌入式系统课程的教学安排为理论教学36学时,实验教学36学时。嵌入式系统与应用涵盖的知识量大,内容多,而课时量少,导致教师将知识大批量灌输给学生,学生死记硬背知识点,忽略了学生实践创新能力的培养,致使学生不能通过实践将理论知识进行灵活运用,加深对知识点的理解和升华,导致学生感觉枯燥和乏味,不能调动学生学习的兴趣、主动性和热情。因此,如何调动学生学习的热情,使其能自愿利用课余时间进行嵌入式系统的实践训练,组建嵌入式系统兴趣小组,培养学生分析问题、解决问题的能力与实践开发能力,是当前嵌入式系统课程教学面临的挑战,也是亟待解决的问题。
嵌入式系统课程是一门综合性和实践性都非常强的课程,动手实践对于课程的学习尤为重要,但目前的常规教学中实验安排方面仍然存在一些突出问题:
(1)课内实验学时有限,单纯依靠课内实验教学远远无法满足课程要求,但目前很多院校在进行实验课时只允许学生在课内做实验,而且由于设备管理和实验室安全方面的原因,实验室在课外时间不对学生开放;
(2)课内安排的实验内容更多的是为了配合课内理论教学的开展,学生只能在现成的实验箱上按部就班地进行一个个孤立的模块实验,缺乏知识的系统性,往往在课程结束后,学生不能有效建立完整的知识系统;
(3)现有的嵌入式实验教学的开展都是以购买厂家现成的实验箱为主,实验内容主要以完成验证性实验为主,学生在实验课中通常按照实验指导书的步骤按部就班地重复实验内容,实验教学很大程度上不由应用来推动,缺乏创新性,影响学生在实际应用系统开发中的创新实践能力与二次开发整合能力的培养。
嵌入式系统与应用最初的考核方式为笔试80%(期中笔试40%,期末笔试40%),平时考勤成绩10%,上机实验成绩10%。采用传统的试卷考核方式,主要针对理论知识的考核,而实践环节占比很小。对学生而言,课程的考核方式是指挥棒,虽然在实验课上会进行考勤并要求学生撰写实验报告,但由于实验设备的限制不能实现对每个学生实验实际效果的逐一考核,造成部分学生对实验课实践环节不重视,实验课教学目标的最终达成度低,导致课程综合设计实践环节的大作业出现部分学生无处下手、无法向前推进的困境。为引导学生重视实验实践环节,将考核分值贯穿于整个教学过程,不应该仅仅局限在以教材、课堂和教师为中心的传统应试教育考核模式,而应该重点关注学生动手实践能力以及灵活应用理论知识解决应用问题的能力,制定科学规范的过程化考核指标和模式。
贯彻以问题为导向的教学方法,理论课之前提出需要解决的问题,引导学生课下自主学习,在认真查阅资料的同时,课堂教学注重学生的参与度,课堂讨论与课堂讲授相结合。一方面通过课程前的任务驱动让学生广泛查阅嵌入式开发中的大量理论知识,由被动地接收课堂教师对知识点灌输式的学习方式转变为学生自主探究式学习,不仅可以补充理论教学时间不足的问题,而且能调动学生学习的主动性。同时,通过学生自主探究式学习,不断建立学生以问题为导向的学习方式转变,进而逐步提高分析问题、解决问题的能力。
实验教学的开展和学生的毕业设计、学校创新项目,以及嵌入式竞赛相结合,将部分已毕业同学的优秀嵌入式毕业设计、项目竞赛案例融入实验教学环节中,通过经典的案例讲解分析,让学生了解嵌入式应用系统的开发流程和框架。同时,通过本学院学生开发的案例,让学生树立开发的信心。对学生进行合理分组,针对班级中动手能力和解决问题能力教弱的同学,指导教师辅助进行架构设计、任务分解、团队分工,以能复现或补充优化之前的毕业设计为实验目标,关键在于通过训练,让学生体验开发流程,熟悉开发的关键技术。对于部分学有余力的同学,可以为其分配一些难度较大的系统设计,指导教师可以先介绍设计思路,以及开发的流程、方法,指导学生实践,逐步理清存在的问题,并加以解决。通过分组讨论、自主学习,以及教师引导,实现完整的嵌入式作品开发,不仅可以增强学生进行嵌入式开发的兴趣和信心,而且通过实践熟悉嵌入式开发的流程和主要技术环节,有助于学生学以致用,提高实践操作能力和分析问题、解决问题的能力。
改变传统考试中以期中、期末试卷考核为主的考核方法,改变以理论考试占比大,实践实验占比小的现状,增加实验实践操作的占比,逐步增加学生实验大作业的比重,依据学生在大作业中的分工和完成的工作量,给予适当的分值,提高学生的参与度、激发兴趣,提高学生的学习主动性。此外,对于部分学习兴趣浓厚,自主开发能力强的学生,鼓励和引导他们申请学校的创新项目,鼓励他们参加嵌入式、物联网大赛。对于完成校级创新项目、参加竞赛获奖的同学,在基础分值的基础上,适当给予额外的附加分值。通过考核方式的适当调整,让更多的学生自愿加入到嵌入式实践学习中来,从而实现对所学知识的活学活用。
嵌入式系统与应用是一门综合性和实践性要求都很强的课程,涉及的专业课程较多,要求教师在讲授过程中能将多个专业课程相联系,根据学生的专业特点,找到合适的切入点,采取多样、合理的理论教学、实验教学模式和考核方式,让更多的学生自发、主动地投入进来,便于学生熟练掌握开发流程,逐步提高学生嵌入式开发的能力,进而提高学生在实际应用中分析问题、解决问题的能力,并逐步培养学生的自主学习能力。