SDSPR教学法在高职软件项目实训课程中的应用
2013-10-23陈为满孙士兵
陈为满 孙士兵
(长沙民政职业技术学院软件学院,湖南长沙410004)
1.高职软件专业学情分析
近年来,高职院校的生源数量和质量严重下滑,学生基础知识和学习能力普遍较差,思维水平较低,大部分学生的认知特点是形象思维长于逻辑思维,实践学习长于理论学习。同时,缺乏奋斗的目标和动力,对生活悲观失望。进入大学,对课程的新鲜感过去以后,课堂的学习效果十分有限,兴致也不是很高[1,2]。一般高职院校的软件技术专业都是采用企业真实项目组织教学内容和学做合一的教学方法,模拟软件企业软件项目开发流程,按需求分析、概要设计、详细设计、软件测试、项目发布这几个阶段来组织教学内容,要求学生完成软件各阶段文档的书写、完成数据库设计及程序的编码,最后通过召开项目验收会完成项目的演示和汇报,从而实现课程目标。但笔者通过多年的教学发现,在高职院校按照上述的教学方式实施实训课的教学,教学实效并不理想。原因有很多,包括生源、课程体系设置、教学模式等。其中最突出的因素是学生素质和教学模式。高职院校的学生学习缺乏主动性、让其模拟软件企业软件项目开发流程进行软件开发这一需要专业技术和职业素养的复杂过程,要求过高。
因此,选择合适的教学模式对于高职高专的学生尤为重要。然而,传统的教学方法有许多缺点,它主要侧重于知识的灌输,以教师讲授为主,学生更多的是被动接受,不能有效地培养学生的实践能力,也与当前社会对应用型人才的需要不符。随着时代的发展,这种教学模式已经远远不能适应高职教育发展要求。近年来,虽然教学方法也在不断改进,案例教学法、项目驱动教学法等也应用于课堂教学,但是受传统教学方法的影响[3],在软件开发类课程中仍然没有大的变化,仍然是理论与实践相脱节,不能有效地发挥学生的学习自主性,束缚了学生的创新性思维,在考核方式上仍然是采用纸质试卷的方式,不能考查出学生的实际应用能力以及创新能力[4]。针对上述教学中存在的问题,笔者在软件开发与项目管理专业项目实训教学中应用SDSPR教学法,并适当结合案例教学与任务驱动教学方法,取得了良好的教学效果。
2.SDSPR教学法的特点
SDSPR(Show→Demo→Simulate→Practise→Raise)即展示→演示→模仿→实践→提高。在一个教学单元的教学按照项目展示、教师演示、学生模仿、课堂实践和总结提高的过程展开。在项目展示环节,通过真实的场景明确教学目标,展示要实现的项目功能;在教师演示环节,教师进行案例分析和编程示范,展示良好的编程规范和职业态度,学生通过观察学习编程规范并形成良好的职业态度;在学生模仿环节,学生以开发小组形式训练基本技能,培养团队合作精神,教师进行现场指导,答疑解惑,每次挑选一名学生利用多媒体演示实验操作过程及完成的效果;在课堂实践环节,学生综合应用教学单元的知识点和技能点完成实际工作任务,实践完成后进行组内评价、教师评价及学生互评;在总结提高环节,通过师生共同总结、课外拓展,实现知识和技能的提升。
在“SDSPR教学法”的实施过程中,要求教师在课前、课中和课后进行详细的教学环节的设计和组织,也由此形成了“SDSPR教学法”独特的特点:
(1)真实项目为教学载体
SDSPR教学法中第一个环节为“项目展示”,这里的项目为软件业界真实的项目。在每个教学单元,首先通过向学生展示真实的软件项目中的特定功能(即实际情境),既可以帮助学生明确学习目标,也可以激发学生的学习兴趣,实现“要我学”到“我要学”的转换。也为课程教学“来源于行业,服务于行业”提供了保障。
(2)编程示范,培养规范
高职软件技术专业重点培养和训练学生的编程技能。高职学生的学习也不能象本科学生一样经过长时间的自我探索,所以,高职院校的教师要充当“师傅”的角色,要给学生进行编程示范,并在示范过程中展示良好的编程规范和职业态度。达到既教授学生专业知识和技能、又培养其良好的态度的目标。
(3)任务分解,讲练结合
讲练结合和教学做合一的教学方式,不是简单地将理论教学和实践教学搬到同一实训场地就可以完成的。要实现“边讲边练”,教师首先要对教学内容进行合理的分解,化解难点和重点,保证能教会学生,学生才能够很好地去练。相反,如果没有讲透,则学生练也是白练。
(4)层次化的实践环节
在SDSPR方法中精心设计了三个实践环节:“学生模仿”、“课堂实践”和“课外拓展”。这样,根据学生的认知规律通过反复的、不同难度的实践训练,帮助学生进行编程技能训练,最终达到不仅会做而且能熟练做的目的。同时,在“SDSPR教学法”的应用过程中也存在一些问题:一是“教师演示”项目和“学生模仿”项目的相似度,教学项目的设计关系到该方法实施的成败;二是“学生模仿”环节的工作量的大小,如果模仿的任务较大,学生做的时间较长,教师就可能收不回来,影响下一次“教师演示→学生模仿”循环。三是学习小组的划分,既要考虑到优带差,也要根据学生的性格特征合理分组,要保证每次小组活动都能够正常开展。
3.SDSPR教学法的实施过程
以软件开发与项目管理专业第四学期J2EE课程项目实训课“JSP+Servlet+JavaBean”技术实现简单留言系统为例,介绍SDSPR教学法的实施过程。NIIT专业每学期都有项目实训课程,鉴于NIIT专业学生的学情,普遍底子薄,因此,在教学过程中秉着“必需、够用”的原则将基本概念、基本理论渗透到整个课程学习的全过程中。具体地讲,高职院校教师的理论教学水平要“降”下来,“降”到大多数高职学生都能接受的水平,而实践操作的水平要真正升上去,达到师傅带徒弟的程度。从而锻炼学生的实际操作技能和动手能力。给学生提供大量的实际操作机会,从而全面培养学生思考问题、分析问题、解决问题的能力。SDSPR教学法的实施过程如图1所示。
图1 SDSPR教学实施过程
(1)在“项目展示”环节,通过实际情境明确教学目标,展示要实现的功能。在开始设计本系统前,教师演示已有系统,帮助学生明确最终软件呈现和系统需求。
(2)在“教师演示”环节,教师对“项目展示”环节展示的案例进行分析,引出需要采用哪些技术可以实现这些功能。如在登录用例中,将解决登录验证这一关键问题。需要获取用户表单数据(第一次演示);查询数据库与表单数据对比验证(第二次演示);成功与否的结果分发(第三次演示);如果验证成功,则转向留言主界面,并显示所有留言(第四次演示)。然后教师进行编程示范,应用所需要的技术完成程序功能的设计,示范过程中展示良好的编程规范和职业态度。学生通过观察,学习编程规范并形成良好的职业态度。
(3)为了能让学生尽快应用相关知识,在“教师演示”环节结束后,进入“学生模仿”环节。在实现登录用例中,学生模仿教师的示范程序。模仿过程中,学生以开发小组形式训练基本技能和培养团队合作精神,教师进行现场指导,答疑解惑。模仿结束后,每次挑选一名学生利用多媒体演示完成效果,并讲述其实现技术和总结编程思想。
(4)由于一个完整的案例,可能包括多个知识点和技能点。因此,需要学生动手实践才能真正掌握知识和培养技能。在“实践”环节中,教师将提出用例的不同技术路线实现思想或要求,学生综合应用本教学单元的知识和技能点以及以往的知识和技能,独立完成实际的工作任务。如登录用例中,首先实现JSP充当界面显示,Servlet充当控制器,而JavaBean充当模型层的版本,而后再用Struts框架对其改写,应用Hibernate框架对其改写等。在实现细节上,比如留言的显示,采用JavaScript+JSP扩展实现分页功能。通过实践环节,使学生全面掌握新旧知识和技能,并通过扩展实现全面掌握软件开发技术。
(5)熟练编程技能,需要经过反复的训练,“SDSPR教学法”的最后环节是“总结提高”环节,通过师生共同总结、课外拓展实现知识和技能的提升。
4.结束语
在2011级软件专业项目实训课程中采用SDSPR教学方法,学生的代码编写能力得到了很大程度的提高,经历了从以前的害怕写代码到慢慢爱好写代码的心理转变,从而从根本上改变了学生的学习态度,调动了学生的学习主动性。同时,也提高了学生解决实际问题的能力以及团队合作能力。学生在学习过程中,不仅掌握了知识,锻炼了能力,而且积累了项目开发经验,为将来的就业增加了筹码。实践表明,SDSPR教学方法非常适合高职软件专业软件项目实训课程的教学。
[1]袁东锋,杜恒.案例与任务驱动教学法在软件开发课中的实践[J].兰州教育学院学报,2012,(7):125-126.
[2]刘志成,首珩,王咏梅.基于精品课程建设的高职教学互动模式改革[J].职业技术教育,2010,31(8),59-61.
[3]贺华东.谈项目教学法在高职软件开发教学中的运用[J].重庆职业技术学院学报,2008,17(4):163-164.
[4]郑英姿.以“案例教学法”促进“软件工程”教学[J].计算机光盘软件与应用,2012,(9):245-246.