软件工程教学法研究与实践
2016-03-05张菊
张菊
摘要:文章结合软件工程课程的特点,阐述了兴趣引导、任务驱动教学法在课堂教学中的应用,指出了教学设计中要注意的问题,并举例分析其用法。
关键词:软件工程;教学方法;兴趣引导;任务驱动
在互联网+大智慧时代,计算机和移动智能终端的普及使得软件成为人们日常使用必不可少的工具。有了软件,人们的办公效率得到提高,生活质量也有了很大改善,人们幸福地生活在这个智慧的时代。随着国家经济的发展和对软件人才需求的增长,软件工程学科的作用和地位不断上升。2011年,国务院学位委员会及教育部将软件工程设立为国家一级学科,这反映出社会发展的重大需求,指明了学科发展的方向。目前高校中近80%的院校设有软件及相关专业,2015年国家对软件人才的需求旺盛。教指委也认定软件工程是计算科学相关专业的核心课程之一,着重强调软件工程的重要作用。
软件工程是一门工程学科,主要讲述软件开发与维护的相关知识,涉及软件开发的各个方面:开发流程、原则、开发方法与常用工具、软件项目管理等,能够为高效地开发高质量的软件产品提供有效的技术支持。它在培养学生的软件开发能力、提高项目管理水平方面起着重要的作用。
软件工程课程涉及的原理、方法、概念多,涉及的知识面广且抽象,较难理解,实践环节操作困难。需要学习者既知晓理论知识,又能够在项目实践中灵活应用。在计算机相关专业的课程设置上起着重要的作用。因此,针对高职院校的软件工程教学现状,必须进行教学改革,不断探索更为有效的教学方法。下面是笔者结合自身的教学经验探索了“兴趣引导+任务驱动”的软件工程教学法,与同行探讨。
1.软件工程课程教学现状
1.1教学方法陈旧
大多数高校的软件工程课程主要以理论讲授为主,在课堂上采用“灌输式”的教学方法。课堂教学枯燥无味,学生被动式地接受,教师是课堂的主导,学生为辅。情景式、互动式等教学方法较很少采用,课堂氛围沉闷,缺乏灵活性,课后缺乏实践训练。不能充分地调动学生学习的主动性,无法激发学生的学习热情,大多数学生学完后只记住了一些基本概念,很难灵活应用于项目开发实践中。有的学生甚至认为有了这些理论知识就能指导软件开发,开发出完美的软件产品。单一的课堂教学枯燥无味,加上理论抽象,教学效果大打折扣。
1.2教学内容与其他课程融合欠佳
软件工程的选修课程有数据结构、数据库原理及应用和程序设计语言等,这些课程学完之后,学生很难把这些课程的知识点融合在一起应用于软件开发过程中。学生难以融会贯通,理解起来困难,在项目实践中更是难以灵活应用。
1.3忽视实践环节
软件工程是一门理论性和实践性比较强的综合性课程,很多院校只注重理论课的教学,开设了很少的实验课程,甚至有的学校只开设纯理论课,没有实践教学环节。学生在实验过程中只是学习了一些软件工具的用法,而没有按软件开发流程完成一个完整项目的开发,不能真正领悟到软件工程在项目开发中的重要作用。
1.4师生对软件工程课程重视度不够
软件工程不同于一般的应用软件,学完后会有立竿见影的效果,比如学习了photoshop就能够进行简单的图像处理。在完成一个软件项目的开发过程中,有些学生虽然能做出来,但是做出的软件产品却差强人意,软件质量缺乏保障,缺乏完整的文档资料,很难进行软件维护。许多学生认为软件就是程序,没学软件工程也能写代码,不重视软件工程,认为学不学没有太大的关系。
随着信息化时代的来临,越来越多的应用都离不开软件,同时对软件的质量要求也越来越高,所以教师更要重视软件工程的教学,在教学中要进一步结合现代教育技术,开展信息化教学创新研究。
2.教学方法设计
大多数高职学生基础薄弱,他们对理论知识的归纳、总结能力欠佳。在教学中,要尽量深入浅出,以简单、形象、生动的语言,把知识点阐述清楚,同时要注重培养学生的逻辑分析能力和动手能力,力争让每一位同学都能有所收获,有所提高。
教学过程中“教”与“学”高效结合,需要注重教师和学生在课堂中主导角色的合理优化。为了让学生更主动地参与到学习中来,兴趣引导是一种有效的方法,可以激发学生的学习热情。因此,在教学实践中采用“兴趣引导+项目任务驱动”的方法,激发了学生的兴趣,增强了教学效果。
在信息化教学背景下,借助多媒体等现代教育手段,创造轻松、生动、形象的课堂环境,在寓教于乐中,把学生领进知识的海洋,学习相关的知识点,提高学生的逻辑分析能力、自学能力和动手能力,让学生在实践中能够学以致用。
3.教学活动设计
在设计课堂教学时,要注意以下3个方面:
(1)转变学习方式。让学生主体主动参与到课堂中来,让学生成为课堂教学的主体,借助现代化教育手段,让学生通过多种方式(如移动终端等)参与到学习中来。
(2)场景与知识点相融合。设置与知识点融合的场景,让学生深入其中,再抛出知识点相关的学习任务,让学生在场景中顺其自然地进入学习状态。
(3)唤醒学生的自主学习意识。及时对学生的努力和成绩加以肯定,让学生体会成功的喜悦,激励学生主动学习。
4.教学流程示例
结合当代高职学生的现状,以《软件需求分析》为例,本文进行如下的课程教学流程设计。
4.1兴趣引导,引出知识点,导入新课
课前的知识点回顾是很重要的,在复习上次课学习的知识点的同时,与学生互动,抛出问题,比如,什么是软件的生命周期,常用的开发模型有哪些?项目开发进行到哪个阶段了,接下来需要做什么?再通过一个“妈妈与孩子”的故事引出知识点,导入新课。
故事是这样的:一个夜晚,有一位妈妈领着她的孩子走在回家的路上,孩子突然说:“妈妈,我想要吃鸡腿”,妈妈犯愁了,这么晚了,怎么办呢?附近店铺已经关门了,可又不能饿着孩子。突然,妈妈想起了包里还有一些下午买的披萨,就拿出来给孩子吃,孩子高兴地接过披萨开心的吃起来。
讲完这个故事,注重与学生互动,及时提问学生,鸡腿=披萨?显然学生是乐意回答的,而且很高兴地回应老师的提问。显然是鸡腿不等于披萨,然后再追问,孩子的潜在需求是什么?学生的兴趣被激发出来,会接着分卡斤,孩子的潜在需求是饿了,想要吃好吃的。由此引出知识点:需求的定义,导入新课。在讲解知识点的同时注重与学生的交互,实时了解学生的课堂学习状态、对知识点的理解程度,有针对性地进行讲解。
4.2以任务驱动结合项目案例讲授新课
提出问题,什么是需求分析,需求分析的任务,需求分析的过程。让学生带着问题看书,找出问题的答案,旨在培养学生自主学习能力。教师巡视教室,及时解答学生的提问,发现问题,专题辅导,启发学生,随时接受学生的咨询,巡回检查,个别指导,让学生成为课堂的主体。
再以“传授技能,尝试练习”的教学法举例。精选出一两个有代表性的项目实例,引导学生用掌握的理论知识解决实际问题,案例讲完后,结合习题训练,通过与学生的交互情况,了解学生对这部分知识点的掌握情况。在授课过程中,借助PPT进行讲解,为了让PPT美观有吸引力,借助现代教育技术,增加一些动画、人物、技术的起源,插入_些流行影视图片等作为背景,增加趣味性,吸引学生的眼球。
4.3归纳总结
通过学生课堂习题训练的情况及师生互动情况,总结本次课的教学重点、难点,指出学生在解题过程中存在的问题,提醒学生在进行需求分析时容易出现的问题,结合具体项目案例讲解分析方法、工具及需求分析规格说明文档的格式,并总结方法和容易出现的问题。
5.结语
软件工程是计算科学相关专业的核心课程,在计算机相关专业的课程设置上起着重要的作用。本文针对高校的软件工程教学现状,阐述了“兴趣引导+任务驱动”的教学方法在课堂教学中的应用。在以后的教学中还要进一步结合现代教育技术,开展信息化教学创新研究。