德国高校常用教学方法在《软件工程》课程教学中的创新应用研究
2018-11-15李爱泉
【摘要】目前《软件工程》课程教学中存在基础理论较为枯燥、学生学习的主动性与积极性较差、项目开发经验少、对软件工程涉及的方法与工具使用困难、一对一辅导时间较少等问题。本文在借鉴德国高校普遍使用的教学方法的基础上,结合我校实际情况,采用以2人一组为单位提交作业,鼓励多组讨论做作业,课堂随机抽取及师生共同点评作业的方式,收集和分析学生对知识的掌握情况。有效提高学生学习的主动性、缩小理论教学和实践环节之间的差距,改善课堂教学效果。
【关键词】软件工程 小组作业 师生共同点评作业
【中图分类号】G642 【文献标识码】A 【文章编号】2095-3089(2018)39-0240-01
1.引言
《软件工程》课程强调软件开发的工程性,使学生在计算机科学与技术知识及技能的基础上熟练掌握从事软件需求分析、软件设计、软件测试、软件维护和软件项目管理等工作所必需的知识、方法和技能,突出对学生专业知识及技能的培养[1]。软件工程学科最早起源于德国,几十年后我国高校才开始开设。纵观中德两国大多数院校,《软件工程》课程都分为理论教学和学生进行项目实践两部分。
目前国内对《软件工程》教学已有大量的改革和探索,如理论教学方面的情境教学、案例教学、任务驱动等多种优秀的教学方法[2][3],在实验实践环节也提出了课程群建设的思路[4],也有研究将CDIO(Conceive构思、Design设计、Implement实施和Operate运作)工程教育理念引入软件工程实践教学环节[5],王璐提倡沉浸式教学法[6]等,但在高等院校《软件工程》课程的实际教学过程中依然存在以下问题:(1)软件工程的基础理论较为枯燥,学生缺乏主动性与积极性;(2)学生缺少软件项目开发经验,对软件工程涉及的方法论与工具存在困难;(3)平时成绩加期末考试成绩的考核方式无法真实体现学生的工程实践能力;(4)一般由一位教师负责所有的理论讲授、实验和课程设计环节,教学任务重,分配给每位学生的时间和精力较少。
2.德国高校《软件工程》课程授课方式
在德国的许多高校中,《软件工程》课程的理论部分由一位教授负责的大班课形式授课,教授在每一次或两次讲授课结束后会布置实践性很强的中小型作业。此外,讲授课还同步配套有练习课。练习课以每班20-30人的小班形式举行,分别由几位助教负责。所有学生必须根据自己的时间和对助教个人的喜好自由报名参加一个练习课。作业以2人一组合作完成再交给助教。练习课主要由助教逐一批改作业、归纳出错誤有针对性的集中讲解以及解答学生提出的问题和讲解额外的习题。
在讲授课结束后的几个学期内,每位学生必须参加至少两个项目的开发。项目开发也是以由助教负责的20人左右的小班形式进行。根据具体项目情况,5-6个同学组成一个开发小组,每个小组有不同的选题。首先,助教会指导大家在学校提供的服务器内搭建好包括如subVersion版本控制工具、在线讨论论坛、mailingList邮件共享群发等工具在内的开发环境,并且给每个学生开通一个访问账号。学生在课堂或者课外时间都可以随时访问服务器,在每次编码后将自己的代码导出到服务器中,在遇到问题时通过论坛在线讨论或通过邮件和组员之间保持沟通,通过版本控制工具随时了解项目开发进度。而助教则会通过账号来区分代码的作者,以此来判断每位学生在项目开发过程中的积极性、工作量以及工作内容的重要程度,最后据此给每位学生打分。得益于小班练习课,学生积累了一些开发经验,在后期进行整个项目开发的时候大部分学生不会感到无所适从。同时由于有助教和各种先进工具的辅助,使得学生在课后也能有一个舒适的讨论和学习环境。最重要的是助教给学生打的分数有据可依,极大的激发了学生学习的积极性和主动性。
3.适应现高等院校的新授课方法
鉴于目前国内许多高校师资力量不足,课时有限的情况,我们不能给学生配套小班形式的练习课。对此,本人在借鉴德国高校教学方式的基础上,创新出适用我校学生的授课方式:每个阶段和大知识点都布置作业,作业也理论和实践两部分,实践部分作业大约占80%。作业由2人为一组完成,同时鼓励多组进行探讨。这样便于学生通过课后讨论加深对课堂知识的理解和掌握,同时也增加学生模拟实际项目开发过程中和客户等不同人群进行沟通的机会。
通过检查和汇总作业中出现的问题,在讲授新课前有针对性的抽取几组作业进行集中点评。基于软件工程的实践作业多数属于分析和设计作业,没有标准答案这个特点,作业点评由小组成员先讲解和解答老师、同学的问题,最后由老师对作业进行点评给出修改建议,并对相关知识点进行复习和总结。本人曾在广西财经学院执教4个班的《软件工程》课程,其中两个班采用单人完成作业,进行集中点评的方式。另外两个班采用新方法。通过观察,发现采用新方法的班级在上课时课堂气氛相对活跃,作业完成质量更高,期末考试平均分也比另外两个班高许多,更重要的是,这两个班的学生在期末时体现出来的语言表达能力、沟通能力和协调能力等综合能力都相对较高一些。
4.小结
以2个学生为一个小组完成作业,鼓励多组探讨,同时师生共同点评作业的方式,是以学生为中心的培养模式,建立从理论学习、动手实践再到探究学习的教学链条,把设计活动贯穿于教学全过程,实现理论教学与实践教学的交叉螺旋进行,实践能力培养不断线,使学生获得有意义的综合设计体验,通过主动实践和做中学,形成未来工程师的综合品质和工程能力。
参考文献:
[1]教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业核心课程教学实施方案[M].北京:高等教育出版社,2009
[2]张佩云.项目驱动的软件工程课程案例式分段情景教学研究[J].计算机教育,2013(3):77-79
[3]孙明,田蜜, 康文杰. 设计型项目驱动的软件工程实践教学改革[J]. 计算机教育, 2016(3): 156-159
[4]陈昊,明仲,彭小刚.软件工程课程群实验教学改革探讨[J]. 实验科学与技术,2011(4):93~96
[5]赵楷,张琳琳,张振宇,张亚红,陈佳丽. 基于CDIO的《软件工程》实践课程教学改革与探索[J].现代计算机, 2012.09:30-33
[6]王璐.沉浸式教学法在《软件工程》课程中的应用与实践,软件应用,2017,42-43
作者简介:
李爱泉(1982-),女,硕士,研究方向:计算机科学与技术。