Java教学CDIO教育思想体验

时间:2022-05-18 04:42:00

Java教学CDIO教育思想体验

CDIO先进教育思想是麻省理工学院和瑞典皇家工学院等四所大学经过四年的探索形成的研究成果,国外和国内部分高校近年来先后将CDIO思想应用于教育教学实践并取得了良好的应用效果。

CDIO即“构思—设计—实现—运作”的工程教育思想。其中包含12条重要的标准,[1-2]概括起来主要包括:教学中能否最大程度上体现和反映对软件开发的构思、设计、实施和运作的背景;在课程标准的制定上能否体现出对学生工程基础知识、个人能力、人际团队能力和工程系统能力的培养;培养计划是否包含不同能力层次的划分和实施;有没有保证CDIO培养模式开展和实施的工程实践场所;有没有将学科学习和工程职业训练融合在一起的综合性学习经历和主动学习经历;有没有具备实施CDIO思想的高素质师资;学生学习方式是否转变为主动学习和具备持续学习能力;对学生的考核和评价体系是否与CDIO的培养目标一致等。针对计算机专业学生学习了“Java程序设计”课程后,独立分析和解决实际应用问题能力、团队协作、实际应用开发能力以及就业竞争力不强等问题,将CDIO思想引入到Java教学中,并对CDIO思想在Java教学过程中的应用和实践展开论述。

一、Java课程体系规划和实施

1.基于应用实践能力培养的Java课程体系规划聘请有能力的软件开发企业中资深的Java项目人才与学校一起根据企业的需求制定人才培养方案和教学大纲,一方面及时了解前沿技术的变化,另一方面及时了解企业对用人需求的变化,根据这些变化及时调整课程体系并选择相关案例,满足企业现在和将来的用人需求。[3]为了适应社会对高级JavaEE、JavaME程序设计人才的迫切需求,必须设置合理的课程体系模块,体现完整的Java程序员的技术路线,在授课中时时处处体现实际应用需求,以进行实际应用项目开发为最终教学目的,将实际应用开发的环节、技术和知识点分布和渗透到课堂教学中。因此,将“Java程序设计”课程体系划分为如图1所示,即在学习了JavaSE程序设计后,针对不同的学生兴趣和不同的就业取向,开设JavaEE或JavaME。

2.理论与实践教学环节的“阶段式”实施以JavaEE教学为例,按表1规划教学“知识点”、“知识单元”、“应用案例”及达到的“目标层次”。按照如图2所示的学习情境创建—引入学习任务—讲授与互动的方法完成理论环节的教学任务。传统的实验教学方式主要是教师针对课堂理论教学中的一个知识点的验证性实验。[4]这样进行的实验会导致以下问题:学生只练习了孤立的知识点,没有建立起知识点之间的联系,没有树立“所学知识是为开发应用项目服务的观念”;在完成试验后,不能体会和理解这些知识点如何运用到实际项目中;没有实际问题的驱动,学生缺乏对实验的兴趣、积极性和主动性。因此,针对理论教学知识点和实际应用项目开发需求,以实际应用项目为出发点,将其分解为若干应用模块,每个模块相对独立构成一次实验教学内容,最后将单独的模块集成为完整系统的思路精心设计实验项目,引导和培养学生独立地、逐步地进入实际应用开发的殿堂。

二、培养学生实际应用项目开发能力的场所

