绪论:写作既是个人情感的抒发,也是对学术真理的探索,欢迎阅读由发表云整理的11篇计算机系毕业设计总结范文,希望它们能为您的写作提供参考和启发。
关键词:硬件课程群;实验体系;实验内容;实践能力
中图分类号:G642
文献标识码:B
我校计算机专业自99级开始进行了较大规模的扩招,但由于师资力量跟不上、实验条件和实验内容相对落后等原因,造成计算机硬件教育存在层次单一、教学内容滞后、理论与实践脱节等问题,学生普遍存在着“重软怕硬”的现象,毕业后硬件设计能力差,软件开发缺少后劲。为提高学生的硬件动手能力,增强毕业生的社会适应性,学院自2002年开始进行计算机硬件课程群建设及相应的硬件课程群实验体系建设,包括“计算机组成原理”等九门硬件课程及5门相关的实践课程。本文对我院计算机硬件课程群实验体系建设及硬件实践教学环节的改革进行了探讨与总结。
1构建科学完整的硬件课程群实验体系
在原有的课程体系下,我院为本科生开设的硬件实验教学课程有“数字逻辑实验”、“计算机组成实验”、“微机接口实验”、“单片机实验”。由于实验条件的限制,各课程实验内容相对独立,综合性、系统性较差;尚有部分硬件主干课程没有对应的实验课程,如系统结构。实验课程体系存在诸多问题。
(1) 缺乏对学生系统设计能力的培养。传统的硬件设计和软件设计相分离的设计方法成为阻碍设计和实现复杂、大规模系统的关键因素。系统平台的搭建、软硬件的协同设计验证和软硬件功能模块的可重用性已成为现阶段设计方法的热点。培养学生具有系统设计的思想成为当务之急。
(2) 缺乏对学生可编程芯片设计能力及EDA技术的培养。可编程芯片与EDA技术是现代电子设计的发展趋势,将可编程芯片设计及EDA技术引入实验教学中是时展的需要。
(3) 缺乏综合性的实践课程,学生的创新能力发挥受限。由于实验条件限制,原有的多数实验是基于纯硬件逻辑设计的,只是在面包板上用器件构建小系统,功能扩展性差;并且只能开设数量有限、技术含量较低的实验,学生无法开展自主的综合性设计,无法进行创新能力的培养。
为此,经过充分调研和论证,我院首先从修改03级教学计划入手,对课程体系中的多门课程进行了调整,同时理顺各门课程间的关系,构建起了新的硬件课程体系。该课程体系由必修课程、选修课程及配套实践三部分组成。必修课包括“组成原理”、“接口技术”、“系统结构”等基础课程。为适应社会需求,在选修课中删去原有的“诊断与容错”等一些过时的课程,增加“数据采集”、“计算机控制技术”、“嵌入式系统”等社会需求较强、实用价值高的应用性课程,同时新开了“模型机设计与组装”、“硬件综合实践”等实践课程。在07版教学计划中,又新增了“DSP原理与应用”、“嵌入式系统实践”等新课程,保证课程体系的实用性与先进性。
硬件系列课程从体系结构上划分为三个层次:基础层、应用层和提高层,其课程间的关系如图1所示。基础层为“数字电路”与“组成原理”。“数字电路”课程虽然在教学体系上不属于计算机硬件系列课程,但它是计算机硬件系统的技术基础,是必修的前续课;“组成原理”介绍计算机的基本组成和工作原理,解决整机概念;通过“电工电子实习”与“模型机设计与组装”两门实践课程,强化学生的硬件动手能力。在应用层中,通过“接口技术”介绍应用层的接口和相关外设,以“嵌入式系统”等四门实用性强的课程作为选修课,每门课程都配有相应的实验环节,并通过“硬件综合实践”、“嵌入式系统实践”强化学生对基础知识的掌握和综合应用。提高层为“系统结构”及“性能测试与分析”实践课程,通过学习和实践,能够使学生比较全面地掌握计算机系统的基本概念、基本原理、基本结构、基本分析方法、基本设计方法和性能评价方法,并建立起计算机系统的完整概念。
在硬件课程群实验体系建设过程中,突出强调课程体系的系统性和完备性。从第1学期到第7学期硬件实验不断线,层次逐步提高,实验内容衔接连贯。注意各硬件实践的相互次序和互补,使硬件实践训练层次化、系列化,以此来系统强化学生的硬件动手能力。同时调整各课程的开设顺序,理顺每门课与前导课和后续课之间的关系,从而保证硬件课程体系的系统性和完备性。
注:所有必修课程与选修课程均开设课内实验,包括验证实验(20%)、设计实验(80%);实践课程单独开设,包括综合实验(80%)、探索实验(20%)。
2改革实验教学内容与模式
计算机硬件系列课程的重要特点之一是工程性、实践性强。为了使学生在学过该系列课程后具备较强的实际动手能力和计算机应用系统的开发能力,应在实验教学内容的设置上体现出基础性、系统性、实用性和先进性,既要重视计算机硬件的基础内容,又要结合当今电子与计算机的最新发展。为此,我们对该硬件系列课程的实验教学内容和教学模式进行了改革创新。
2.1优化实验内容,引进实验新技术,提高硬件设计的效率和兴趣
随着计算机硬件技术的日益发展,各种各样的微处理器不断更新,功能不断增强,以FPGA为代表的数字系统现场集成技术取得了惊人的发展,嵌入式系统设计也逐步成为主流。为了使学生跟上时代潮流,了解最新技术,需要不断引入新设备、新技术,提高硬件设计的效率和兴趣。如更新的“组成原理”和“系统结构”实验台,通过RS232串口与PC机相连,可在PC机上编程并向系统装载实验程序,还可在PC机的图形界面下进行动态调试并观察实验的运行,使学生像设计软件一样来设计硬件,做到了硬件设计软件化,大大提高了硬件设计的效率和兴趣。“模型机设计与组装”,将CPLD和FPGA等技术引入,用CPLD来设计复杂模型机。“汇编语言”和“接口技术”补充Windows下设备驱动程序的设计与实现,增加PCI、USB的应用等内容。“系统结构”通过局域网组建小型的微机机群,研究探索多处理机操作系统,试验并行程序的运行与任务分配调控等功能。为适应当前嵌入式芯片的迅速普及应用,新开设了“嵌入式系统设计”课程设计。针对学生已学过多门硬件课程,但仍不能完成一个完整的、可独立工作的计算机系统设计问题,新开设了“硬件综合实践”,使同学亲自体会设计一台微型计算机系统的全过程。
2.2建立“验证型-设计型-综合型-探索型”的多层次实践教学模式
在实验教学内容的改革上,本着“加强基础、拓宽专业、注重实践、提高素质”的方针,将实验项目分为4类,即验证型、设计型、综合型、探索型,实验项目由浅入深,循序渐进。在所有硬件必修和选修课程中,全部开设课内实验。课内实验由验证实验(20%)、设计实验(80%)组成。所有实践课程都单独开设实验,包括综合实验(80%)、探索实验(20%)。这样,课内课程中开设“验证型”和“设计型”的实验,在后续课程设计中,开设“综合型”和“探索型”的实验,形成“验证型-设计型-综合型-探索型”的多层次实践教学模式,系统强化学生的综合设计和硬件动手能力。
在验证型实验中,注重使学生巩固基本理论,进一步掌握基本概念和基本技能。在设计型的实验中,注重培养学生的创新意识、设计能力和动手实践能力。在这一类实验中,以学生动手为主,教师辅导为辅,只给定实验的课题及达到的目的,中间过程需学生自己去查阅资料和设计方案,直至最后调试完成。在综合型实验中,注重培养学生综合运用所学知识的能力,使学生受到更为实际、更加全面的科学研究的训练。综合实验的特点是没有现成的模式可循,学生需要独立完成硬、软件设计和调试。在调试过程中,学生自己动手分析解决实验中出现的问题,虽然有一定的难度和深度,但对学生很有吸引力,能使学生从应付实验变为主动实验,不仅提高了基本操作技能,也发挥了学生的主观能动性和创造性。课程设计的部分内容属于探索型实验,学生可以自主选择感兴趣的课题及相关开发工具,写出设计书,交给指导教师审核后实施。在这一过程中,学生需要查阅大量的资料,培养了学生的自学能力、研究设计能力、独立分析问题及解决问题的能力和创新能力。
2.3确立“系列化硬件实践训练”方案
硬件实践训练由“课程实验-课程设计-综合训练-毕业设计”四个系列组成。课程实验――所有硬件课程都开设。课程设计――在“嵌入式系统”、“组成原理”等重点课程中开设,在这些课程的课内实验中进行部件或模块实验,在课程设计中进行综合性、创新性设计。综合训练――通过“硬件综合实践”展开。该课程安排在大四开设,是一门综合性设计实践课程,也是对前面所学课程的一个全面应用和总结,在硬件课程群建设中起着“总练兵”的作用。通过让学生亲自设计一台小型计算机控制系统,包括计算机的各个部件和功能,“麻雀虽小,五脏俱全”,旨在让学生真真切切感受到如何设计一个可独立工作的计算机系统,强化和提高学生的综合实践能力,培养学生的创新思维和创造能力。毕业设计――每年精选一定数量的硬件毕业设计题目,提供实验场所、设备及材料,让对硬件感兴趣的同学去实现自己的设计,放飞自己的理想。学生以接近于实际应用环境,完成高质量综合设计为训练手段,以掌握计算机硬件结构与应用系统设计作为主要训练目的,使学生对计算机的整个硬件系统有较全面、较系统的掌握。要求学生能够根据需要设计出一定规模的计算机硬件应用系统实例,从模板设计、制作、总线的走向、计算机部件选取、工作原理的分析、部件在模板上的部局、部件的焊接、运算能力的调试、结果正误的判断分析等流程的设计到具体的制作,直至最后写出毕业论文,使学生建立系统的概念与工程的概念。
3结束语
上述改革取得了令人满意的效果。大学生对计算机硬件实验课程学习的兴趣增强了,实验室开放期间,有更多的学生走进了硬件实验室。在毕业设计时,有更多的学生选择了与计算机硬件系统设计和开发相关的课题。学生做完硬件综合实习和硬件毕业设计课题后,普遍充满自豪感和成就感,感到硬件设计及底层软件开发不再可怕。通过这样的训练,提高了其综合设计能力和创新能力,同时也锻炼了他们的团队合作精神,步入单位就能直接胜任计算机应用系统设计、开发的工作,实现高校、学生、用人单位等各方面的多赢。同时我们也应该看到,随着新技术的不断发展,计算机硬件系列课程及其实验体系的建设和实验内容的改革是一项长期不懈的工作,需要不断完善。
参考文献
[1] 罗家奇,李云,葛桂萍等. 计算机硬件系统实验教学改革的研究[J]. 实验室研究与探索,2007,26(8):98-99.
中图分类号:G642 文献标识码:B
文章编号: 1672-5913(2007)10-0104-04
1“项目化”训练模式
浙江万里学院自2005年9月开始,在计算机专业部分实践课程教学中实施了“项目化”教学训练模式,比如“Internet应用”、“软件工程”、“专业实验”、“课程设计”等课程,学生们普遍表现出对于这种教学训练方式的欢迎,较好地提高了学习兴趣,给学生带来了良好的就业效应。
“项目化”训练模式是指在计算机专业实践性课程教学中,实践内容按照不同的规格形式设计成不同的演练项目,将参与的学生按课题组(项目团队)进行分组,组内学生分配不同任务,通过参与不同项目角色的演练,完成不同规格的要求,最终达到教学目标的一种个性化训练模式。项目,即与计算机专业相关的工程项目,可以是有一定综合性的课程实验项目,设计性的模拟项目,也可以是实际软件工程项目或其子项目等。实践性课程包含计算机专业实践教学体系之内的实验课程、课程设计、集中实践与实习,以及校外实习、毕业设计等,还包括素质拓展训练项目。该训练模式研究的目的是在1~4年级中,按照训练体系的安排,对学生实施“专业兴趣培养专业基础奠定专业技能训练行业小项目引导企事业实用项目开发”的过程培养,使学生在工程项目的认知、设计、开发、建设、管理、服务等系列训练过程中学习知识、锻炼技能、掌握技术、拓展素质、提升专业素养、实践能力和创新能力,为社会培养出贴近行业需求、角色定位明确、职业适应期短、综合素质高的应用型人才。
2毕业设计“项目化”组织
毕业设计是高等工科院校教学计划的重要组成部分,是工科类专业的最后一个教学环节。既是学生对所学专业知识综合运用的过程,也是学生将理论与实践相结合,发现、分析和解决问题,提高其能力的过程,更是培养学生创新精神的过程。抓好设计环节,无疑是极为重要的。然而,传统的工科学生毕业设计,大多是闭门造车,至多是模拟完成的。这种“纸上谈兵”式的毕业设计形式背离了高等教育培养人才的目标,严重脱离企业生产实际,造成了供需脱轨社会问题。
提倡产学结合的“项目化”毕业设计,改革毕业设计的内容和方式,对提高毕业设计质量,确保专业培养目标的实现具有重要意义。
在经过了一些课程“项目化”训练模式改革的基础上,部分学生已经具备了软件项目的设计开发能力,计算机系决定对2007届部分毕业生实施“项目化”的毕业设计改革尝试。项目来源于企业,其中较大的一个项目是宁波华力电脑公司进销存ERP项目,在经过充分的前期协商之后,学院与该公司签订了20万元的合作协议。项目按功能划分为五大模块:采购业务、销售业务、财务管理、其他管理、综合查询,如图1所示。
图1 项目模块划分
项目纳入毕业设计以后向全系师生公布,自愿报名,要求加入之后必须接受公司化管理机制,最终由7名教师和55名学生组成了一个大项目组,其组织结构如图2所示。
图2 项目人员组织结构
总负责人是有20余年软件设计开发经验的高级工程师(教师),办公室协调人员由教师担任,其余教师带领学生进入各项目模块,项目组和测试组成员全部由学生自主报名,在过程实施中也可适当调整,教师完全是以教练的角色参与项目过程。
3项目实施过程及要求
为了确保毕业设计质量,学院出台了一系列的规章制度,以加强毕业设计过程管理。对于基于实际项目的小组来说,时间限制、严格管理及规范要求尤为重要。
3.1时间保障
为缓解毕业设计与就业的时间冲突,毕业设计安排大多从第7学期开始,但是学生在第7学期依然会有课程学习、报考研究生、考公务员等事情,所以时间还是不宽松。我们的处理办法是:
(1) 在学期结束之前,从毕业论文要求的角度来讲,只要求项目组完成资料查阅,写出文献综述;确定方案,写出开题报告;从项目研发的角度来讲,要完成需求分析及初步方案论证。
(2) 在学期结束之后,项目组全体成员推迟放假10天,按照毕业设计进程计划及项目协议要求,完成项目的主体设计部分及相关工程文档初稿。
(3) 下学期开学的主要工作一方面是测试、整合、完善软件,最终交付用户使用;另一方面是完成整体毕业论文、工程文档、软件说明书等文档工作,准备论文答辩。
3.2过程管理
计算机与信息学院历年来注重毕业设计的过程管理工作,除了在二级学院网站上及时公布毕业设计进程及详细要求之外,学院每年印刷毕业设计手册,师生人手一册,包括了进度计划、选题申请表,文献综述、开题报告、任务书、论文等写作指导,以及论文详细格式规范、答辩记录与要求、成绩评定标准、过程管理监督签字表等内容。其中,过程管理签字表是为了确保毕业设计质量而要求每两周至少完成一次“毕业设计导师―班级导师―辅导员”三级签字手续,由导师分配设计任务,学生描述其完成情况,班级导师和辅导员给予确认。近几年实施结果表明,这是一种切实可行的保障毕业设计质量的措施。
对于项目组成员来说,由于有实际任务的压力,有项目经理负责管理,加上角色分工明确、要求具体,而且又是在集中时间、集中实验室中进行,因此过程管理比较容易。大多数同学都非常积极主动,争取早日完成指定任务,有些设计内容来回修改多次,从完成到完善,都是在项目总负责人的协调下进行。学生们从中不仅得到了软件开发过程的规范化锻炼,更重要的是学会了管理自己,学会了个人服从集体,学会了与客户、其他项目组、项目组内部人员之间的沟通协作问题。
3.3工程文档规范要求
软件开发工作技术性很强,除了要求参与人员必须具有一定的技术水平,更需要具备写文档的能力。因为一方面从事软件业人员的流动性比较大,一旦主要负责人员离开,又没有规范化文档留下,后续工作会变得非常困难。另一方面对于软件本身的更新与修改来说,同样离不开前期文档。从软件开发公司的实际运行结果看,文档问题长久以来一直困扰着整个行业。在著名软件的发展历史上,也不乏印证软件过程文档重要性的实例。
从毕业论文的角度,要求学生必须具备规范的文献综述、开题报告、中英文摘要、论文正文、参考文献、致谢、资料翻译等近两万字的文档材料。
从项目研发角度,要求学生提供:需求规格说明书、概要设计说明书、过程设计(亦称为详细设计)说明书、测试计划、测试报告、用户操作手册、项目开发总结报告、程序维护手册、软件问题报告和软件修改报告等相关文档。
本项目最后要形成一套面向客户的、详细的软件使用手册,一套面向软件工程的、标准的工程文档,多套面向毕业设计的、符合毕业论文要求和规范的毕业论文文档。
4思考
2007届基于实际项目的“项目化”毕业设计的实施,是浙江万里学院计算机专业教学改革的一次尝试。无论是从专业建设、学院教学改革方面,还是从教师角色挑战、学生学习重心偏移等方面,都是值得深入思考的。
(1) 学院领导的改革思路及大力支持至关重要。浙江万里学院各级领导都很年青,思维活跃、改革进取,使得学校得以快速发展。计算机专业的这种公司式的“项目化”毕业设计组织实施,如果没有学院在政策、经费、实验设备及场地上的大力支持,是无法实现的。
(2) 教师需要转变观念并付诸行动。近两年的改革活动,我们已经有近30名来自教学一线的教师参与,为培养“双师型”教师提供了锻炼的机会。特别是这次毕业设计的实际项目操作,对教师自身素质能力是一种挑战,大部分青年教师非常热心地投入,表现了极大的参与热情,突现出一批优秀的教师。但是也还存在着以下问题:
一是大多数高校教师都是出学校进学校,重理论轻实践。由于自身缺乏实践经验,因此在教学上基本是“纸上谈兵”。比如程序设计语言课,特别注重语法知识的讲解,往往是半个学期还没有进入实际程序设计,学生被繁杂的语法搞得不知所措,兴趣全无,进而对编程课和专业课的学习失去信心,在进入毕业设计时就不知从何处下手了。
二是集体组织观念不强,责任感不够。有些开发过软件项目,具有较强实际动手能力的教师,喜欢以自己的思路单打独斗,唯我独尊,不听从别人的意见,不注重团队配合,组织管理及协调能力不到位。有些教师缺乏责任感,认为项目好坏是总经理的事,应付差事,不管项目进展到多么关键时刻,依然是自己的私事最重要。这些思路整合和人员协调问题轻者造成项目进程缓慢,无法按计划完成,重者可能会造成项目失败。
因此,如何整合教师队伍,提升其实践能力和业务素养,提高组织管理能力和团队意识?如何让他们都能充分发挥骨干的作用?是值得我们思考的问题。
(3) “项目化”毕业设计充分挖掘出一般院校学生的潜力,展现了他们活跃的思维与创意,可如何提高受益面呢?
以实际项目为目标,以实际公司化组织模式来组织师生团队,激发了学生们的创新热情。同时他们的表现也给老师们带来了惊喜,我们的学生有思想、会创新,同样具有废寝忘食的精神,动手能力不比一本、二本的学生差。这样的毕业设计活动深受学生及其家长欢迎,基于学院与北京起步科技公司合作人才培养协议,在这次毕业设计项目组中,有五位学生得到公司技术管理人员的认可,再经过明年几个月的训练,即可去北京总公司或上海的分公司应聘工作,待遇优厚。
但是,从这次项目组合来看,不是所有学生都能够积极主动,有些组中间不得不调换人员,原因是部分学生对软件开发不感兴趣,报名时有点混水摸鱼,没想到这么辛苦,还要迟放假,于是就知难而退,不思进取,这也是很多同类院校部分学生的现状问题。
(4) “项目化”实践教学评价体系的构建问题。在实际项目实施中,体现了沟通能力与团队协作精神的重要性。有些平时学习成绩好、但孤高自傲、独来独往的同学,不能与人和睦相处而不被团队欢迎。相反,平时学习成绩一般的学生,思维活跃、组织管理能力很强,反而能当好项目经理。这使得多年来以考试分数为唯一考评体系的教育模式受到冲击。目前,我们采取的主要考核办法是:不同的岗位角色给出不同考核标准,每一角色又是基于完成任务的效果及与他人合作的结果进行评定,目前还无法确定一个量化指标,有待进一步探讨。
5结束语
“项目化”训练模式是在计算机专业教育与社会需求之间出现脱离的情况下孕育而生的改革措施,是一种综合性强、互动性高、知识含量大、实用性广的实践教学活动。经过浙江万里学院计算机系从简单课程到毕业设计的教学试验表明,该模式彻底打破了学生只学习课本知识,不知道如何应用于实际的僵局,能快速提高学生软件开发的实战能力,锻炼学生的组织管理能力,培养学生的团队合作精神。很多学生由此看到了未来职业对自己的要求,因而端正了学习态度,明确了职业方向,增强了学习动力,提高了学习效果。教师们也普遍看到了这种教学模式对于扭转“供需不对应”社会问题的建设性作用。有理由相信,经过不断的探索和改进,一段时间后,这种模式必然会改进本专业毕业生的社会认可程度,为应用型本科院校计算机专业教学中闯出一条新的教学之路。
参考文献
[1] 黄明和等. “导师制下项目驱动教学模式”的研究与实践[J]. 计算机教育,2007,38,(2):29-32.
[2] 李继芳. 毕业设计(论文)过程管理与提高质量的探索[J]. 科技信息(学术版),2006,3,(B):24-25.
[3] 龚方红,汤正华,蒋必彪. 试论工程教育中的本科实验教学改革[J]. 中国高教研究,2006,(4):86-87.
关键词:教学改革;创新型人才;计算机硬件实验
中图分类号:G642
文献标识码:B
1计算机硬件实验普遍存在的问题分析
目前,国内大多数高等院校的实验组织模式和实验手段主要存在以下问题:
“一人动手大家看”的“放羊式”
实验的内容、步骤严格按照教材(实验指导书)进行
实验内容陈旧、与工程实际脱节
本科生和研究生的实验环境分别建设
计算机学科的课程内容具有很强的交叉性和相关性。针对每门具体课程单独设置实验及单独提供实验环境,一方面很难使学生对其前导课程所完成的基础能力做要求,同时也很难兼顾到其后续课程,各自独立,相互间缺少有效的贯通;另一方面实验环境重复建设,实验资源得不到充分利用。下面以“数字逻辑”、“计算机组成原理”和“计算机系统结构”三门硬件主干课程为例说明计算机硬件实验的现状。
(1) “数字逻辑”是计算机专业必修的专业基础课,目的在于掌握计算机数字电路设计和调试方法,为后续硬件课程奠定基础。而相应的“数字逻辑实验装置”一般仅能用于TTL与GAL器件的实验;有部分学校购置的实验装置还不能进行GAL器件的实验。实验一般使用小规模74系列TTL器件,通过面包板实现输入/输出连线,其可靠性低、元器件易损,复杂实验受到限制,很难支持设计型实验;许多目前流行的硬件设计方法,如采用EDA(电子设计自动化)工具的基于CPLD(复杂可编程逻辑器件)的逻辑设计等,更是因为硬件设计环境不够而无法进行。
(2) “计算机组成原理”作为计算机专业的核心课程,目前很多大学采用类似清华大学计算机厂早期研制的实验装置,采用面包板和拨位开关等输入/输出接线,调试手段缺乏,支持的实验内容少,对CPU设计之类的实验没法很好地开展。即使一些新的实验装置,重点仍然是支持验证型实验,设计型实验的开展仍具有局限性。
(3) “计算机体系结构”作为计算机专业的高端专业课,由于缺乏实验条件,很多学校还没有开设实验,少数开设实验的学校也只能采用系统结构模拟软件进行模拟实验。大多数该类模拟软件运行在UNIX平台上,参数设置复杂、接口界面不友好,使用起来费时费力。学生只是通过课堂学习来掌握计算机体系结构的内容,缺乏对计算机体系结构的感性认识,更谈不上培养学生的设计与创新性能力。
由于以上三门课程目前都只针对自己的课程内容单独设置实验并单独提供实验环境,这些相关性非常强的课程各自独立,相互间缺少有效的贯通,不仅导致了实验环境的重复建设,实验资源得不到充分利用,而且也不利于学生对计算机硬件体系有一个系统的了解,更无法对本科生的课程设计、毕业设计等大型和综合型训练提供必要的支撑环境。
为了解决目前计算机硬件实验教学中存在的问题,需要建立能满足计算机专业实验教学需求的,集实践性、先进性、开放性、创新性为一体的先进硬件实验教学体系,结合EDA、软件模拟和虚拟现实等先进的实验手段建立集基本验证、综合设计和创新研究为一体硬件实验平台,促进理论教学与实践教学紧密结合,以适应学科发展和IT企业对高层次计算机专业人才的更高需求。
2 适应多层次人才培养需要的计算机硬件实验体系的建立
为了构建适合本科生、研究生多层次需要的一体化的实验教学体系,我们对国内外著名大学的课程及实验教学大纲等做了深入的研究,主要做了以下几个方面的研究工作:
(1) 研究计算机专业硬件课程及其实验课程当前的设置和今后的发展趋势;
(2) 剖析计算机专业硬件相关课程之间的衔接关系;
(3) 分析教学实验和科研实验的本质,发现本科阶段以及研究生阶段主要硬件课程教学实验的规律。
基于以上研究工作,我们设计的计算机硬件实验体系主要包含以下层次。
2.1系统化的计算机硬件实验内容层次
计算机学科是目前更新换代最快的学科之一,实验在设计时必须和实际工程结合紧密。实验内容和手段的设计必须是以培养具有很好实践能力和一定创新能力的本科毕业生为目标。因此,我们将每门课程实验的内容分为以下三个层次:
基础验证型:主要用于验证课程当中所讲的内容,加深对课堂知识的理解,并培养学生的基本专业技能和实际操作能力。
综合设计型:这类实验一方面可以加强学生对相关课程的理解,更主要的是培养了学生综合分析能力和独立解决问题的能力。
创新研究性:这类实验要求学生自行设计目标并进行实验;实验允许失败,但是必须对失败原因和改进设想做深入的分析和探讨。这类实验是学生早期参加科学研究的一种重要形式,主要培养学生的创新意识、创造性思维及创造性个性,使学生创新性的想象力、判断力、思维能力和实践能力得到提高。
这三个实验从内容上由浅入深、由易到难,从对学生的要求上是由低到高的。其中前两类实验主要针对本科生设计,第三类实验主要针对少数有余力的低年级本科生、多数毕业设计阶段的本科生和所有研究生设计。
在多层次实验教学中,教师的主要作用在于启发学生认识实验教学的目的和意义,组织开展实验教学活动,引导学生研究问题,指导学生的实验过程和认真完成各项实验任务。在实验教学中,教师要教育学生树立严谨的科学态度,鼓励学生勇于求异的创新意识,注意培养学生独立解决问题的能力。
2.2计算机硬件课程层次的建立
以西安交通大学计算机学科为例,本科生和研究生的硬件相关课程体系中主干课程由“数字逻辑与数字系统”、“计算机组成原理”、“计算机体系结构”、“高性能计算机体系结构”和“计算机系统的量化研究方法”组成,其中前三门课程为本科生课程,后两门课程为研究生课程。与主干课程相关的本科生必修课程还包括“汇编语言程序设计”、“微机原理和接口技术”、“操作系统原理”、“计算机网络原理”、“嵌入式系统”;研究生课程包括“计算机网络理论及应用”、“VHDL和FPGA设计”、“分布式系统”等。这些课程,特别是主干课程,不仅有较强的顺序性,而且课程内容的相关性很强。图1给出了计算机硬件主干课程的实验层次。其中,虚线方框部分为偏软件类型的实验。
图1 计算机硬件主干课程实验层次
从图1可以看出,计算机专业本科阶段硬件主干实验课程主要为数字逻辑专题实验、计算机组成专题实验、微机接口专题实验;并且这三个实验中,每个实验的开展必须以前一个课程为基础;课程实验从内容到形式都有很密切联系。为了让学生学习完这些课程后对计算机硬件结构有一个系统和感性的认识,我们在设计这三个实验时,首先设立了一个总的培养目标,每个课程组根据这个目标,结合本课程的内容和培养目标分阶段完成相关支撑的实验内容,并且这些实验可以采用一致的实验手段和平台。具体措施主要包括以下两方面内容:
(1) 对于每门具体的计算机硬件课程均设置8学时的课内实验,实验类型为独立的基础验证性。
(2) 硬件课程都有配套的专题实验,专题实验均为综合设计型。主干课程的实验为必修专题实验,其他小部分课程实验为选修专题实验。以工程项目设计实验为目标形成多个系列,同一系列实验间具有时间先后关系、支撑与被支撑关系。例如图1中的“数字逻辑”、“计算机组成原理”和“计算机系统结构”三门硬件课程就构成了一个主干的硬件实验系列。这三门课程的实验必须在内容上具有前后相关性,并采用基本一致的实验方法和平台。
2.3多样化的计算机硬件实验平台层次
在硬件开发平台的设计上兼顾不同层次人才的培养需要,综合本硕博各个阶段的不同需求,构建多层次的实验环境,提高实验效率,促进学生的创新思维,进行创新式构建实验。还要考虑对毕业设计的实验环境以及本科生创新性研究活动实验体系的支持,结合软件设计的方法和手段(即硬件设计软件化)构建灵活多样的硬件实验平台。此外,实验平台设计要具有层次性,并且考虑课程间内容交叉和互补。
从国外的发展趋势来看,计算机硬件课程的实验由传统的孤立的实验装置承担,发展到了由EDA和CPLD/FPGA仿真器联合承担的阶段。
传统的实验装置支持相对简单的连线类的实验,这类实验只能使用中小规模的集成电路器件。设计大规模的实验几乎是不可能的,因为大规模的实验用中小规模的芯片来实现费时、费力,且受面包板等空间和实验装置能提供的电源限制。
使用HDL语言,如AHDL、VHDL和Verilog等,通过EDA工具软件设计各种规模的数字电子系统是目前工程师的设计潮流。通过EDA和CPLD/FPGA仿真器能完成计算机硬件课程的各类实验。图2是我们设计实现的一款低成本综合实验装置,该装置使用了Xilinx公司Spartan-3系列FPGA芯片(40万门),通过扩充板可以满足大部分的实验要求。
图2 一款综合实验装置的PCB的元器件布局示意图
2.4多层次的实验考核体制
实验的考核主要有以下几种形式。
(1) 实验过程的跟踪考核:改变传统的根据实验结果和报告打分的体制,对实验过程中的主要环节进行记录、评价,并作为最终成绩考核的依据。
(2) 实验报告撰写:实验结束后,要求学生撰写实验报告,以总结个人实验结果,明晰实验思路,实现知识的融合、升华和再学习。通过实验报告的撰写可以培养学生对科技活动的总结能力,科技论文的写作能力,使学生的科研素养得到初步锻炼。
(3) 实验答辩机制:对于综合设计型,特别是创新研究型实验,前两种考核机制存在明显的不足,因此需要引入新的机制来评价学生所做工作及取得的成绩。可通过学生讲解、演示,教师提问和回答,课程设计报告撰写三个步骤来进行考核。
参考文献
[1] 蒋景华. 麻省理工学院培养创新人才特色的做法的分析研究[J]. 实验技术与管理,2006,23(6):1-4.
[2] 朱颖. FPGA实验开发系统的设计和实现[D]. 西安交通大学计算机科学与技术系,2005.
[3] 赵妍. FPGA开发系统的设计实现和实例开发[D]. 西安交通大学计算机科学与技术系,2007.
[4] 贾国芳. 高校计算机基础课程体系建设与教学改革探析[J]. 科技教育创新,2007(7):220-221.
计算机专业是一个理论与实践相结合的、极具工程背景的专业。计算机专业的毕业设计大多除了要求学生写出论文外,还要求学生实现一个软件或硬件系统。这种设计是实现专业人才培养目标的综合I生实践教学环节,也是培养学生运用本学科的基本理论和专业知识,提高分析和解决工程实际问题的能力、独立工作的能力和创新意识的重要途径,更是对学生能力和素质的全面检查。因此,深入研究计算机专业毕业设计教学对于提高毕业生综合能力和工程素质有着重要作用。
1 CDIO工程教育模式
由麻省理工学院、瑞典皇家工学院等4所大学研究创立的CDIO工程教育模式是国际高等工程教育改革的新成果。CDIO以产品研发到产品运行的过程为载体,让学生以实践的、主动的、课程之间有机联系的方式学习工程。CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人能力、人际团队能力和工程系统能力4个层面,大纲要求以综合的培养方式使学生在这4个层面上达到预定目标。
2 基于CDIO的计算机专业毕业设计教学改革
2.1 基于CDIO的毕业设计教学模式
建立高水平的教学方法与模式是高校教学设计的核心任务,为保证毕业设计改革的合理性和科学性,我们将CDIO理念融合在计算机毕业设计教学目标、教学过程、教学评价与教学环境的全过程中。从教学执行时间、教学模式、教学内容与组织、教学评估等方面对毕业设计进行改革,改革后的教学模式如图1所示。根据社会对计算机人才的具体需求,结合计算机软、硬件系统的设计开发过程和基本原理,形成一个以计算机基础知识和程序设计实践为一体的本科学习团队的整体培养机制。我们将CDIO能力大纲与计算机专业的人才培养特点相结合,全面均衡地提高计算机专业学生的创新能力和职业素质。
2.1.1 采用面向能力培养,强调“学生为中心,教师为引导”的建构主义教学模式
改变目前的“导师命题一学生选题”的毕业设计模式,充分强调整个毕业设计过程中以学生为主体的理念。毕业设计题目的确定是一个复杂的过程,题目的设置既要反映学生综合应用专业知识的能力,又要体现出计算机专业工程背景的特点。因此,选题时教师应尽量满足学生就业岗位的需求,并结合学生大学所学习的专业课程。一方面,学生可以根据他们在企业实习中发现的实际工程问题或指导教师的相关科研课题,提出毕业设计研究方向和题目,再由指导教师审核确定题目。另一方面,指导教师应适当考虑学生的兴趣和爱好,启发、引导学生研究具有实际应用价值的课题;学生通过调研、阅读文献等手段对课题的发展方向和研究内容有了深入了解后,再确定毕业设计题目。将具有应用价值和明确工程背景的题目作为毕业设计题目,不但可以提高学生毕业设计的积极性,而且有助于学生胜任未来相关技术岗位和工作。
CDIO工程教育理念强调工程系统的实践能力,因此,在毕业设计教学过程中采取“内引外联”双导师制度的指导方式。首先,鼓励导师组织学生参与导师的科研项目、大学生实践创新训练计划、各类多级别的学科竞赛等,提高学生实战动手能力;其次,构建开放培养平台,与企业建立横向联合,让企业工程师与学校导师共同指导毕业设计,加强工程实践教育,缩短学校理论教学与企业实际需求的距离。学生通过工程实践可以了解计算机相关项目的开发过程,学习工程师的宝贵经验,从而提升自身的综合能力和工程素质。
CDIO工程教育理念强调人际和团队协作能力,这与大型计算机系统开发依靠团队协同完成的开发模式是一致的。在毕业设计中,学生以课题小组的形式开发应用系统,小组成员各自分工不同,成员发挥各自的认知特点,相互沟通、帮助以实现小组成员的共同目标。学生在拿到设计任务之后,经过认真的分析、思考,制订出一套解决方案,供组内成员讨论。教师定期组织学生进行小组讨论,学生先介绍自己的思路、工作进度和任务完成情况,然后共同讨论知识难点,在协作学习的氛围内探究问题最佳的解决方案。另外,学生完成阶段任务之后,小组成员包括教师要对任务的完成情况进行评价,评价结果可以作为毕业设计评价的依据。
从选题、构思到团队分组等过程全部由学生自主完成,教师应尽量以启发的方式给予合理化建议,辅助学生完成毕业设计,而不再是保姆式的监督、纠正和修改学生毕业设计中的所有问题。
2.1.2 以产品过程为导向,设计教学内容与教学组织
工程教育一定是以应用为目的、以产品/结果为目标、以工程过程(即问题解决过程)为教学组织主线、以“理论+经验”的“做中学”为教学模式的一种教育。基于CDIO理念的毕业设计教学流程主要分4个阶段,导师应指导学生参与毕业设计教学流程中的每一个过程。
(1)构思(C)阶段。确定题目和开题,即在确定毕业设计课题、分组与调研方案后,给学生下达毕业论文设计任务书,并让学生提交开题报告,准备进入实质性设计阶段。设计任务书规定了设计题目、要求完成的主要内容、使用的开发工具、成果提交形式及完成日期等。
(2)设计(D)阶段。学生应在导师帮助下掌握计算机软、硬件系统设计的相关理论和方法。计算机相关的开发不仅仅是编程,还包括可行性分析、需求分析、概要设计、详细设计等过程。需求分析是毕业设计过程中的关键过程,此阶段的任务是确定系统的目的、范围、定义和功能,需要团队成员多次调试、讨论。设计阶段应完成对系统的体系架构、模块划分、接口规范、开发工具及任务分配等的明确说明,并提交相关设计说明书等资料。学生应在导师的指导下不断完善构思与设计,提高毕业设计质量。
(3)实现(I)阶段。即把设计的内容转化为实际的软、硬件系统,包括编码、调试、测试等过程。在编码阶段主要是让 学生养成好的开发习惯,保证代码的结构化、可读性和可移植性;及时进行模块测试,写出测试计划,提交测试分析报告。此外,这一阶段教师还要做好毕业设计评估工作中对毕业设计工作的中期检查,完成中期报告。除了阐述设计思路、工作原理、关键技术外,教师还要参照任务书检查已完成的任务、尚需完成的任务、存在的问题、解决方法等,同时对毕业设计工作进度给予评价。教师通过中期检查及时发现并纠正存在的问题,督促学生按任务书中的要求和时间进度完成工作。
(4)运作(O)阶段。此阶段需要导师引导学生总结设计工作,撰写论文。要求学生掌握论文的写作规范及写作要素,同时要求导师对论文提出书面修改意见,并督促学生修改完善。毕业设计答辩流程采取分级审核制,也就是导师初审、预答辩小组会审、正式答辩小组终审的分级审核和学院备案的制度。导师应该根据毕业设计过程中学生的表现和平时成绩,决定是否给予学生预答辩资格。学生通过预答辩熟悉答辩程序后,及时发现并修改设计及论文的不足,预答辩小组决定是否给予学生正式答辩的资格。答辩采用项目验收的形式,答辩人利用PPT介绍设计工作的内容和完成情况,现场运行和查看源代码,并接受教师提问。最后学院对答辩结果进行抽样调查以核查成绩是否公平合理,并设计复评制度,必要时可以复审。
2.2 基于CDIO的毕业设计实施过程
重新设计的本科毕业设计实施过程如图2所示。该做法将毕业设计时间提前,避免传统毕业设计时间与学生就业时间的冲突,以缓解毕业生的双重压力。学生在学校也有充足的时间查询资料、编写代码、调试系统、撰写论文、准备答辩等。
(1)引导阶段。改变毕业设计起始时间,从大三上学期即可进入毕业设计引导阶段。基于学生已学习了本科阶段的主要基础课程,教师首先要对所有学生介绍毕业设计的重要性、必要性、执行流程、如何选题、如何开展等情况,并特别强调毕业设计的评价标准,使学生对毕业设计有初步的认识。然后,学生可根据自己的兴趣、爱好广泛查阅相关资料,了解研究、设计的方向,在学期末提交一份总结报告。引导阶段主要培养学生综合分析问题、调研、检索网络资料和查阅文献的能力。
(2)选题阶段。大三的下学期进入选题阶段。选题过程可由学生先行提出毕业设计题目、方向,再由教师审核创新性、可行性,教师亦可以通过启发、引导的方式提出课题方向,必要的时候教师要给予技术支持和演示。选题阶段主要培养学生发现问题的能力。
(3)执行阶段。大四上学期是毕业设计的执行阶段。经过了缜密的选题阶段,教师需引导学生综合运用所学的专业知识,包括算法设计、数据库设计、软件开发方法、程序编写、界面的美化、程序调试等,实现毕业设计。这个阶段主要培养学生解决问题的能力。
(4)总结阶段。大四下学期,学生开始整理文档、撰写论文、准备答辩,教师要督促学生写出系统测试分析报告,同时让学生整理完善计算机软件设计说明书、用户手册、操作手册等文档。这个阶段主要培养学生的软件文档编制和编写材料的能力,进一步提升学生的软件设计与开发能力。
2.3 基于CDIO的毕业设计教学评价标准的制订
CDIO教育模式评价标准(标准11)的核心是能力的培养,能力本位的观点贯穿于毕业设计的全过程。为确保能力评价过程的合理性和有效性,评价标准采用不同的方式和手段评价不同的能力:
(1)评价的理念应强调学习过程,力求知识与能力的协调统一。学生的知识掌握与能力的建立是通过整个毕业设计教学环节活动获得的,评价以“过程”为基础开展,关注知识、技能的学习过程,关注实践环节及工程应用的能力。评价不能像传统评价模式那样只集中在毕业设计答辩环节。毕业设计过程中,学生的文献检索、网络使用能力,团队合作中的协同能力,困难问题的处理能力,专业技能的积累能力,论文撰写能力等都是评价学生毕业设计质量不可忽略的依据。
(2)评价的功能应关注工程实际,把握需求与个性特点的有机结合。由于学生的设计题目多来自企业实际,因此,对学生能力的评价不仅要来自学校指导教师和学生团队,也要来自企业导师。对学生工程意识的建立、工程实践的能力和产业经验的评价,企业导师拥有最大的发言权。引人CDIO模型后,评价的功能应由侧重成绩“优差”转向侧重学生的个性特点。学生的个性特点包括品德、兴趣、特长、能力等方面,品德表达了为什么干,兴趣表达了想干什么,特长表达了会干什么,能力表达了能干什么。因此,毕业设计评价应关注学生的个性特点,强调评价的针对性、情景性与真实性。
(3)评价的标准与方法应体现革新,突出主动性与阶段性的特点。评价标准是实施CDIO教育的关键,我们根据CDIO教学理念对人才的要求,提出对毕业设计教学的评价从专业技术知识、动手实践能力、创新能力、团队协作能力4个方面进行评价,相应地制订多元化、多层次、可供组合的毕业设计质量评价标准与指标,并将评价机制贯穿于整个毕业设计过程中。专业知识评价用来衡量学生对基础理论知识、核心工程技术的掌握程度;实践能力评价主要考核学生运用知识解决实际问题的能力;创新能力评价用来评估学生的工程分析、推理和创造性设计的能力;团队协作能力评价记录整个设计过程中团队分工、交流、协调、合作的具体内容,并据此对团队协作能力进行评价。以“分阶段任务式”的方式进行评价,摒弃传统观念造成的模式化操作过程。对计算机专业毕业设计内容而言,可行性分析、需求分析、系统设计、系统实现及测试等完整的工程过程是毕业设计成果质量的基本保证,应从制度上要求对毕业设计各分阶段进行严格检查,对学生的调研报告、开题报告、中期检查、软硬件系统设计、论文撰写、答辩等阶段实现全程监控,保证毕业设计高质量的完成。
(4)评价的过程应呈现多维度,要求客观、公开地反映评价结果。毕业设计评价过程有时会因为不同评审人员采用的指标评价体系不同、毕业设计各类属性值与指标权重值的不同源 性而失去客观性。为加强评价过程的客观性,在评价过程中力求多人员、多层次、多维度地开展评价工作,如毕业设计评价由指导老师、评阅老师和答辩小组综合制订。校内指导教师主要侧重学生设计阶段的评价,企业指导教师主要侧重工程意识建立、工程实践能力的评价,评阅教师主要侧重论文文本规范性的评价,答辩小组主要侧重答辩时学生的表现和系统演示的效果以及项目指标、功能、性能完成情况等的评价。还可以利用常用的评价方法,如层次分析法、模糊层次分析法等建立本科毕业设计质量评价系统,加强评价过程的客观性。在对每个方面的评价过程中,评估结果要体现客观定量与主观定性的结合。毕业设计评价要客观透明,评分机制要具有操作性和科学性。另外,毕业设计评价最后要进行审核,以提高毕业设计结果的权威性。
3 结语
笔者以CDIO工程教育理念为指导,基于对教学本质的理解,结合计算机专业的工程教育特点,分析和梳理了计算机专业毕业设计的全过程,对毕业设计选题、时间安排、教学过程以及毕业设计评价等几个方面进行了教学改革,按照构思、设计、实施、运行4个环节开展毕业设计,并将改革模式应用于宁夏大学计算机专业毕业生,取得了较好的效果,为计算机类专业的毕业设计教学改革提供了一种切实可行的教学模式。未来本文选自《计算机教育》2014年第8期,版权归原作者和期刊所有,如有异议,请联系QQ712086967,我们将在第一时间处理。我们将在毕业设计的教学组织、实施过程等方面进一步改进和完善,使该模式更科学、合理,切实提高计算机专业毕业设计教学的质量。
参考文献:
[1]张红延.面向能力培养的工科专业课教学设计方法[J].计算机教育,2010(11):54-59.
[2]王娜,徐鲁雄.基于任务驱动的计算机专业毕业设计的实践[J].福建师大福清分校学报,2012(2):37-41.
一、毕业设计的必要性
高等职业教育应该是以能力为本位、以学生为主体、以实践为导向的教育。近年来为适应社会发展的需求,有学者提出打破传统的“文化课一专业基础课一专业课”三段式的课程组合结构,按照新的人才观标准,实施“职业思想道德一职业基础知识与能力一职业知识与能力一职业拓展知识与能力”的新课程组合。我们认为,高职院校软件相关专业组织毕业设计符合新的人才培养标准,对培养学生的职业技能和素质具有重要意义。
在实践中我们意识到,通过毕业设计能够锻炼学生以下方面的能力:
1.独立解决问题的能力。高职院校学生普遍存在着基础薄弱又缺乏刻苦精神、渴望一技之长又不知如何下手等问题。大多数学生虽然在学校经过两年半的学习,但对程序和软件的理解不够,动手能力差。学校教育和IT行业对软件开发人员要求之间的差距,只有通过实际的大型训练才能弥补。毕业设计的进行过程中学生一定会遇到平时课堂学习中碰不到的困难和挑战,克服这些困难的过程就是软件技术和心理素质逐步提高的过程。
2.团结协作的能力。今天IT行业早己不再是个人英雄主义的时代,能否具备团结协作的意识和能力己成为IT行业对人才的基本要求之一。学生在平时的课程教学和作业中难有训练这种能力的机会,毕业设计一般是分小组进行的,小组成员之间代码、文档的交流以及相互之间讨论和协商都是对学生基本素质的锻炼。
3.实践软件工程的相关原则。具备软件工程思想是软件开发从业人员的必备素质之一,在日常的教学中由于缺乏软件开发的实践训练,学生们往往感觉软件工程这门课非常抽象,对其中提到的软件开发和测试的理论和方法等方面理解不够。毕业设计的过程,就是一个课题小组从接到开发任务到提交产品和文档的过程,其中涉及到需求分析、概要设计、详细设计、编码、测试、程序打包安装、编写文档等软件工程的方方面面。经过这样的锻炼,学生们对软件工程思想和方法的理解必定会大大加深。
二、关于毕业设计的选题
选题是毕业设计的第一步,也是非常重要的一步,教师选题一般需要注意题目的新颖性、现实意义和可行性。这样的选题对引起学生的探索兴趣,提高能力大有帮助。计算机专业毕业设计选题范围一般包括。数据库研究与应用;计算机网络与应用;程序设计的理论与方法;信息可视化与应用等方面。毕业设计的地点可以在学校内,科研单位,企业等,只要有研究开发的环境即可,时间一般12周左右。
一般毕业设计选题存在的问题主要有:题目偏小单一,得不到综合性训练;题目重复,多人同题;指导教师要求不严,走形式;题目年年相同没有新意,使毕业设计难以达到预期的效果。高职院校计算机软件相关专业的学生在毕业设计之前主要学习的课程包括:软件开发语言和工具(如C语言、C#、ASP、Java)等、数据库管理软件如(Access,SQLServer)、计算机网络原理和软件工程等,这些必备的知识和技能是IT行业对软件相关专业毕业生素质的基本要求。笔者认为,毕业设计的选题可以分为四大类:程序设计类、数据库应用类、网络通信类和网站开发类。选题的基本原则主要是题目的综合性和新颖性两方面。
(一)程序设计类
程序的设计和开发是软件行业的基本内容,也是软件行业对相关从业人员的基本要求之一。近年来我国软件行业提出了“蓝领”工人的说法,各地陆续出现了以培养编码人员为目的的软件学院。这些程序员学历不高,但对某些开发工具的掌握非常熟练,能够很好的完成分配的任务。可见培养和训练学生的程序设计能力是适应软件行业发展需要的。《数据结构》课程是计算机软件相关专业重要的基础课,内容丰富,实践性强。虽然在课程的教学中都安排有相关的上机实验,但效果并不很理想。实践中我们认识到,毕业设计程序设计类的选题围绕数据结构的相关内容进行,对提高学生的动手能力、加深对软件的理解和认识都大有益处。
数据结构算法演示程序可以做为课堂教学的重要补充,以可视化的方式解释程序运行的中间过程,可以帮助学生更好的理解算法。国内外很多著名的高校都开发有类似的演示系统做为教学辅助课件。结合高职院校学生的实际情况笔者认为以下一些题目可以做为毕业设计选题的参考。
1.汉诺塔问题的演示。这个题目是围绕递归方法进行的,要求通过动画的方式演示盘子的每一个移动过程,对帮助学生深入理解递归思想很有帮助。
2.表达式运算及转换的演示。堆栈是一种使用频率很高的数据结构,在程序设计的实践中有广泛应用。中缀表达式转换为后缀表达式、后缀表达式求值的过程不是太好理解,如果演示程序能够动态显示每一步堆栈的变化以及程序的动作,那么理解表达式运算及其转换的过程就比较容易了。
3.排序算法的演示。排序算法在数据结构中占有重要地位,各种排序方法看似简单,却是许多计算机科学家智慧的结晶。开发排序算法的演示程序,利用柱状图形表示待排序的数据,详细显示排序过程中不同算法的每一步处理过程,统计数据比较和移动的次数;随机生产大量数据,利用多线程技术实现多个排序算法的效率比较。实现这些功能对于帮助学生理解和掌握各种排序的原理很有帮助。
(二)数据库应用类
社会各个行业信息化的进步促进了数据库应用系统的普及,类似图书管理系统、仓库管理系统、人事管理系统、教务管理系统等小型软件都是一般毕业设计的常用选题范围。在实践中我们意识到,数据库应用类题目的选择最重要的是与社会实际需要紧密联系,例如为汽车专卖店开发实用的汽车销售管理系统,这样可以使学生了解行业终端用户的需求,在完成需求分析的基础上进行设计,避免闭门造车。
(三)网络通信类
网络的应用和普及使计算机的世界更加丰富多彩,网络通信类程序的设计开发己成为软件开发的重要分支,也是学生毕业设计选题的重要来源,很多题目能够兼顾理论和实践,对学生而言即十分有意义又有趣味性和挑战性。
1.Client/server模式的通信程序。利用TCP或UDP网络协议开发客户机/服务器模式的通信程序很简单,在此基础上进行功能的扩展,可以开发聊天工具、局域网网络监控工具等软件。
2.网络聊天及文件传输类程序。QQ、MSN等聊天工具十分普及,设计题目选择一个点对点的局域网聊天工具完全可行,功能的实现可参考QQ或MSN的基本功能,包括收发信息、传输文件等,其他如语音视频聊天等高级功能可以忽略。高职学生系统学习过的开发工具如VisualBasic、Java等都提供完备的网络控件,但一般的基础教材中介绍不多,学生在实际的设计训练中通过查询联机帮助、网上学习等途径学习这些控件的使用方法和技巧,对提高程序设计能力很有帮助。
搜集资料是任何研究工作的基础,选题结束后学生按小组搜集资料,可以是图书期刊等资料,计算机软件专业的学生更应该学会在网络上搜集信息,浏览高水平的开发论坛对开阔思路很有益处。搜集资料需要做好记录和整理工作并进行讨论。毕业设计过程中教师的角色主要是指导和监督,参与讨论软件的整体设计,不涉及程序开发的具体细节,一般可以每周检查开发小组的进展情况。
(四)网站开发类
网络的飞速发展促进了网站开发技术的进步和市场的成熟,网站开发己成为高职类学生就业的热点方向之一。一个小型网站的开发涉及到总体的规划、数据库的设计和数据的组织、代码的编写和调试、后期运行管理、安全机制等多方面工作,而且对于学生接触市场需求很有帮助。在实践中笔者发现,学生们通过独立完成一个小型的网站,各方面能力都得到了锻炼,毕业后从事相关的工作很容易上手。
2“产学研”结合模式的指导方式
“产学研”结合模式主要通过理论和实践教学两条途径,在充分考虑企业需求前提下,以提高学生的工程素养、巩固学科基础、培育创新能力为基本目的,由高校、企业、学生三方面共同研究,明确毕业设计的课题,确定研究内容和研究方法[7]。在毕业设计实施的具体过程中,由高校和企业联合派出导师,由高校教师承担对学生的理论指导,由研发一线的工程师在企业中进行实践指导。毕业设计后期,可聘请企业中经验丰富的高职称工程师或工程技术部门主要负责人与校内教师一起共同组成毕业设计答辩考评小组,共同对学生的毕业设计实施书面评价、答辩、评定成绩等毕业设计的质量审查。
3“产学研”结合模式的的关键点
3.1做好选题工作
恰当的选题是提高毕业设计质量的关键,能直接体现出地方院校人才培养的特色。“产学研”结合的毕业设计选题要求密切联系生产和研发实际,有工程应用的背景和工程的实际内涵,确保其具备较强的实用性。此外,选题还应具有一定的深度,保证有足够的工作量,在某些方面还应体现出创新的成分。因此,在选题时要尽量做到以下几方面的具体要求:⑴毕业设计选题应与服务地方的人才培养定位充分结合地方性本科院校是以培养高素质的应用型人才和服务地方经济发展的为主要办学方针的高校。我院所处的广东省近十年来软件产业一日千里、欣欣向荣,业已成为全国行业的龙头老大。2011年统计数据表明,广东省共有软件企业3136家,占全国的13.7%,全年实现软件业务收入3122亿元,占全国的16.9%。其中软件产品收入1203亿元,信息系统集成服务收入471.3亿元,信息技术咨询服务收入140.1亿元,数据处理和运营服务收入583.8亿元,嵌入式系统软件收入663.9亿元,IC设计收入60.2亿元。我院所处的惠州地区正处于广东省软件产业发展的核心地带,因此我院计算机系的毕业设计在选题上就充分考虑了人才培养的定位,以嵌入式软件设计、大型数据处理与运营、创意文化支撑技术等方向为主,为人才培养设定了明确的目标。⑵毕业设计选题应与地方企业研发实际充分结合地方院校的计算机工科专业是为了满足适应地方信息产业发展的高级应用型人才,其是否具有较强的创新能力和工程实践能力是决定着人才能否快速适应地方信息技术产业发展的实际需求。因此毕业设计的选题应密切结合地方信息产业发展的趋势,与地方企业密切联系、共同协商、共拟课题,真题真做。由于课题贴近实际、应用性突出,学生们往往更容易地激发学习兴趣,在解决工程问题的过程中切实增强学生的实践能力。同时,与地方企业研发充分结合还有利于高校教师队伍的建设,加强教师们服务地方经济的意识,增进服务地方的能力。⑶毕业设计选题应与学生就业充分结合利用“产学研”结合的毕业设计模式可让学生到有就业意向的企业中完成毕业设计的课题,直接接触到今后工作中需要面对的研发项目。这样学生往往会将之视为证明自己能力和价值的一次机会,激发出了极大的工作热情,有助于高质量地完成毕业设计。同时,在此过程中学生也提前适应了工作岗位,完成了岗前培训,能更快地适应工作岗位,也为企业节省了培训新员工的费用与时间。⑷毕业设计选题应反映学科发展的前沿毕业设计也是学生在走向社会之前对学科发展前沿的一次眺望。因此在毕业设计的选题上,应以能使学生尽可能多地接触国内外行业应用和发展的最新理论、最新技术、最新应用,如云技术、量子计算、网络信息融合与知识服务等,可在毕业设计选题中适度安排这些体现学科先进性的内容,以期学生在毕业后能尽快融入到企业的发展中。
3.2强化过程管理
对毕业设计过程有效地管理是“产学研”结合模式能否成功的关键。为此我院专门制定有《惠州学院本科生毕业论文(设计)工作规定》,在此基础上还补充制定了与企业研发密切相关的具体措施,如教育并严格要求学生对接触到的关键技术、源代码、项目文档等履行保密义务,保障校企双方的利益都不受损害。在确定课题后,各系部组织学生与校内导师、企业导师见面,在校企双方面导师的共同指导下向学生详细介绍课题的内容、要求和任务,并要求学生按照规定完成查新、外文文献阅读、撰写开题报告、制定研发计划和工作进度,设定预期目标,确定最终的结果形式等工作。学生在企业完成毕业设计期间,还加强了对学生考勤的检查,规定学生必须按照实习单位的作息制度上下班,如遇特殊情况确需请假,应同时报告校内导师和企业导师,在取得他们同意后方可离开。我院还强化对校内指导教师的管理。校内导师要与学生定期联系、在毕业设计开题、中期检查;定稿前、答辩前均需召集学生开会,检查毕业设计完成情况,收集学生意见,答疑解惑;每周不少于2次指导学生毕业论文(设计)。考虑到此时学生大多身处企业,不在校内,可利用电话、网络(如电子邮件、QQ在线交流、网络论坛、微博)等方式远程指导,校内导师还定期访问学生所在企业,与企业导师保持密切联系,协助校外导师做好学生的日常管理,及时了解学生的工作进展、生活情况、甚至心理与情感困惑等。为保证设计及毕业论文都到达规范要求,我院专门制订有《惠州学院毕业论文(设计)撰写规范》,对毕业论文的形式做出了十分具体的要求。毕业论文送审前均需由校内导师对论文进行形式审查,审核诸如论文各项内容是否齐全,格式是否规范等,确保形式符合要求。为提高毕业设计质量,教务处每年还从各系部评选出来的优秀毕业设计(论文)中遴选出最优秀的典范毕业论文,编印成册,下发至毕业班级中,以这些毕业论文为示范样本,鼓励学生高质量完成毕业设计(论文)。我院还做好毕业设计的档案管理工作,规定在毕业设计完成前需提交毕业论文审批表、任务书、开题报告、查新报告、指导记录、外文阅读文献目录、论文文本、各类不的源代码、需求分析报告、项目总结报告等十二种材料,纸版文档与电子版文档均需同时提交,双备份,对于电子文档需长期保存。
3.3适度调整考核标准与程序
“产学研”结合模式下指导的毕业设计有其特殊性,因此最终的考核——毕业论文评审、毕业论文答辩——也应有别于在校内完成的传统学术型论文,在评价上需结合实际并适度倾斜。首先在选题的评价方面应首先考察学生选题的新颖性、实用性,对于密切结合研发的具有较大实用价值且是研发过程中的重点或难点的选题,应该给予肯定;在毕业设计工作完成情况的评价上,应该充分考虑学生的工作量,并对于毕业设计的原创性、真实性予以认真的考察,即毕业设计必须是学生亲自动手解决的研发过程中的若干具体问题;评审人的构成方面,可聘请企业中经验丰富的研发工程师、项目经理等人员与校内专家一起组成考评小组,企业专家的参与将增强评判的客观性、公正性,也将强化学生毕业论文中实用性的评价;学生毕业设计的考核也应包含团队协作能力的评价,在企业进行研发工作,如完成一个软件项目,本身就是一个团队作战的过程,学生的沟通能力、表达能力、组织协调能力也应该进行考察,引导学生重视团队协作;最后,毕业设计的成果形式也不应仅局限于毕业论文,可将学生在“产学研”过程中实际参与或完成的智力成果都纳入评价范围,如公开发表的学术论文、计算机软件登记、各类发明与实用新型专利、工程设计报告、项目需求分析报告等。
4“产学研”结合模式的实践
惠州学院计算机科学系从2004年成立起就一直非常重视与惠州市及周边地区的企业开展“产学研”结合。主动与旭日集团电脑部、用友软件有限公司等当地十多家IT企业输送实习生,充分利用以往积累下来的资源。从2005年起,每年都组织学生到上述企业开展毕业论文、生产实习等实践教学,共同开展协同创新。在校内指导教师与企业工程师的双重指导下,通过“产学研”结合模式完成毕业设计,并初具成效。从客观数据上分析,参加“产学研”结合模式的学生其毕业设计成绩得分较高,且易取得突出成果。以2005级为例,该年级学生在企业完成毕业设计的共计有30余人,占毕业生总数的近20%,其中9人的毕业设计被评为“优等”,2人的毕业论文获选校级优秀毕业论文。从学生主观感受上看,学生直接到企业参与企业的研发课题,也提升了学生的学习积极性和主动性,使其自信心陡增,对学习的满意率也有大幅提高,这一点可从毕业论文的“评教”得分上得以体现。我系对参加“产学研”结合模式进行毕业设计的学生展开了调研,汇总“评教”得分,将其与不参加“产学研”结合模式的学生的“评教”的得分进行了对比,具体情况如表1。
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)15-3647-04
物联网、云计算目前已经成为信息产业的主流方向,在这个主流方向中,最核心、最关键的部分是嵌入式系统。调查数据【1】显示,市场对嵌入式人才的需求缺口巨大。就高校而言,培养符合行业要求的人才是高校的职责,而人才的培养又始终离不开切实可行的教学计划和课程体系,制定符合行业实际的教学计划和课程体系,是培养人才的关键。而开设什么样的课程来培养符合行业要求人才,又要依据行业特点和对人才的技术要求来确定,否则就会偏离行业要求,满足不了行业需求。在2008年《普通高等学校高职高专教育指导性专业目录(试行)》里已经规划了嵌入式技术与应用专业(专业代码510121),但还没有形成一门独立的本科专业,近几年高校中的电子专业、计算机专业以及机电与自动化专业、通信专业都相继开设了嵌入式系统相关课程,大都针对本科高年级学生或者研究生开设了嵌入式系统方向。从国内不同高校不同专业开设的嵌入式系统课程来看,各具特色,有些硬件课程开设的多,有些软件课程开设的多。这主要是由于嵌入式系统本身包含软件与硬件两个层次,在设计与应用方面,又具有软硬件协同工作的特点,既要依据硬件设计软件,又要依据软件确定硬件,不能简单的说哪个更重要,只能从应用的角度讲其侧重点不同。因此对于不同专业开设的嵌入式系统课程,不能一概而论。本文主要从嵌入式从业人员进行嵌入式系统开发所具备的知识要求和技术要求为依据,确立计算机专业本科生从事嵌入式系统开发应具备的基础知识和技能,并着重对计算机专业本科生嵌入式系统的课程体系构建内容及实验平台方案进行探讨和研究。
1嵌入式系统概述
嵌入式系统是以计算机技术为基础、以应用为中心、软件硬件可裁剪并且对系统的功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从其概念来看,嵌入式系统是专用计算机系统,应该包含硬件系统和软件系统,具体地说,一个嵌入式系统硬件以微处理器为核心集成存储器和系统专用的输入/输出设备;嵌入式系统软件包括初始化代码及驱动、嵌入式操作系统和应用程序等,这些软件有机地结合在一起,形成系统特定的一体化软件。一个典型的嵌入式系统应包含嵌入式硬件、嵌入式操作系统和嵌入式应用软件三个部分构成。
由于嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物,因此嵌入式系统是应用于特定环境下,针对特定用途来设计的系统,所以不同于通用计算机系统,它的硬件和软件都必须高效率地设计、“量体裁衣”、去除冗余,力争在较少的资源上实现更高的性能。嵌入式系统的基本特点就是“嵌入”、“专用性“和“计算机性”。由于系统的这些特性,导致系统的存在形式是多样的和面向特定应用的,并且对成本、功耗、可靠性和实时性特别关注,因此在嵌入式微处理器和嵌入式操作系统的选择上都要考虑这些特点。
2嵌入式系统专业人才岗位及核心能力分析
2.1嵌入式系统的技术研发岗位划分与设置
从事嵌入式技术的岗位主要是企业的研发、生产、销售部门,当然还有其它辅助部门,在此主要针对研发部门的岗位进行分析。嵌入式系统研发部门岗位的设置,离不开嵌入式系统的结构和开发过程,设置什么样的岗位、需要何种学历的人才都与嵌入式系统的开发过程紧密相关。就嵌入式系统而言,总体上可划分为硬件和软件两部分,硬件一般由高性能的微处理器和的接口电路组成,软件一般由硬件抽象层、嵌入式操作系统、软件应用平台和应用程序等组成,如图1所示。
硬件层是整个嵌入式操作系统和应用程序运行的平台,包括输入输出接口/驱动电路、处理器、存储器、定时器、串口、中断控制器、外设器件、图形控制器及相关系统电路等部分。对于硬件层的设计开发要有较深的硬件开发经验,这些岗位一般都需要资深的硬件工程师。中间层包括硬件抽象层(HAL)或板级支持包(BSP),负责对各种硬件功能提供软件接口,包括硬件初始化、时钟管理、定时器管理、中断处理、总线管理、内存地址的映射等。它位于底层硬件和操作系统之间,是二者之间的桥梁。这个层次的设计开发不仅要精通底层硬件结构,还要熟悉上层的操作系统,主要工作是开发设备驱动程序。这部分工作需要有丰富的软硬件件研发经验才可以胜任。软件层主要包括操作系统和软件应用平台,操作系统主要是实现资源的访问和管理,完成任务调度,支持应用软件的运行及开发,软件应用平台则是为了提高开发速度与软件质量,一些应用提供商开发了一些可重用的应用平台,封装了一些常用的功能,同时提供API接口,可以在此基础上进行二次开发。这些岗位要求具有丰富的嵌入式操作系统开发经验和软件工程能力。功能层主要指的是应用软件层,位于嵌入式系统层次结构的最顶层,直接与最终用户交互。针对各种特定功能来编写应用程序,实现系统的功能应用。主要是进行大量的C、C++或JAVA语言编程,不需要更多涉及底层硬件,大都是基于操作系统之上的编程。这些岗位要求就有丰富的嵌入式应用软件开发能力。从嵌入式系统开发流程看,还可以对硬件层、中间层、软件层、功能层四个层次的研发工作进一步细化。
2.2技术研发岗位从业人员核心能力分析
对于从事嵌入式系统研发的技术人员而言,必须具有与岗位匹配的核心能力才可以胜任工作。文献[3]就嵌入式整个行业的从业人员在不同岗位应具备的知识和能力进行了描述。由于目前国内就嵌入式人才的评估和认证只有嵌入式工程师认证,因此本文将从硬件设计、软件设计、系统架构、软、硬件测试这五类技术研发岗位进行研究,来确定相应人员应具备的知识和能力要求。对于每一类岗位,将从岗位工作任务、岗位知识能力、主要技能和核心能力这四个方面就行研究,其中岗位工作任务是指该岗位应完成日常基本工作的事务范围,岗位知识能力是指该岗位应具备的基本知识要求,主要技能是指该岗位技术能力的要求范围,核心能力是指该岗位工作主要能力要求。分析结果如表1所示。
2.3技术研发岗位知识要求
表1就目前嵌入式技术人员的五种岗位要求从四个方面进行了分析,从分析的结果看,对于硬件设计及测试人员而言,应具有的知识点:①熟悉或者掌握模拟电子线路、数字电路,单片机等基本的硬件电子电路设计知识;②熟悉和掌握C语言或者C++语言及接口电路程序设计;嵌入式系统硬件的设计、嵌入式系统的程序设计③至少熟悉l到2种基本的EDA工具,如MODELSIM、Quartus? lI、Protel等;④熟悉各种常用工具和仪器仪表,熟悉电子元器件性能分析。软件设计软件测试人员而言,应具有的知识点:①熟悉Linux,WinCE,Vxworks等操作系统的各种软件开发环境;②熟悉GUI开发过程、熟悉网络编程、多任务编程等;③精通C语言、汇编语言;④熟悉嵌入式系统硬件的设计、嵌入式系统的程序设计。⑤熟悉嵌入式软件开发模式及方法,熟悉白盒测试、黑盒测试和回归测试,熟悉单测试、集成测试、系统测试过程及测试的误区的分析。系统架构人员应具有的知识点:①熟悉嵌入式软件工程;②熟悉面向对象和结构化软件开发方法;③精通常用软件开发语言;④熟悉软件架构模式和设计模式,熟悉常用软件建模技术。
3计算机专业嵌入式系统课程体系及实践平台的构建及分析
3.1计算机专业嵌入式系统课程体系及实践平台的构建
从嵌入式系统专业人才岗位及核心能力分析来看,对于计算机专业,在构架课程体系时,应该结合计算机专业特点及嵌入式技术研发岗位和应具备的知识能力出发,可从理论与实践两个方面,去制定切实可行的专业课程体系。本文将从理论课程体系和实践课程体系两个方面阐述课程体系和实践平台的构建。其平台结构如图2所示。
在图2中,计算机专业基础和核心课程体系可依据计算机专业相关培养课程体系及目标确定,本文不再赘述。对于嵌入式系统理论课程体系可分别从硬件课程、语言课程、专业课程三个方面进行构建,其中硬件课程可包含有电路与模拟电子技术、数字逻辑电路、计算机组成与体系结构、微机原理与接口、ARM体系结构与编程、电子线路设计、计算机控制系统、单片机原理与应用、DSP技术及应用、FPGA设计基础等课程;语言课程可包含有C语言程序设计、VC++程序设计、离散数学、数据结构、VB程序设计、C#程序设计、J2EE中间件技术、C语言深入编程、C++/VC++深入编程等课程;专业课程可包含有嵌入式操作系统、Linux设备管理与应用、ARM体系结构与编程、嵌入式系统设计、WinCe系统设计与应用开发、面向操作系统的程序设计、多核程序设计等。对于嵌入式系统实践课程体系可从专业实践与认证培训两个方面进行构建,其中专业实践可从课内实践、课程实训、项目团队、专业竞赛、企业实习、毕业实习等方面进行构建。在专业实践中,课内实践和课程实训是对嵌入式专门知识的巩固与提高,综合实践是阶段性综合能力培养的需求,项目实训与毕业设计是综合分析设计能力的保障。而对于培训认证,可参与ARM公司全球认证、中国软件行业协会嵌入式认证、中国电子学会认证、信息产业部认证等机构和部门的培训认证活动。
3.2嵌入式系统课程体系分析
从嵌入式系统课程体系的内容来看,具有三个方面的特点。首先是体系完整,专业特色突出,整个课程体系体现四个方面的能力培养:①编程能力培养,体现在C语言程序设计、C语言深入编程、C++/VC++深入编程及面向操作系统的程序设计等课程。②实践能力培养,体现在嵌入式系统设计与应用开发实践、Linux和WinCE操作系统与应用开发实践、嵌入式系统设计与应用综合实训及毕业实习和毕业设计等方面。③应用能力培养,体现在嵌入式系统设计与应用、嵌入式图形界面开发及嵌入式测试技术等方面。④创新能力培养,主要体现在创新团体、嵌入式竞赛、企业实习及一些嵌入式协会等。其次,整个课程体系具有侧重应用,循序渐进,层层递进的特点。从软硬件编程到专业技能培养,再到项目实训和毕业设计是递进式的。软硬件编程是整个能力培养的基础,专业技能是提高,项目实训和毕业设计是综合应用能力培养。最后,整个课程体系涵盖了微软、信产部认证课程。微软认证为微软WinCE嵌入式系统工程师认证,其课程主要包括WinCE系统设计与应用和嵌入式系统设计。信产部认证为嵌入式系统设计师认证,其主要课程包括嵌入式系统设计、嵌入式测试技术和ARM体系结构与编程。
4计算机专业嵌入式系统实验教学平台的构建
根据嵌入式系统实践课程体系构建的设想,对于教学实践,要根据计算机专业和嵌入式系统开发的技术要求和岗位职责,可进行合理规划。既要让学生掌握坚实的基础知识,又要让学生跟得上主流技术潮流。由于嵌入式系统在构成上可由硬件和软件构成,因此在进行实验教学时,可从硬件和软件两个方面进行构建。根据目前嵌入式系统开发的主流技术来看,在硬件选型上要以X86CPU、单片机和ARM处理器为主,在操作系统的选择上要以WinCE、Linux、μC/OS-II和Vxworks等操作系统为主,可从驱动程序设计、嵌入式系统界面、应用程序等方面进行实验。本文提出了一种可行的实验架构,如图3所示。
图3嵌入式系统课内实验体系
图3从三个层面对实验教学进行了规划,最底层为硬件层,可选择不同的处理器及各种电路及存储设备进行实验,如X86CPU、ARM处理器、单片机、数模转化电路、I/O接口、通用接口、ROM、RAM等。中间为操作系统层,可选择主流嵌入式操作系统进行实验,如WinCE、Linux、μC/OS-II、Vxworks等。最上层为应用层,可从嵌入式驱动层序开发、嵌入式图形用户界面以及应用程序的设计等方面进行实验,其中在程序设计语言的选择上可重点考虑汇编语言、C/C++语言、JAVA为主要训练语言。
5总结
图1 计算机人才层次结构
为了能使高等院校的软件人才培养与社会对人才的要求相一致,几年来,教育部计算机科学与技术教指委陆续下发了一系列指导意见及规范,明确指出计算机科学是实践性极强的学科,必须培养学生具有很强的实际动手能力,对高校计算机专业办学提出了一项很重要的建议,即大力加强教学活动中的实践环节和动手能力的培养。在计算机专业中工程型及应用型人才的培养成为了教学研究的重点,并已成为我国高等教育关注的热点。
东软信息学院计算机系与实训中心合作,将实训融入软件相关专业的本科教学计划之中,构建可教学化实训体系,探索出一条培养应用型软件人才的实践之路。
2引入实训体系的思考
由东软信息学院大学生创业实训中心创建的可教学化实训体系,是在企业实际项目的背景下,将项目分解为若干个相应的知识点,采用小班型教学的模式进行授课。从基础知识的讲解到最终项目的完成,边讲边练,并穿插相应的阶段考核,形成全方位一体化的实践训练体系。实训过程中,教师担任项目经理,学生转化成“企业员工”,采用日报制等企业式管理模式,构造虚拟企业开发环境,使学生在实训过程中既掌握企业所要求的各项技术技能,又实现了对开发流程、管理规范和团队合作深入了解,实现与企业需求的无缝链接。
在大学生创业与实训中心目前构建的实训体系中,Java项目实训与嵌入式项目实训是两个比较成熟的实训体系,每个实训体系都分为四个阶段,在四个月左右的时间之内完成,其内容及考核要求如表1所示。
表1实训安排计划表
其中的技术基础讲解阶段是在复习以往学过的基础理论知识,项目开发专用技术讲解及练习阶段是通过一个小型项目的开发来巩固已学过的基础知识,并且使学生了解项目开发流程,而实训项目开发测试阶段才是实训的真正核心,最终在实训项目总结考核阶段检验学生实训的成果。
按照传统计算机专业的实习教学安排,课程设计和毕业设计相对独立,与课堂教学之间是一种“松耦合”状态,虽然体系相对严密,但并不能构造一个完整的教学体系,毕业生在前三年学过的课程与毕业前的实习和毕业设计存在着一定程度上的脱节。而且单纯的实训更强调实践能力,着重于技术工具的运用,不利于学生后续的发展。同时,由于学生在毕业前才进行某个方向的实训,只能掌握某一项技术,在一定程度上限制了学生的专业拓展和就业面,因此,只有将实训体系合理融入教学计划,才能优势互补,发挥实训教学的作用。
3坚持实践不断线的探索
东软信息学院一直秉承“知识的应用比知识的拥有更重要”,致力于培养“理论知识够用,实践动手能力强”的应用型人才。从建院初期,就强调培养学生的实践能力,率先在国内提出了“1321”模式,即一个学年分为三个学期,其中两个理论学期,一个实践学期。在引入实训体系之前,安排实践学期教学内容的思路是:强化理论学期课程,并补充理论学期由于课时限制而无法开设的课程。因此,三个学年的实践学期分别定义为概念实习、技能实习和项目实习,各年度的实践学期之间缺乏整体的联系,内容相对独立,体系不够完善。
引入实训体系之后,安排实践学期内容的思路调整为:以毕业实训为最终目标,贯彻“实践不断线”,强调实践的延续性及关联性。因此,在理论学期的课程安排上也为最终的实训为目标,并补充必要的理论知识,提供给学生后续发展的动力。同时,前两个学年的实践学期分别进行两个小型项目训练,第三个实践学期与最后一学年上学期一起进行项目实训,下学期进行毕业设计,整体的安排如图2所示。
图2 工程型软件人才培养路线图
从图中可以看出,在第一学年和第二学年的前两个理论学期中,除了在课程设置上融入了原本在实训第一阶段讲解的基础理论知识之外,还添加了多门理论课程,可以为学生打下足够的理论基础,有利于今后在企业中的进一步发展。在第一学年的实践学期(第三学期),将进行嵌入式实训方向中的小项目训练;在第二学年的实践学期(第六学期),将进行Java实训方向中的小项目训练。这样,所有学生在低年级就已经掌握了将来两个实训方向所需要的知识基础和实践基础,既有利于学生在高年级的专业方向选择,又有利于学生就业时选择就业方向。从第三学年开始,学生可以选择在Java方向或者嵌入式方向进一步通过全面实训提高实践能力,进一步强化专业知识,在第三学年的实践学期(第期),开始进行该方向的实训,一直持续到第四学年上半学期(第十学期),第四学年最后一学期进行毕业设计,使学生综合运用三年所学的理论知识和刚刚结束的实训中所学到的知识及实践技能,在教师的指导下,相对独立地完成毕业设计课题,从而强化学生的实践动手能力。
进行了优化安排之后,理论学期课程与实践学期内容之间结合的更加紧密,学生学完理论后就进行实践应用,有利于对理论知识的进一步强化理解,也将掌握得更加牢靠;而且,整个课程体系与实训体系呈现“紧耦合”状态,实训主线贯穿清晰,层次分明,每门课程的教学目标以及教学要求也更加具体化;同时,所有的实践学期都相辅相成,安排更加合理,也贯彻了“实践不断线”的整体思路。
4 实践成果及总结
目前东软信息学院计算机科学与技术系08届学生已经进入了实训阶段,明年将走向社会,接受市场的检验。从目前实训学生的反馈来看,学生对实训乃至整个实践体系都给与了充分的肯定,认为在在学习期间不仅在理论知识上而且在实践动手能力上都有了长足的进步,特别是毕业前的实训,更增强了他们的就业核心竞争力,也增加了就业的自信心,是非常必要也是非常重要的。
关键词:毕业设计;分析问题;解决问题;能力
毕业设计作为理工科高等院校教学体系的一个重要组成部分,是培养学生创新精神和独立解决问题能力的一个综合性教学环节,对于培养实践性应用型人才具有重要作用。毕业设计是对所学知识的检验与总结,能够培养和提高学生独立分析问题和解决问题的能力。针对在毕业设计的实施阶段存在着一些问题,对在毕业设计实施阶段如何培养学生独立解决问题的能力进行了探索与实践。
一、毕业设计实施阶段存在的主要问题
毕业设计对于培养大学生的创新精神、实践能力和综合素质起着重要作用,是实现人才培养目标的重要环节。在指导学生的毕业设计时,在毕业设计实施阶段中存在一些问题。
(1)在需求分析阶段中毕业设计创新的意识不强,学生创新意识薄弱,比较缺乏探索新问题的动力和能力。
(2)概要设计阶段和详细设计阶段实践操作能力不强,有很多学生缺乏实践的信心,虽然会有一些很好的思想,但由于没有马上进行实践,或者做了实践遇到困难就退了下来,这样很难将所学的专业理论知识整合、系统化,提高学生独立解决问题的能力更是无从谈起。
(3)毕业设计的通过要求较低,毕业设计阶段也是学生联系工作准备就业的阶段,加上毕业设计一般都能全部通过,学生的学习压力远小于就业压力,相当数量的学生对毕业设计不重视。
二、毕业设计实施阶段如何提高学生独立解决问题的能力
毕业设计是本科教学的一个重要阶段,是展示学生本科学习成果和专业能力的综合环节。对于计算机科学与技术专业的学生而言,更是面临着挑战。计算机专业的毕业设计通常是要求模拟实现一个应用系统,完成从需求分析、概要设计、详细设计到编码实现的基本过程。以下围绕毕业设计实施阶段如何提高学生独立解决问题的能力进行了若干探讨,包括需求分析阶段如何培养学生独立解决问题的能力、概要设计阶段如何培养学生独立解决问题的能力、详细设计阶段如何培养学生独立解决问题的能力。
1.需求分析阶段如何培养学生独立解决问题的能力
需求分析是关乎毕业设计开发成败的重要因素。现在的软件设计中返工开销占了总开销很大比例,而导致返工的主要原因是需求分析不明确。可以看出需求分析在毕业设计中所占有的地位。需求分析的任务不是确定系统怎样完成的工作,而是确定系统必须完成那些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。它所做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统的接口细节,定义软件的其他有效性要求。
在指导学生在对自己的毕业设计进行需求分析时,学生对自己要处理的问题有一定的了解,通过网络查找相关资料,有条件的话到相关的企业做调研,确定目标系统的综合要求,并提出这些需求实现条件,以及需求应达到的标准。
在毕业设计过程中,首先要求学生从以上几方面对毕业设计进行科学的需求分析,在这一阶段中,学生通过需求分析能够更加清楚地理解毕业设计中要解决的问题,并能够从整体上提高对问题的思考能力,为完成毕业设计和以后的工作打下坚实的基础。此阶段,通过师生共同努力,借助于网络的同时,为学生创造条件和机会进行实际调研,对系统的整个流程掌握清晰,在完成毕业设计需求分析的过程中,通过学生自身的不断努力和指导教师的指导,在反复论证的过程中提高学生们独立的分析问题的能力,这是学生走向成功的第一步。
2.概要设计阶段如何培养学生独立解决问题的能力
概要设计阶段将软件系统需求转换为未来系统的设计;逐步开发强壮的系统构架;使设计适合于实施环境,为提高性能而进行设计。概要设计阶段具体的任务有总体设计、接口设计、数据结构的设计、模块设计、其他设计等。
在概要设计阶段,毕业生对业务处理过程了解的完整性和准确性非常重要。调查了解清楚所有的业务流程才能设计出适合各流程业务节点用户业务特点和习惯的软件,使开发出来的软件更受欢迎。在概要设计阶段,通过指导教师的指导,学生查找相关的资料,到相关部门调研,不断努力,反复修订毕业设计的概要以求达到完美。完成这个阶段任务,学生对毕业设计有一个从整体到局部的更深的认识,学生的思路更加清晰。在学生自身的努力和指导教师的指导下,学生对学过的专业理论知识进行系统的梳理并应用于实践,不仅提高学生的自信,而且提高了学生的实践能力,对独立完成毕业设计充满了自信。
3.详细设计阶段如何培养学生独立解决问题的能力
详细设计的基本任务为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。
详细设计阶段,通过对每个模块进行算法分析设计,掌握理论知识的同时学会运用辅助的工具,反复修改论证过程中学生会掌握每个模块的各种设计思想,并在不断的实践中学会如何去思考问题,解决问题,在提高专业理论知识的同时提高了实践能力,能够主动去探究解决问题的新方法。变被动学习为主动学习,这对于提高学生独立解决问题是非常重要的。在此阶段,学生通过算法分析、代码设计在加强理论的同时加强了上机的实践能力,通过对问题的反复求解,学生会对毕业设计和所用到的设计工具有更深的理解,对学生以后的工作和学习都具有深远的意义。
在近几年所指导的本科生毕业设计中,对以上方法进行了实践,比如:在《教师工作量统计软件设计与实现》毕业设计中,要求学生在毕业设计实施过程中,引入UML、Rose等在当时还属于较新的技术,使他们掌握了基本的面向对象分析方法和相关的技术、工具。在《教师档案管理系统设计与实现》《运动会后台管理系统成绩管理设计与JAVA实现》要求学生以J2EE技术应用实现毕
业设计。J2EE技术是近年来新兴的分布式应用技术,学生通过毕业设计实施阶段学习了如何基于J2EE技术设计和实现多层分布式应用系统。
通过多次毕业设计的实践,毕业生在毕业设计实施阶段得到了一定锻炼,在实际软件开发工作中都能较快地进入角色。满足社会对计算机人才的需求,具有较好的促进作用。需要指出的是,随着社会对综合型人才的需求越来越大,如何搞好毕业设计实施阶段中的各项工作仍然面临着很大挑战,需要我们根据计算机技术发展趋势,在实践中继续探索!
参考文献:
[1]张俊林.在本科毕业设计中培养学生创新能力的改革与实践[J].重庆科技学院学报,2008(1).
[2]洪月华.毕业设计中信息素养的提升与创新能力的培养[J].高教论坛,2009(1).
目前我国应用型本科高校普遍开设了计算机专业,并且计算机专业与通信工程、自动化、电子技术等相近专业间相互挤占就业岗位,就业空间逐渐“缩水”。再者,由于各行各业自主培养各层次的计算机应用人才,各学科专业增开计算机课程,计算机专业毕业生在一些行业内的竞争优势逐渐减弱。因此如何改革应用型计算机本科人才培养模式,提高学生就业竞争力成为一个不容忽视的问题。
要提高应用型计算机本科人才的就业能力,就需要充分分析和评价计算机科学与技术专业实践教学体系,以校企合作为突破口、以企业需求导向为价值模型,采用计算机专业工程应用能力分析方法,优化计算机科学与技术专业设置、人才培养和课程体系建设,形成产学研结合的高等本科教育发展机制。在湖南省普通高等学校教学改革研究项目(湘教通[2010]243号)的支持下,本项目组开展了研究并取得了一些成果。
1 校企合作教育研究的开展方式
本项目组从人才培养目标的定位、专业建设、课程开发、实践基地建设、师资队伍建设、服务企业等方面,探讨通过校企合作办学构建应用型计算机本科人才培养新模式,以提高人才培养质量为根本,以深化教学改革为中心,以学生就业为导向,以服务企业为宗旨,遵循高等教育发展规律,构建灵活多样的人才培养模式,探索新形势下校企合作的新途径,为企业培养大批高素质的应用型计算机高级工程技术人才。项目组的基本思路是:首先建立专业核心实践团队。由项目负责人、企业专家、骨干教师构成核心团队,统筹建设工作,按照规范的开发流程共同完成以下关键性任务:
1.1 制订研究目标
从校企合作的角度研究应用型计算机本科人才的培养模式。使学校增强办学实力,提升办学层次,提高办学水平,扩大办学规模,提高办学效益;使企业推进科技创新,提高管理水平,提高员工素质,增强社会竞争力;使学生所学的知识更加巩固,能力更加增强,素质更加全面,学生在实习时有实习工资,毕业后有稳定的就业单位,解决学生就业的后顾之忧。实现学校、企业、学生“三赢”的目标。
1.2 研究校企合作人才培养模式的突破口
为了完成研究目标,项目组对企业从业岗位进行调研。首先分析计算机科学与技术专业的主要对口职业岗位和工作任务,在对岗位工作任务和相应职业能力进行分析的基础上,将职业岗位所需的能力作为主线,按工作过程的不同工作任务和工作环节进行能力分解。将原有实践教学计划培养方案中涉及的相关实践课程做对比,列出原有实践课程体系在实践教学中的具体不足点,得出实践课程体系改革中需加强的能力点,规划出校企合作教学模式中需要充实和完善的内容。
1.3 积极搭建校企合作平台,完善计算机本科人才培养模式
我校早在2007年就成立了湖南工学院董事会,截至2011年已与湖南省61家大中型企业签订了战略合作协议,在战略发展、科研基地建设、人才培训、技术创新、产业合作等方面开展了卓有成效的合作。为了搭建计算机本科教育的校企合作平台,在我校校企合作处、科技产业处的积极配合下与计算机系原有的校外实习基地中国电信衡阳分公司、上海央邦计算机科技有限公司、湖南省蓝狐网络、衡阳市九达软件有限公司积极洽谈校企合作平台的搭建。为加强计算机本科专业建设,培养出与社会发展和经济建设紧密结合的高级应用型人才,走产学研合作的新途径,加强计算机系与社会、教学与生产、教学与科技工作的紧密结合,建立学校教学与社会双向参与、双向服务、双向受益的新机制,使计算机本科专业建设和教学工作主动、灵活地适应社会需求,更有效地将计算机本科专业人才就业能力的培养与企业实际需求相关联。利用校董事会已有的合作模式,项目组与上述校外实习基地联合设置了专业教学指导组,使其成为计算机本科专业建设、产学研结合等教学研究的学术组织,指导计算机系专业教学改革和专业建设工作的专家型组织。该教学指导组由企业中相关领域的专家、工程技术人员、高级管理人员及计算机系教学经验丰富的教师、教学管理人员等组成,负责专业建设和人才培养的研究、指导、咨询、服务工作,并协助确定计算机本科专业教学目标和人才培养方案的制订。
1.4 校企合作课程体系和教学方法的研究
在校企联合教学指导组的指导下,对现有计算机本科实践教学课程结构进行改革,在课程内容上主要体现在理论知识与实践知识的综合,职业技能与职业态度、情感的综合。课程学习内容不再脱离IT企业生产、服务实际过程,而是企业的典型工作项目或任务,使学习内容与企业实际运用的新技术、新工艺、新方法同步,学习与就业同步。
本文对就业能力问题的研究既包括了知识性内容也包括了操作性内容,同时研究中需要注重学生职业道德的培养,这些教学目标既有知识领域的,也有动作技能领域和道德情感领域的。结合2008级计算机科学与技术本科专业的实验性教学实践,我们发现既要关注学生的学习过程,还要培养他们的情感,做到让学生的知识和道德情感同时提高。教学方法中还要激发学生的学习兴趣,养成团队协作的精神,促进学生树立正确的价值观。项目组的具体做法是转变传统的学生成绩评价方法,除笔试外,在部分课程中增加口试、答辩、现场测试、现场操作等多种考核形式,实现理论考试和实操考核相结合,着重考核学生的应用能力和分析能力,促进学生职业素质的全面发展。
2 取得的成效与基本经验
2.1 人才培养模式改革的情况
计算机本科专业课程体系应该以社会需要为导向深化改革,以适应社会经济发展和学生就业能力需要,突出工程实践能力的培养。为此,本项目组成员作了如下研究工作:
(1)在专业定位上,以“面向市场、服务企业,培养应用型高级工程技术性人才,使学生能适应企业岗位的需求”为宗旨。针对校企合作的人才培养模式,在制订教学计划过程中,对项目组联合的企业岗位培养目标制订专门的人才培养计划。人才培养计划针对学生适应社会需要和专业可持续发展进行安排。在专业建设中进行实践课程建设,并配套进行师资队伍建设和实验基地建设。在课程设置方面分为两部分:一是校内原有的理论及实践教学;二是针对企业岗位在2008级计算机本科学生中广泛开展IT技能培训,在IT技能的培训和实习过程中,本科的理论教学和针对企业岗位实习交替进行,使学生在学校学习过程中就能掌握IT企业所需的职业技能,从而增强其就业能力。
(2)发挥动手能力培养的优势,进一步完善计算机科学与技术专业实验室硬件和软件建设,安排系统的实践教学内容,提高学生的动手能力。
(3)理论与实务并重,在培养学生稳固基本理论知识驱动工程实践能力的系统工程中,实践教学占有不可替代的地位。由校企合作教学指导组参与实践教学中的认识实习、操作技能实训、综合技能实训、课程设计、毕业设计等课程体系建设,将企业的岗位需求组织为一个系统,每学期不断线,与有关课程同步,与课堂理论教学相辅相成,形成相得益彰的并重局面。本项目组只是从“校企合作”教育的视角研究提高计算机本科就业能力的人才培养方法,构建一个“体系”即以校企合作教育的模式明确学生学习的目的性,将工程实践能力的教学组织、管理、考核及质量评价有企业专家全程参与;找到一种“以学生就业能力为中心,以实践教学管理平台为依托,多方协作”的实践教学管理模式;设计校企合作的理论教学方法以及IT技能培训、企业生产实习相结合的人才培养平台;探讨如何提升计算机本科专业就业能力,使教学与企业实际所需人才紧密结合。
2.2 学生受益面
目前通过计算计科学与技术2008级本科教学试点,相关实习企业反馈的信息是学生职业素养高,岗位适应能力强,能很快适应工作环境,达到工作要求并能独当一面,在各自的岗位上创造性地开展工作。尤其是通过针对性的IT技能培训,使学生工程实际能力大为增强,并且在学校学习期间就已经参与企业实际岗位的实践训练,在同类学校的2008级毕业生中占有明显的优势,深受企业的欢迎。而且我校学生不仅业务知识扎实,肯吃苦,且仪表端庄,语言表达能力强,能很快胜任企业相关计算机专业岗位的初级工作,充分说明我校培养的毕业生满足社会企业的要求,该项目的课程教学改革取得了良好的成效。
3 结束语
以我校为例,分析了开展校企合作教育研究的研究目标,以人才培养模式改革为突破口,搭建校企合作平台,进行课程体系和教学方法的改革,总结出了目前已取得的初步研究成果。下一步将继续完善不足之处,推进校企合作教育改革模式的研究,提高应用型计算机本科人才就业能力。
参考文献
[1] 吴维嘉,方磊,何明.计算机专业毕业生就业需求的调查报告[J].黄山学院学报,2007,9(5):152-154.
随着计算需求的不断增长,由于复杂的芯片工艺与功耗成本限制,处理器的性能提升从原有的主频提高转为多内核发展。很快,一些大型机制造厂商,如IBM、Sun开始利用并行计算设计出了多核处理器(例如:IBM推出的CELL异构多核处理器,Sun公司推出的OpenSparc T1开源多核处理器[1]),这些处理器在一块芯片上集成多个计算内核,成倍地提高了计算速度。2006年,以Intel与AMD为代表的处理器制造商在年初和年底相继推出双核、四核处理器,紧接着,在2007年1月,Intel展示了配置两个四核处理器的八核计算机,这标志多核处理器开始全面进入市场,宣告计算机真正进入多核时代。
所谓“多核(Multi-core)”,即指一块芯片上集成多个处理核,各自拥有独立的控制和计算部件,无需共享关键资源。多核技术的发展给大学计算机教育带来新的课题,即在多处理器环境下,计算机系统结构、计算机操作系统、编译原理和应用软件的编程模型等都发生了很大的变化,促使大学计算机的教学需要做出针对性的变化。
计算机系统结构(Computer Architecture),作为研究计算机系统结构演化以及影响计算机硬件与软件系统设计的一门重要课程,在介绍计算机系统结构原理、分析设计方法、性能评价、发展趋势和新的实现技术上,需要增加多核技术这个重要的新知识点。在过去相当长的一段时间里,由于不具备开设计算机系统结构和多核技术相关实验的硬件平台和软件环境,
国内很多高校开设计算机系统结构课程时均未开设该课程的实验,特别是多核技术方面的实验,以至于学生没有实验教学和体验式实践而很难掌握该课程的知识。
为了更好地应对新的“多核”时代,电子科技大学的计算机科学与工程学院、信息与软件工程学院(原示范性软件学院)从2007年开始在计算机系统结构课程教学中引入多核技术。一是在理论教学上增加处理器体系结构、系统架构和程序设计内容,从三个方面给学生展现了一个比较完整的多核技术概览图景;二是在实验平台建设上设计多核实验,从实践环节上来锻炼学生的动手能力和提升其创新能力。
1实验教学的现状
在计算机系统结构课程中设计多核实验,须从计算机系统结构与多核知识的课堂教学成果入手,把握多核技术的理论教学动态。然后重点调查国内高校在多核实验教学方面的研究现状,为计算机系统结构中的多核技术实验设计提供必要的技术支持和可行性研究。
事实上,计算机系统结构课程重在培养计算机专业本科生的抽象思维能力、自顶向下系统分析和创新能力。全国重点和普通高校中几乎都开设了这门课程,出现了大量的课程教学与教研成果[2-12]。虽然课程教学成果多,但是实验教研成果小,而且还缺乏多核知识点的引入或多核体系更新不足。
作者简介:于永斌,男,副教授,研究方向为计算机系统结构、大规模集成电路设计与应用。
关于多核技术,清华大学的王小鸽[13]提供了理解多核技术、并行计算与未来计算机发展的视角。薛巍[14]从并行计算基础、高性能计算前沿技术研讨课、多线程/多核CPU逻辑设计短期课程等方面介绍了清华大学多核课程建设成果。吴继雁[15]简要地分析与总结了多核技术及发展趋势。北京交通大学计算机学院的刘近光和梁满贵[16]介绍了基于MIPS体系结构的多核处理器特点。浙江大学的陈天洲等[17-21]介绍了多核程序设计课程和进行了多核精品课程建设探索与实践,并主持了教育部骨干教师多核技术培训,对多核技术的教学科研做出了很大的贡献。武汉大学电子信息学院的杨剑锋等[22]介绍了“多核架构及编程技术”这一教育部-Intel精品课程建设成果。北京工业大学计算机学院的方娟[23]探讨了多核教学内容和教学模式。与这些多核技术的教学成果相比较,由于多核硬件实验平台与软件环境的难构造,使得多核技术方面的实验研究成果特别少。根据作者的可查文献,中山大学教学实验中心的程小雄和伍丽华[24]进行了基于FPGA的多核技术课创新实验探索,介绍了在现场可编程门阵列(FPGA,Field Programmable Gate Array)芯片和SoPC(片上可编程系统)、NOIS-II等工具软件所组成的软硬件平台下,开展多核技术课程创新实验的研究;并在新组成的多核系统中,移植和扩展了µC/OS-II操作系统,还设置了相关的实验环境和若干实验项目,对提高学生的综合实验能力具有积极的作用。
通过对计算机系统结构和多核技术课堂教研与实验教学动态的充分调研,我们不难得到多核技术在国内课堂与实验教学中的实施状况,虽有新增多核课程或修改原有课程(如:计算机系统结构、高级计算机体系结构或高等计算机系统结构)的教学内容,但较少涉及多核技术方面的实验教学。基于这样的背景,在计算机系统结构中设计多核实验,这对学生的实验能力和综合素质提高具有特别重要的作用。
2多核实验的设计
在计算机系统结构课程中设计多核实验,需要把握多核本质和其技术要点。多核的本质是为了解决高性能计算和并行计算问题,它在硬件和软件两个方面改变了传统的计算机系统结构。由此,多核技术的发展使得计算机系统结构的教学发生了变化,这种变化主要来自于多核技术所带来的新知识点。多核技术所涉及的知识点可归纳为硬件和软件两个方面,具体如下:
1) 多核硬件方面的知识点。
(1) 多核下的硬件设计技术,包括Cache与存储一致性、网络互联、IO管理;
(2)多核芯片与传统单核微处理器的区别,多核SoC(System on a Chip)芯片技术;
(3) 嵌入式多核芯片技术以及典型多核芯片:Cell、OpenSparc、Intel双核芯片、AMD双核芯片等;
(4) 并行体系与多核体系结构、多核平台结构与芯片组支持技术。
2) 多核软件方面的知识点。
(1) 多核操作系统、多核系统软件对并行编程的支持、多核API优化函数库,多核平台上编译工具;
(2) 多线程编程对多核的支持,Windows/Linux多核多线程编程技术;
(3) OpenMP多线程编程及性能优化,MPI (Message Passing Interface)编程及性能优化;
(4) 多核多线程程序的性能评测方法与工具。
基于上述的多核知识点,联系计算机系统结构原有实验,可在硬件平台和多核软件工具上设计多核实验。
多核实验,包括两个方面的实验内容。一是在FPGA芯片上设计多个同构或异构处理器内核,并进行操作系统的移植,最终做出一个可实际运行的多内核计算机系统;通过该实验,可增长学生对实验的兴趣,更深刻理解多核技术的知识点。二是Windows/Linux多核多线程编程实验,利用多核软件工具进行编程;在Windows平台下,利用Win32API、MFC或.Net Framework提供的接口来实现;若在Linux平台下,利用IEEE POSIX标准定义的API进行多线程编程。对于综合设计,可设计为学生课外的有关多核技术设计、实验或发展趋势调研的课程设计、创新设计或毕业设计,训练学生面对实际应用问题的综合分析、方案设计、多种程序设计结构的综合使用和实际工程问题的综合解决能力。
在计算机系统结构中设计多核实验,希望达到如下目标。
1) 设计多核实验,发展计算机系统结构课程教学与实验实践内容,按照Intel多核技术大学合作计划[25],实现高校与Intel的合作;
2) 理解普适的多核思想和硬件设计理念[26, 27],普及并行计算技术,使广大的本科生能在以后的程序设计与开发中可以发挥多核计算优势;
3) 通过多核实验,强化计算机专业本科生和未来的科研人员的实验动手能力,激发兴趣爱好
和创造潜能,帮助他们更有效地开展进一步的科研工作。
3结语
计算机系统结构中多核实验的尝试性设计,旨在教学实践中不断完善和创新,充分体现多核技术的革命。应用FPGA技术设计多核实验,是一种培养学生创新能力的尝试,一种引导学生从感性上理解多核技术内涵的实验创新,有利于促进计算机系统结构课程在多核时代的发展。
参考文献:
[1] David L. Weaver. OpenSPARCTM Internals[Z]. Sun Microsystems Inc,2008(10):1-36.
[2] 张晨曦,刘依. 探索新的教学模式和方法,建设计算机系统结构精品课程[J]. 计算机教育,2007(12):103-106.
[3] 张晨曦,王志英,刘依,等. 计算机系统结构课程内容体系的研究[J]. 计算机教育,2009(20):57-60.
[4] 吴晓华,徐洁,王雁东,等. 计算机系统结构课程教学探讨[J]. 实验科学与技术,2006(6):67-70.
[5] 王华,徐洁,王雁东,等. 计算机系统结构课程改革与探索[J]. 计算机教育,2009(10):15-17.
[6] 徐洁,王华,吴晓华, 等. 浅析SPEC基准测试程序集及评价指标[J]. 实验科学与技术,2010(6):21-24.
[7] 王志英,李宗伯,钱程东,等. “计算机体系结构”国家精品课程的特色与建设经验[J]. 计算机教育,2007(4):27-28.
[8] 姜晶菲,肖侬,王志英,等. “计算机体系结构”课程建设及改革思考[J]. 计算机教育,2009(18):3-5.
[9] 王志晓,夏战国,王凯. “计算机组织与体系结构”教学改革与探索[J]. 福建电脑,2009(2):213-214.
[10] 曲大鹏,薛建生,范铁生. 启发式教学法在计算机系统结构教学中的应用[J]. 辽宁大学学报,2010(3):218-220.
[11] 童小念,何秉娇,舒万能. 计算机系统结构实践教学环节的研究与实施[J]. 计算机教育,2008(3):66-68.
[12] 舒万能,童小念,何秉娇. 计算机系统结构实践教学体系研究[J]. 科技信息,2009(5):5-6.
[13] 王小鸽. 关于多核技术的几点思考[J]. 程序员,2006(9):56-58.
[14] 薛巍. 多核课程建设[J]. 计算机教育,2007(6):40-43.
[15] 吴继雁. 多核技术及发展趋势[J]. 哈尔滨轴承,2007(28):57-58.
[16] 刘近光,梁满贵. 多核多线程处理器的发展及其软件系统架构[J]. 微处理机,2007(1):1-3.
[17] 陈天洲,曹捷, 王靖淇. “多核程序设计”概述[J]. 计算机教育,2007(7):39-41.
[18] 陈天洲,刘苏明. 教育部骨干教师培训课程设计:多核技术[J]. 计算机教育, 2007(10):65-67.
[19] 陈天洲. 多核课程建设探索与实践[J]. 计算机教育,2007(2):51-55.
[20] 陈天洲,王靖淇,刘苏明. 从“教育部-英特尔精品课程”评审看大学对多核技术的课程改革[J]. 计算机教育, 2007(6):37-39.
[21] 陈天洲. 多核精品课程建设与拓展[J]. 计算机教育,2008(1):61-62.
[22] 杨剑锋,田茂,谢银波. “多核架构及编程技术”课程建设[J]. 计算机教育,2007(12):82-83.
[23] 方娟. 多核技术在“高级计算机体系结构”课程中的引入与探讨[J]. 计算机教育,2008(20):41-42.
[24] 程小雄,伍丽华. 基于FPGA的多核技术课创新实验探索[J]. 实验室研究与探索,2008(27):3-5.
[25] 英特尔软件学院. 辞旧迎新继往开来持续推进“英特尔多核技术大学合作计划”[J]. 计算机教育,2009(2):119.
[26] Kunle Olukotun,Lance Hammond,James Laudon. Chip Multiprocessor Architecture:Techniques to Improve Throughput and Latency[M]. San Rafael:Morgan & Claypool Publishers,2007:1-141.
[27] Ahmed Amine Jerraya,Wayne Wolf. Multiprocessor Systems on Chips[M]. San Fransisco:Morgan Kaufmann Publishers, 2005:357-392.
Multi-core Experiment Design of Computer Architecture
YU Yongbin, XU Jie, WANG Hua, ZHANG Fengli, LIAO Jianming, ZHOU Shijie