毛燕琴1,2
(1. 南京邮电大学 计算机学院,江苏 南京 210003;2. 南京邮电大学 软件学院,江苏 南京210003)
摘要:总结软件工程专业课程特点,分析传统教学模式存在的不足,提出基于案例的启发式教学实践框架,从案例出发,通过问、引、学、讲、练等环节把知识点与应用结合起来,回归项目实践,不仅有利于提高教学效果,也能充分锻炼学生的自主学习与创新应用能力。
教育期刊网 http://www.jyqkw.com
关键词 :软件工程;启发式教学;软件开发
基金项目:南京邮电大学2013年下半年教学改革项目(JG00413JX68)。
作者简介:毛燕琴,女,讲师,研究方向为物联网系统建模,yqmao@njupt.edu.cn。
0 引言
为了满足现代化建设和信息产业发展的需要,软件工程专业[1]主要培养从事计算机软件开发、系统分析与设计、软件项目管理、新技术实践应用的复合型、实用型高级人才。专业学生主要学习软件工程的理论和方法,能够熟练灵活地运用工程化方法、技术和工具从事软件分析、设计、开发、测试、维护等工作,提高项目组织与管理能力、团队协作能力、技术创新能力和市场开拓能力。如何培养满足企业需求的高素质计算机软件人才,如何改进和拓展教学思路和教学方法,是从教者需要深入思考和探究实践的问题。
1 软件工程专业课程的特点
软件工程专业课程体系[2]中与系统应用开发相关的专业课比较多,主要包括高级语言程序设计、数据库系统与设计、基于UML的面向对象分析与设计、Web应用开发、Android应用开发、Web服务应用开发、嵌入式系统与开发、软件测试、软件项目管理、软件体系结构、信息安全技术等,这类课程具有以下特点。
(1)知识点细小、量大、繁杂,抽象、不易理解,需灵活、综合运用知识点才能解决实际问题。
(2)侧重实践教学环节,辅助说明知识点、方法和技术的运用。
(3)课外学时比重较高,需要学生课后自觉加强系统开发技能的学习和训练。
(4)对学生综合素质要求较高,特别是动手实践能力。
从易于学生理解、掌握的角度出发,为了培养和提高学生的自主学习和应用创新能力,笔者在分析软件工程专业课程的特点和传统教学模式的基础上,探讨并提出基于案例的启发式教学实践框架。
2 传统教学模式分析
软件工程专业课程传统教学模式[3]主要包含两部分:课堂教学和实验教学。课堂教学“老师讲、学生听”,实验教学“学生练、老师指导”,学时分配以课堂教学为主,实验教学为辅,通过实验环节加深和巩固课堂讲授的知识点。
在近几年的教学过程中,笔者发现传统教学模式存在以下问题。
(1)课程知识点内容相对枯燥,课堂教学讲授过程不易集中注意力,学生经常处于人在心不在的状态,不能激发学生学习积极性和热情。
(2)课堂教学以知识点为中心,先逐一讲授各章节知识点,然后通过简单的案例进行应用示范说明。这种正向教学模式虽然具有一定的知识连贯性,但从企业对软件人才的需求角度来看,学生解决综合问题的能力不易得到锻炼,因此大部分学生期末考试基础题容易得分,但分析、设计、综合题等却不一定能抓住问题关键。
(3)实验过程中,一位指导老师通常要应对一个班或者几个班学生的提问,这种一对多、串行处理的实验指导模式导致部分学生等待答疑的时间偏长,实验课时利用率不高,教学效果大打折扣。
(4)实验教学环节虽然可以帮助学生巩固所学知识点,提高解决问题的能力,但学时较短,不会超过总学时的25%,因此实验课题的难度一般中等偏下,选题比较陈旧,以引导启发为主,与软件企业实际项目课题的规模相距甚远。此外,学生动手实践能力参差不齐,实验过程中敢于问问题的基本都是积极、主动、对课程感兴趣的学生,而很多同学遇到问题几乎不咨询指导老师,甚至出现实验报告抄袭的情况。
(5)课程综合考评以期末考试成绩为主,附加实验成绩和平时表现成绩,这种考核方式不利于体现学生开发能力的水平以及解决问题的综合能力,学生必然在学习过程中忽视软件开发能力的锻炼和主动思维习惯的培养。
针对以上问题,为了提高教学效果,培养学生学习与创新的能力,帮助学生解决实际问题,需要我们转变教学思路和教学模式,在积累的教学实践经验基础上探讨并提出基于案例的启发式教学实践框架。
3 基于案例的启发式教学实践框架
传统的课堂教学方式是将知识点与应用实例分开讲授,零散地讲解知识点,然后通过实例说明如何应用。这样可能会导致以下问题:讲授新知识点的时候学生不知道有何用处,理解不透彻,似懂非懂;实例讲解的时候忘了已学习的新知识点,总在给出答案时才恍然大悟。
基于案例的启发式教学实践框架借鉴并融合了NIIT教学体系[4]中基于榜样的学习方法MCLA(model centered learning architecture)、信息搜索和分析技能 ISAS(information search and analysis skills)、PROJECT项目开发的教学思路。MCLA是印度NIIT教学模式的基础和核心,以应用为导向,任务驱动教学,培养学生基本技能和动手能力。该模式由多个教学循环组成,从业界的实际问题入手,采用规范的分析、计划、实施和验证步骤来解决这个问题,学生参照此方法和步骤来解决另一个新的实际问题,培养独立解决实际问题的能力。ISAS课程核心是提高信息检索与分析能力、文档处理能力、演讲能力等,以小组的形式共同完成一项课题,组织、分工、信息检索、材料整理、文档撰写、成果展示等全过程都由学生自己完成,锻炼学生团队合作能力、网络信息检索和分析能力、文档和演示技能、交流和演讲能力等。PROJECT强调实践能力和编程能力,模拟现实环境,通过项目开发来提高知识理解与应用的能力,培养学生独立解决实际问题的能力。
图1是基于案例的启发式教学实践框架示意图,框架主要包括5个环节:问、引、学、讲、练。下面以笔者承担的软件工程专业“关系型数据库编程”为例阐述该框架的主要思路。
该课程授课对象是大一下学期学生,对数据库应用系统的使用并不陌生,比如网上选课会使用学校的教务管理系统,图书续借需要使用图书馆管理系统等,但学生对后台的数据库系统如何设计与编程开发却比较陌生。因此,从学生易于理解的角度考虑,教师选择学生亲身体验过的数据库应用系统为授课案例来展开课程教学内容。
传统的教学过程会按部就班地介绍数据库定义、分类、关系类型数据库、数据操作、数据管理等概念,内容枯燥,不易理解,也无法激发学生的兴趣,而该教学框架首先以问的形式吸引学生的注意力,启发学生思考,让学生从“被动听”的状态转为“主动思考”的状态。教师应从图书馆管理系统应用案例出发,站在学生的角度提出问题,或者让学生主动提出疑问,如需要管理哪些数据?数据在软件系统中如何组织?以什么结构存储数据?如何插入删除数据?如何查询数据?面对庞大数据量如何提高查询数据的效率?
问题的设定需要精心准备,不仅要有针对性,并且能与各章节重要知识点相关联,这样才能在问题的解答过程中引入知识点的介绍。针对上述“面对庞大数据量如何提高查询数据的效率”这个问题,教师借鉴新华字典查找汉字的过程,引入“索引”这个概念,什么是索引,索引有哪些分类,如何创建索引,利用索引查询数据的过程等相关知识点也就顺其自然地引出来了。
传统教学方式中,授课教师会将这些相关知识点逐一讲解,学生被动接受,但实践证明这个过程并非双赢,一方面学生的学习能力得不到锻炼,另一方面授课教师也不能全面掌握学生的听课效果。因此,在该框架中借鉴ISAS课程思路,将相关知识点以任务的形式布置给学生自主学习和协作学习,学生可以收集教材、参考书、网络等各类学习资源,独立完成任务学习报告,并将主要内容以PPT形式在讲台上进行阐述,与老师同学分享学习的成果和收获,从被动学习转变为主动学习,带着问题和任务寻找答案,提高学生学习积极性,锻炼学生的自主学习能力。
在充分了解学生相关知识点的掌握情况后,结合课程内容或者扩展知识的需要,授课教师可以有针对性和选择性地补充讲解、知识点总结、代码解释、实例演示等。例如,针对“面对庞大数据量如何提高查询数据的效率”这个问题,使用SQL Server软件,对比索引建立前和建立后两种情况数据查询所耗时间的变化。通过实例演示给学生留下感官体验的深刻印象,同时也加深学生对知识的理解。
阶段学习和讲解结束后,学生分组进行项目演练,学生之间分工合作,互帮互助,针对项目需求共同完成软件作品,如构建仓储管理系统、客户信息管理系统等。教师可以以多样化的形式展现各小组开发成果,如课堂现场展示、手机或网络平台展示[5]等,让老师和同学都参与评价,获得较全面的用户意见;通过实践开发环节,加深对知识点的理解与应用,锻炼学生解决实际问题的能力和交流演讲能力,培养团队合作精神。
综合上述5个环节,教师改变传统期末考试的片面评价方式,采用多形式、多角度的复合评价模式综合评定学生的学习效果,包括学生自我评价、教师评价、学生互评等,通过任务学习报告、软件开发作品、期末考试成绩等多种方式从多个角度评价学生的综合能力,包括自主学习能力、实践应用能力、知识掌握水平等。采用人性化的复合评价方法的目的是为了锻炼学生的综合素质,同时也能反映教学效果,使授课教师能进一步优化教学模式。
4 结语
软件工程专业大部分课程具有工程化的特点,基于案例的启发式教学实践框架无论在教学还是考核过程中应尽量采用以人为本、学以致用的思路。计算机技术发展日新月异,学生学习过程中所收获的编程经验和应用创新能力远比课程知识本身更重要,而授课教师在教学过程中不断丰富案例,深入浅出地讲授知识,不断改进完善教学方法,也必将从中受益匪浅。
教育期刊网 http://www.jyqkw.com
参考文献:
[1] 金彩琴, 汪万紫, 裘国永, 等. 国内若干高校软件工程专业培养方案比较[J]. 中国科教创新导刊, 2011(11): 149-150.
[2] 陈云芳, 孙力娟. 软件工程专业课程体系研究[J]. 高等工程教育研究, 2009(2): 140-144.
[3] 吴建斌, 陈中育, 叶荣华, 等. 软件工程类课程教学模式改革探索[J]. 中国信息技术教育, 2013(5): 119-121.
[4] 王小英, 陈英革,常 晋义. 印度NIIT嵌入式教学方法探讨[J]. 电脑知识与技术, 2009(14): 3731-3743.
[5] 田俊梅, 王国枝, 赵巧娥, 等. 专业基础课程教学改革[J]. 教育理论与实践, 2014(18): 49-50.
(编辑:孙怡铭)