1.创新实验室及专业实践基地的建设与运作近年来,甘肃政法学院创办了计算机专业创新实验室,为保障CDIO工程教育思想在计算机专业教学中的贯彻实施提供了场所和仪器设备保障。创新实验室中Java项目开发团队在指导教师的带领下,由学生组成若干个开发小组,严格按照对实际应用项目“构思—设计—实现—运作”的思路,结合软件工程的开发流程,承揽和完成了一系列来自于校内或社会的实际项目开发。这部分从事过实际项目开发的学生毕业后,分别就职于全国各大中小城市以及地方的软件开发公司,跟踪调查显示,他们在各自的岗位上业务能力强,实践创新能力突出,得到用人单位的广泛认可。为了方便交流和学习,建立了Java编程爱好者网站,以师生共建的方式提供大量的可共享的Java技术学习资料,形成师生共同探讨Java技术、互相推介Java最新技术和开发技巧的网络平台;邀请与学校有校企合作关系的Java工程师、已经从事Java相关开发工作的毕业生在其上开辟空间,给在校学习Java的学生提供一线开发的经验和技术支持。为了调动学生对Java技术的兴趣,组建了Java编程爱好者社团,让学生共同学习、共同实践、共同提高。对于其中表现突出者,让其加入创新实验室参与实际应用项目的开发。形成高年级学生对低年级“传、帮、带”的传统,不断吸收新同学参与其中,保持社团旺盛的生命力。

2.让学生在实际应用项目开发中学习CDIO工程化教育思想以工程项目从研发到运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习工程。[2]因此,布置给学生的每个阶段的任务,如实验任务、课程设计任务、学年设计任务、毕业设计任务等,都以实际应用项目为背景,以软件工程方法中软件开发生命周期为指导,以提高学生自身应用开发能力、团队协作能力和工程能力为根本,锻炼学生主动学习,勇于实践,善于创新的良好习惯和开发实际软件应用项目的能力。由主讲Java课程的教师团队牵头,走出学校,积极承接实际应用软件开发项目,组织学生开发团队进行实际软件项目开发。积极与各软件开发企业保持长期合作机制,给学生创建稳定的Java实习基地,让学生走出去并深入到软件开发企业中进行项目实战的锻炼。

三、师资力量的强化

为了能够真正将CDIO思想贯彻落实在Java教学中,Java教师应同时具备Java软件工程师的能力。但目前由于主客观条件的限制,讲授“Java程序设计”的高校教师中,仍普遍存在着没有经过系统的项目开发培训和没有从事过完整大型项目开发经验积累的现象。为了有利于“双师型”教师的培养,学校应鼓励教师走出去,从事软件工程师资质认证、项目开发培训和实战,并将这些经历纳入教师绩效考核和评定的条件。加强校企合作,聘任软件开发企业中资深的Java项目工程师兼任技术顾问,对学生实际应用项目开发提供技术指导和评估。

四、学生学习方式的转变

Java教学的最终目的在于培养学生具备独立分析实际问题并运用Java开发技术创造性解决问题的能力。因此,让学生真正体现学生主体地位,将被动学习和无兴趣学习转变为主动学习和积极学习非常重要。在Java教学中涉及的每个知识点、知识单元、项目案例都要以问题的形式呈现给学生,让学生意识到需要解决什么问题,让他们先考虑解决办法,再启发式地引导学生学习陌生的新知识和新方法。引进企业的真实项目案例,采用多个小案例来驱动,先以需求和案例作为切入点,学生才有前进的目标,才会为这个目标奋斗,从而充分发挥学生的学习主动性。

五、改革学生课程考核方式

考核方式由单一的笔试或机试转变为以完成实际课程设计或应用开发项目的方式;采用“学生自评+学生互评+教师评价”等环节对学生的成绩进行综合评价;以“用户评价+专家鉴定”来综合考量实际运用项目的质量。

六、提高学生就业竞争力

通过系统化的基于CDIO思想培养的学生,已经在日常学习过程中潜移默化地掌握了Java实际应用项目开发的流程并积累了一定的项目经验。可将自己平时完成的完整项目保留下来,在就业面试阶段展示给用人单位。这锻炼了学生实际应用项目开发能力,使其快速进入Java软件工程师角色。

七、结语

在“Java程序设计”教学中,深入体现和贯彻CDIO从“做中学”,以实际应用项目开发为背景,以社会对Java人才需求为导向,以培养学生实际应用项目开发的能力为目标的新教学体系和方法,有利于进一步提高教学质量,促进学生实际应用项目开发的综合能力