以学生为主体的软件工程教学探索
- 格式:doc
- 大小:26.50 KB
- 文档页数:3
以学生为主体的软件工程教学探索
摘要:通过分析软件行业对软件人才实践能力的新要求,提出软件工程课程以学生为主体的教学改进方案。
该方案提升学生的学习兴趣,提高课内实践的教学质量,增强学生对软件工程专业知识的实际运用能力。
关键词:软件工程;教学研究;学生为主体
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
它涉及工程概论、项目管理、程序设计语言、面向对象的需求、数据库、软件开发工具、系统平台、标准、设计模式等,是一门综合性很强的软件课程,在计算机教学体系中占有十分重要的地位[1]。
上世纪90年代以来,计算机科学蓬勃发展的同时,我国计算机软件行业也进入了快速发展时期。
软件行业呼唤计算机教学方面的改革,希望走出校门时,新一代软件人才能在更好掌握软件工程理论知识的同时拥有一定的实践经验。
这就对软件工程这门计算机专业核心课程提出了更高的要求。
目前,软件工程课程的教学改革已经在各高校开展多年,其中引入案例教学,解决理论与实际应用衔接的问题[2];以及引入项目式实践教学,提高学生动手能力和感性认识等[3],都是比较有效的教学方式。
但对于如何以学生为主体,提高学生自主学习软件工程的教学方式,目前还没有系统的经验总结。
本文从软件工程教学存在的问题开始,介绍在五邑大学计算机学院开展的以学生为主体的软件工程教学,讨论提高软件工程课程教学质量的途径和方法。
1软件工程教学的困难
要提高软件工程课程的教学质量,还存在一定困难。
从软件工程的学科发展上看,软件工程的学术研究和教学过程本身有着不同的动作机制,学术界的最新成果和正在进行的软件设计很难直接相互渗透。
另外一方面,从学生的认识结构看,在软件工程的教材中添加大篇幅的工程经验,虽然可以一定程度地解决学生缺乏实践经验的问题,但这些内容并不能完全构成学生对软件工程的认知结构。
教材和课程大纲中的学术成果和经验理论,是知识的结果,不是知识的形成过程。
经典理论不能代替学生从动手实践中获得自我认知的能力。
软件工程教学不能离开实际的体验,否则就容易造成类似人文学科中学术成果和经典阅读脱节的情况[4]。
因此,在传统的软件工程课程中,由于课堂教学方式具有局限性,学生学会了软件工程的原理和方法,但不会在实践中运用所学知识解决实际问题。
引入项目式教学后,课本当中的例子多数是为概念和原理而设立的,无法在规模和复杂程度上与真正的软件开发项目相提并论。
这就导致学生缺乏对软件工程实践过程的感性认识,学完课程后仍不知道应如何着手一个软件项目的开发[5]。
而实践
又是掌握工程科学的最佳方式。
对于不断发展的软件理论,其中的知识与经验只能通过实践者自己亲身执行后,才能被理解和掌握。
为了提高软件工程课程的教学质量,从根本上提高学生的学习兴趣,五邑大学计算机学院在近年的软件工程教学中,强调以学生为主体,实施学生自主体验的教学改革。
目的就是提高学生对软件工程经典理论的感性认识,不让项目式的实践教学流于形式,使学生在完成软件工程的学习后,能适应软件行业的工程化需求。
2以学生为主体的自主体验式教学设计
为了体现学生自主体验的过程,我们在软件工程的课程教学大纲中提出了以学生为主体的教学方案,其目的是使学生能主动投入到软件工程的学习中,使教学内容能与学习体验更紧密地结合。
同时,在实践教学中,软件工程的教学设有学生自选项目的实践环节。
新的教学设计,关键就在于引导学生自主参与项目式教学。
为了强调学生自主体验,该课内实践的选题范围要求来源于五邑大学校内的具体软件需求,并将软件开发的工作量控制在一定的范围之内,使项目实践内容能覆盖整个软件生命周期。
最后,参考国家软件开发的标准文档要求,要求学生在各阶段完成后提交阶段性书面总结。
具体地,以学生为主体的教学改革主要包括以下5个方面。
2.1提出注重互动的理论教学
互动式的理论教学首先要求教师要少讲,把学习的机会留给学生。
理论的学习和掌握依然是项目式教学的基础,这些经典公式和行业标准通常是学生最不容易用心学习的部分,而引入互动式的课堂理论教学可以较好地解决这一问题。
传统的软件工程教学大纲存在项目实践方面内容的缺失,而补充了项目式教学后的软件工程,往往更像是一种“基于项目活动的研究性学习”,这就使教师更注重项目经验的传授。
其实,“最好的教学是对话式的教学”,教师应该从自身开始改变观念,不再一成不变地重复教学。
学生通过与教师的对话式交流,可以在互动中解决项目中的实际问题,完成教学大纲中要求的理论学习部分。
2.2要求学生完成真实可见的软件项目
在课内实践中,教师要求学生完成一个来自校内的实际软件需求,这个软件的需求通常是学生可以在日常生活中直接感受到的,这样可以提高软件开发中需求调研的真实性,更有利于增强学生的自主体验。
在以往的教学中,我们没有提出这样的选题范围要求,而学生一开始对软件开发的理解又有限,因此选题往往是教师熟悉的领域,或是学生从网络上找到的参考题目。
结果是部分学生在实践中积极性不高,还出现有学生照搬参考书和网络上已有案例的情况。
新的实践选题范围要求必须来源于校内实际需求,这可以更方便教师控制实践项目选题与某些参考书中案例之间的重复度,也加强了学生调研工作的真实性。
2.3在理论与实践教学中开展深入的专题讨论
专题讨论的前提是学生的课外学习和总结,讨论时的主体应该是学生而不是教师。
长期以来,在软件工程的理论与实践教学中,基本是教师单向传授,教师讲学生听,教师布置课题学生完成,学生离开了教师就不知道干什么,不利于提高学生的综合素质。
因此,在软件工程教学时,教师必须要少讲,目的是要把实践过程留给学生去体验。
软件的开发过程并不是一成不变的,每次软件开发都是对软件工程系统框架进行的一次创造性实践,真实的开发过程往往不都能完全遵循教科书中建议的软件开发流程。
因此,在学生的课内实践中,教师首先让学生通读教材和讲义,然后鼓励学生根据课程学习的要求去寻找来自生活中的实践项目,也就是自己找到想解决什么问题,并进一步阅读课本和参考资料,在教师、学生之间开展专题讨论,用问答和辩论的方式完成理论学习和项目体验。
另外,专题讨论的题目并不需要预先定好,而是应该在项目实践的进程中挖掘出有讨论必要的题目,同时鼓励学生在讨论前进行充分准备,查阅相关的期刊和论文,并在讨论后进行总结。
2.4注重项目实践中对软件项目管理的体验
软件工程是一门锻炼学生综合能力的课程,工程实践性非常强,而工程总离不开项目管理。
学生一开始知道课程中包含项目实践后,往往最先关心应该在软件开发中使用什么技术和工具。
但软件工程的实践教学并不应把实践侧重于软件开发技术的应用,更不应指定实践项目使用的开发技术。
指定开发语言和开发工具容易使学生混淆软件工程课内项目的实践方式和其他专业课,如数据结构、数据库、操作系统和Web体系结构的课内项目实践。
软件工程教学的目标应是在讲授软件工程经典理论和工程经验的同时,让学生体验软件项目的开发过程,提高对软件项目的整体把握能力,增强软件项目管理理念。
因此,教师应当引导学生把注意力集中在软件工程的知识框架和对软件过程的实践上,并在实践环节适当增加如成本控制、进度管理、风险分析以及人员管理等有关软件项目管理的体验。
2.5灵活的成绩评价方式。