黄兴荣
摘要:该文通过研究高职学生的特点和高职教育目标,针对软件工程的课程特点和教学中所存在的问题,提出了“学生为主体-项目驱动”的教学方法来提高该课程的教学质量。在此教学方法中,实施了以学生为主体的理论教学和基于项目驱动的实践教学,并改进了教学考核标准。
关键词:高职教育;软件工程;教学方法;学生为主体;项目驱动
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2014)34-8250-02
高职院校的学生与普通本科高校的学生相比,具有以下特点:学习基础通常较差、学习积极性不高、学习的主动能力不够;但是,高职学生通常兴趣爱好广泛、个人特长突出,学习情绪化较强。此外,高职院校的培养目标也和本科高校也不是不同的,高职定位为培养面向生产和服务第一线的高级技术型人才,重视就业技能和发展能力。
高职学生的特点和培养目标,对于原有的“以教师为中心”的课堂教学模式提出了挑战。现代教学方法是基于建构主义的“学生中心”模式,主张从教学思想、教学设计以及教学管理等方面均强调以学生为中心。
“软件工程”是高职软件技术专业的一门专业必修课,在整个教学体系中占有非常重要的地位。该课程具有理论性和实践性兼具的特点,主要内容包括软件工程的概述、需求工程、软件设计、软件实现、软件测试、软件维护等方面,以及相关的方法和技术。该课程的目标是学生不仅理解和掌握软件开发中的原理、方法和技术,并能够将之应用于软件项目的实践中。但是,由于“软件工程”课程具有抽象性和实践性都很强的特点,在教与学的双向过程中存在不少问题,导致教学效果不尽人意。如何提高软件工程的教学水平和质量,是很多的教师广泛探讨和深入研究课题[1、2]。针对高职学生的特点和培养目标,加强对高职学生项目实践和解决实际问题的能力培养,项目实践是软件工程课程学习的关键,也是高级技术型人才培养的必由之路。目前,在此课程教学中,不少院校已经采用了“项目驱动”的教学法。在教学中通过引入工程项目案例,并组织学生参加到项目的设计和实现之中。在项目驱动的教学模式中,已经形成了“以项目为主线”的特征[3、4]。
那么,在“项目驱动”的教学方法中,如何调动学生的“主体”作用呢?并加强教师的“主导”作用呢?使学生真实地参与项目的设计和实现之中,在项目实施过程中不断提升自学与应用能力呢?为此,通过“软件工程”课程的教学目标、教学内容、理论教学、实践教学、考核标准等方面的重新组合,对课程的教学方法进行了持续的改进。具体的做法如下:以学生为主体构建理论教学;基于项目驱动实施项目实践;制定符合学生主体学习要求的考核体系。改进后的教学方法称为“以学生为主体和项目驱动的软件工程教学方法”,最终形成“以学生为主体,以软件项目设计为主线,以实际工程流程为依托,以能力培养为本位”的特色。
1 构建以学生为主体的理论教学
1.1 建立合理的课程内容体系
软件工程具有理论性和实践性兼具的特点。在课程教学实施中,首要任务是建立合理的课程内容体系。目前,相关的教材都是围绕软件工程理论的两条主线来阐述软件开发的过程。首先,基于项目的生命周期方法讲述传统的软件开发过程;其次,第二条主线是基于面向对象方法的软件开发过程。为了保证理论的完整性和体现项目实践性,再加上考虑到高职学生的学习特点,选用的教材主要突出了以下几方面:
1) 完整的理论性,比较全面地介绍了软件工程中的基本原理、概念和方法;若没有较为完整的理论体系,项目实践将成为“无源之水”,无从谈起。
2) 较强的实践性,教材的内容体系强调基本原理、方法在项目实践中的具体应用,适合高职学生的主动学习。
3) 与时俱进的技术先进性,软件行业发展一日千里,先进的技术出现较快;教材较为详细地介绍了软件工程中的新技术、新方法。
4) 自主学习的便利性,给出了“软件工程项目实践”的完善方案,为学生的自主学习提供方便。
1.2 构建项目开发团队
对于大学生而言,主动实践是职业能力和职业素养培养的关键。为了调动学生的主动性,将软件11-1、2,软件12-1、2班的同学,以4到5名同学划分为一个项目小组,各个项目小组选定一个典型项目。项目来源于企业生产实践,经过加工与改进,具有典型性、代表性和可操作性;项目有明确的实施要求及考核标准。在各项目组中,按照行业要求划分各个同学的角色和职责,具体如下:
1) 项目经理(1)
2) 系统分析员、软件设计师(1+1)
3) 软件开发工程师(1)
4) 测试工程师(1)
1.3 开展以学生为主体的案例式教学
根据软件工程主要用于进行软件项目整体设计的要求出发,通过对具体的项目开发流程而讲解和实践,使原本抽象的原理、技术能够具体、形象的方式呈现给学生,又能被学生充分地吸收并运用到各自的项目实践中。对此,我们开展了案例式教学,在教师以典型项目案例贯穿于整个理论教学过程中。流程为:布置任务→明确知识与能力目标→讲述相关知识点→讨论分析案例→完成单元任务→教学小结→项目实践→学习效果评价。案例教学充分调动学生的主动性,达到了学生发现问题→提出问题→分析问题→解决问题的教学目标。
项目组提交作业的形式,是项目的阶段性的分析和设计文档。软件工程课程授课时间为60学时,其中,课堂学时为40小时,实践学时为20学时;在40个课堂学时中,分配10个学时给学生上讲台讲课进行项目验收。在项目验收环节的课堂上,由进行验收的项目经理进行主导,在课堂上介绍本组的需求分析、概要设计、详细设计等项目成果。此时,同时进行小组相互点评,气氛活跃。“学生上课程”和“组间互评”的教学方式,突出了学生主体性,激发了学生的潜在学习能力,使学生牢固掌握专业知识,不断训练职业技能,形成认真严谨的职业态度。endprint
2 实施基于项目驱动的实践教学环节
在实践环节中,要求各个项目小组开发不同的典型项目。一个项目组的同学按照既分工又合作的要求,完成一个完整项目在开发过程中所需的分析、设计文档,突出项目分析与设计这条主线。在实践环节中,让学生相对独立地完成,教师采用点拨方式或共同探究的方式进行指导,鼓励学生大胆设计、充分展现自己的设计思路,实现了“学生为主体”式的项目实践。
项目小组根据项目需求制定项目计划,进行分析、设计、编码和测试,编写各阶段的工程文档。小组以整体形式定期与教师沟通设计结果。以项目小组为团队的实践教学环节,是一种团队式学习模式[5]。小组成员之间可以通过交流型、调整型、共勉型等学习形式,实现团队学习,从而提高了学生沟通交流能力和学习主动性,也提高了学生的团队意识。
3 制定符合教学特点的课程考核体系
由于采取的教学方法的改进,传统的考核方法已不能适应于课程考核。为了充分调动学生的学习主动性和提高学生的创造能力,采用了“学生参与、分阶段项目考核体系”,具体包括以下几方面:
1) 在“项目实践”环节为防止学生敷衍了事,要对所完成质量进行考核。每一个单元任务及其对应的能力目标和知识目标都要考核。即实施了过程化考核,改变仅以期末考试定成绩优劣的考核形式。课程考核标准由三部分组成:过程考核(作业、考勤)20%,小组项目实践60%,期末理论考试20%。
2) 制定过程考核评定标准,项目小组实践成绩的评定严格按照标准进行。项目小组成绩由过程性成绩与最终的项目验收情况组成。两次考核的要求和标准如表1、2所示。过程性成绩由教师和其他项目组共同评定。
3) 个人成绩由根据小组具体成员的答辩成绩来评定,答辩的内容为小组成员在项目开发中所完成的任务;其中,评定项目经理的个人成绩时,还应考查其的组织、管理能力。
4 结束语
本课程改革已经实施了两个学年,授课对象分别是2011级、2012级的软件技术专业。实践证明,通过构建以学生为主体和项目驱动的软件工程教学方法,是可行的、有效的,它促进了理论结合实践,使“软件工程”课的教学由枯燥难懂变得生动、具体、形象。在整个教学过程中,学生始终处于主导地位,是学习的主体,对软件开发的全过程有一个更直观、更感性、更全面的认识。通过对学生的调查显示,超过90%的学生认为这种教学方法提高了自主学习的积极性,培养了专业技能。
参考文献:
[1] 蔡勇,李菁芳.以“项目教学法”促进“软件工程”教学[J].计算机教育,2007(8):13-15.
[2] 殷美桂.案例教学法在软件工程教学中的应用[J].福建电脑,2008(5):201.
[3] 夏小娜,曹宝香.《软件工程》教学的“三段论”定位与“能力驱动”[J].现代教育技术,2007,17(8):109-111.
[4] 裴小兵.基于软件开发的软件工程教学实践研究[J].计算机教育,2008(2):55-56.
[5] 余冬梅.软件工程教学中的团队学习模式研究[J].计算机教育,2008(6):96-97.endprint
2 实施基于项目驱动的实践教学环节
在实践环节中,要求各个项目小组开发不同的典型项目。一个项目组的同学按照既分工又合作的要求,完成一个完整项目在开发过程中所需的分析、设计文档,突出项目分析与设计这条主线。在实践环节中,让学生相对独立地完成,教师采用点拨方式或共同探究的方式进行指导,鼓励学生大胆设计、充分展现自己的设计思路,实现了“学生为主体”式的项目实践。
项目小组根据项目需求制定项目计划,进行分析、设计、编码和测试,编写各阶段的工程文档。小组以整体形式定期与教师沟通设计结果。以项目小组为团队的实践教学环节,是一种团队式学习模式[5]。小组成员之间可以通过交流型、调整型、共勉型等学习形式,实现团队学习,从而提高了学生沟通交流能力和学习主动性,也提高了学生的团队意识。
3 制定符合教学特点的课程考核体系
由于采取的教学方法的改进,传统的考核方法已不能适应于课程考核。为了充分调动学生的学习主动性和提高学生的创造能力,采用了“学生参与、分阶段项目考核体系”,具体包括以下几方面:
1) 在“项目实践”环节为防止学生敷衍了事,要对所完成质量进行考核。每一个单元任务及其对应的能力目标和知识目标都要考核。即实施了过程化考核,改变仅以期末考试定成绩优劣的考核形式。课程考核标准由三部分组成:过程考核(作业、考勤)20%,小组项目实践60%,期末理论考试20%。
2) 制定过程考核评定标准,项目小组实践成绩的评定严格按照标准进行。项目小组成绩由过程性成绩与最终的项目验收情况组成。两次考核的要求和标准如表1、2所示。过程性成绩由教师和其他项目组共同评定。
3) 个人成绩由根据小组具体成员的答辩成绩来评定,答辩的内容为小组成员在项目开发中所完成的任务;其中,评定项目经理的个人成绩时,还应考查其的组织、管理能力。
4 结束语
本课程改革已经实施了两个学年,授课对象分别是2011级、2012级的软件技术专业。实践证明,通过构建以学生为主体和项目驱动的软件工程教学方法,是可行的、有效的,它促进了理论结合实践,使“软件工程”课的教学由枯燥难懂变得生动、具体、形象。在整个教学过程中,学生始终处于主导地位,是学习的主体,对软件开发的全过程有一个更直观、更感性、更全面的认识。通过对学生的调查显示,超过90%的学生认为这种教学方法提高了自主学习的积极性,培养了专业技能。
参考文献:
[1] 蔡勇,李菁芳.以“项目教学法”促进“软件工程”教学[J].计算机教育,2007(8):13-15.
[2] 殷美桂.案例教学法在软件工程教学中的应用[J].福建电脑,2008(5):201.
[3] 夏小娜,曹宝香.《软件工程》教学的“三段论”定位与“能力驱动”[J].现代教育技术,2007,17(8):109-111.
[4] 裴小兵.基于软件开发的软件工程教学实践研究[J].计算机教育,2008(2):55-56.
[5] 余冬梅.软件工程教学中的团队学习模式研究[J].计算机教育,2008(6):96-97.endprint
2 实施基于项目驱动的实践教学环节
在实践环节中,要求各个项目小组开发不同的典型项目。一个项目组的同学按照既分工又合作的要求,完成一个完整项目在开发过程中所需的分析、设计文档,突出项目分析与设计这条主线。在实践环节中,让学生相对独立地完成,教师采用点拨方式或共同探究的方式进行指导,鼓励学生大胆设计、充分展现自己的设计思路,实现了“学生为主体”式的项目实践。
项目小组根据项目需求制定项目计划,进行分析、设计、编码和测试,编写各阶段的工程文档。小组以整体形式定期与教师沟通设计结果。以项目小组为团队的实践教学环节,是一种团队式学习模式[5]。小组成员之间可以通过交流型、调整型、共勉型等学习形式,实现团队学习,从而提高了学生沟通交流能力和学习主动性,也提高了学生的团队意识。
3 制定符合教学特点的课程考核体系
由于采取的教学方法的改进,传统的考核方法已不能适应于课程考核。为了充分调动学生的学习主动性和提高学生的创造能力,采用了“学生参与、分阶段项目考核体系”,具体包括以下几方面:
1) 在“项目实践”环节为防止学生敷衍了事,要对所完成质量进行考核。每一个单元任务及其对应的能力目标和知识目标都要考核。即实施了过程化考核,改变仅以期末考试定成绩优劣的考核形式。课程考核标准由三部分组成:过程考核(作业、考勤)20%,小组项目实践60%,期末理论考试20%。
2) 制定过程考核评定标准,项目小组实践成绩的评定严格按照标准进行。项目小组成绩由过程性成绩与最终的项目验收情况组成。两次考核的要求和标准如表1、2所示。过程性成绩由教师和其他项目组共同评定。
3) 个人成绩由根据小组具体成员的答辩成绩来评定,答辩的内容为小组成员在项目开发中所完成的任务;其中,评定项目经理的个人成绩时,还应考查其的组织、管理能力。
4 结束语
本课程改革已经实施了两个学年,授课对象分别是2011级、2012级的软件技术专业。实践证明,通过构建以学生为主体和项目驱动的软件工程教学方法,是可行的、有效的,它促进了理论结合实践,使“软件工程”课的教学由枯燥难懂变得生动、具体、形象。在整个教学过程中,学生始终处于主导地位,是学习的主体,对软件开发的全过程有一个更直观、更感性、更全面的认识。通过对学生的调查显示,超过90%的学生认为这种教学方法提高了自主学习的积极性,培养了专业技能。
参考文献:
[1] 蔡勇,李菁芳.以“项目教学法”促进“软件工程”教学[J].计算机教育,2007(8):13-15.
[2] 殷美桂.案例教学法在软件工程教学中的应用[J].福建电脑,2008(5):201.
[3] 夏小娜,曹宝香.《软件工程》教学的“三段论”定位与“能力驱动”[J].现代教育技术,2007,17(8):109-111.
[4] 裴小兵.基于软件开发的软件工程教学实践研究[J].计算机教育,2008(2):55-56.
[5] 余冬梅.软件工程教学中的团队学习模式研究[J].计算机教育,2008(6):96-97.endprint