刘 淳
(长沙民政职业技术学院软件学院,湖南长沙410004)
《WEB应用开发》课程是软件设计类专业的核心课程,主要是培养学生在IT企业中从事基于HTTP协议的B/S模式应用程序开发。对应工作任务为基于HTML的前端界面设计、基于JDBC的数据库应用设计、基于JAVA的WEB服务器端程序设计(JSP、SERVELET、LISTENER、FILTER 等)。调研发现,过去在这门课程教学中,存在教学内容选取很不合理、实践教学环节薄弱、考试评价体系不客观等现象。具体表现为:教师团队理论水平较高但缺乏项目开发经验,教学过程和教学方法基本沿用本科教学方法和模式[1],理论知识讲解较多,真实开发过程和技能讲解较少,教学内容都是程序设计语言的相关知识为主,注重的是程序语言的本身而不是程序设计语言的应用。这样的后果是学生学习积极性不高,学好理论知识后也不能用所学理论解决实际问题,学完后无法真正开发具体项目,毕业后无法适用企业具体工作任务。这也是企业总是抱怨大学毕业生动手能力差的根本原因。为此,我们课程团队针对高职学生的特点(成绩差、不爱学习)及计算机软件设计专业的培养目标(软件设计应用型人才)对课程的教学模式、教学方法、实践教学环节设计等方面进行深入研究与探素。
老师的能力结构直接影响课程教学质量。在软件设计类课程教学中,教师不但需要对理论知识的充分理解还要有丰富的企业级项目的开发经验,否则,教学过程只会是完全按教材和PPT讲解,无法把握教学内容的重点和难点,更不能引导学生将所学知识用于解决实际问题。比较研究发现,一个具有丰富经验的教师和一个没有项目开发经验的教师在教学效果上有显著差别。本研究提出的解决办法:
从IT企业引进有经验的教师。理论上讲,这是一种有效的办法,但实际上由于目前的教育管理体制的约束(只能引进高学历高职称)及学校薪资的现状,具有高学历高职称的企业一线软件设计师不可能到学校来任教。
学企合作。学校与企业合作,由企业派一线软件工程师参与教学过程,主要完成课程最后阶段的课程综合实训。这种方法有一定的可行性,也是国内高职学校正在努力的方向,但这种合作模式中,国家没有相关的激励政策,对于以赢利为目的企业来说,积极性不高。
(3)提高本校教师实践能力。由课程负责人或专业带头人组织年轻教师参与项目开发,完全按企业软件开发规范开发真实的软件项目,并且每3年开发一个新项目,项目来源可以是学校的信息化管理系统或企业委托的横向项目,经过一到二个项目的开发,年轻教师可以积累一定的项目开发经验,不但可以熟识项目开发过程,还可以掌握教学过程中的重点、难点及技能、技巧。
课程团队在进行国家级精品《WEB应用开发》课程建设中,提出一种新的教学模式:“基于全真项目和软件设计过程的逆向教学模式”[5,6],如图3-1所示。
图3 -1基于全真项目和软件设计过程的逆向教学模式
“基于全真项目和软件设计过程的逆向教学模式”的主要思想是:将全真的软件设计项目与《WEB应用开发》课程涉及的知识和技术相结合,重构案例化的课程教学模块。教学过程中首先给学生演示一个全真案例中与课程教学单元相对应的功能模块[6],如在《WEB应用开发》课程教学中的HTML学习中,演示一个登录或注册功能模块,让学生了解本单元学习中,要学会类似于案例中功能的实现(提出问题)。第二阶段,给出参考代码让学生完成相应功能(试着做),学生完成这一步,会有一定成就感,但并不知道为什么是这样做,于是就有了后续学习的兴趣。第三阶段,讲解理论知识和技术,通过这个阶段学习,让学生掌握案例中用到的相关概念、理论、技术(关键技术)。这个阶段涉及的知识和技术不会太多,但可以解决实际应用中的大部分问题,而且学生容易记住和理解,克服学习的心理恐惧感。第四阶段,学习案例中没有涉及到的常用知识和技术(扩展技术),通过特殊问题的引导,帮助学生学习特殊问题的方法和技术。第五阶段,用另一个类似的真实案例,演示程序运行结果,但不给学生提供代码,让学生自己完成相关功能(学着做),学生完成相关功能后演示自己的成果,作为模块学习的阶段性测试成绩。第六阶段,给出一个新项目的设计文档,不给代码也不给程序动行效果,完全由学生自己完成,让学生用所学知识和技术解决实际问题。
基于JAVA平台的Web开发技术涉及内容很多,学生在校期间不可能把所有技术和知识都学上,所以教学内容的选取应该在考虑专业培训目标和课程培养目标的基础上,合理选取重点、实用的教学内容并遵循技术与知识先进的原则。基于IT企业对基于JAVA平台的Web应用开发这一具体的工作任务确定《WEB应用开发》课程的培养目标如图4-1所示。
图4 -1《WEB应用开发》培养目标
在具体教学内容设计中,还应该与相关行业企业合作,探讨课程具体的知识点和技术点,有效保证课程体系的针对性、实用性、先进性、系统性;课程团队要有针对性地开发相关全真案例,并将案例嵌入到教学内容中。
过去教学过程一般是以知识的系统性和连续性来序化教学内容,在《WEB应用开发》课程改革中,我们按软件开发流程来序化教学内容,并重构相关教学模块,如图5-1所示。
图5 -1《WEB应用开发》模块化设计
本课程以WEB应用项目开发中各种组件(视图、控制器、模型、监听器、过虑器)的设计要使用的技术为依据,以真实WEB应用开发项目为载体,以职业能力培养为重点,将课程内容序化为相关的项目教学单元,以工作流程为学习任务,以项目案例为学习情境,采用基于全真项目和软件设计过程的逆向教学模式和全真案例教学方法组织教学过程[4]。
为了增强在校学生软件开发的实际能力,《Web应用开发》课程采用课堂实训、虚拟公司实践、企业实习多位一体的实践教学体系,如图6-1所示。
图6 -1《WEB应用开发》实践教学体系
课堂实训:课堂实训采用说明性例题、模仿案例、真实项目等多种形式,一般由由教师指导完成一个小功能,验证性学习相关理论或技术的应用,之后由学生模仿完成真实软件项目中功能模块或软件组件。
(2)虚拟实训:学生通过案例模仿学习最常用、最关键的知识和技能,之后教师以点(关键知识点)带面,讲解相关知识,再由教师提供新的项目,学生在课后时间可以自行完成项目的设计、编码、测试,也可以到虚拟的软件公司(老师为学生开放的项目工作室)完成项目。
(3)校外实训(顶岗实习):学生到实习单位,参与实习单位的真实项目。项目由实习单位定。
7、革新考试方法,构建多维度全方位综合评价体系
课程测试不仅是测试学生对所学知识的掌握情况,更是对学生学习的一种引导。革新过去以笔试考试为主的考试方法,采用全真案例考试对软件设计类课程非常必要,本研究提出以项目考试为主、笔试考试为辅的考试方法,并辅以平时考查,构建多维度全方位评价体系,如图6-1所示。
图6 -1多维度全方位评价体系
多维度全方位评价体系打破了过去评价方式的弊端,既考查了学生任务完成情况(结果)、也考查了学生学习态度(过程),还能引导学生培养团队协作精神,以点带面充分调动了团队的参与意识,多角度全面考察,更加客观科学。
[1]杨凤敏,梁文东,潘嫣丽.高职院校打造学习型班级的问题与思考[J].广西轻工业,2007,(6):114-115.
[2]徐大华.程序设计语言教学方法探讨[J].高等理科教育,2007,(1):36-38.
[3]牛军涛.以项目为导向的软件开发课程教学模式研究与实践[J].计算机教育,2007,(8):85-88.
[4]史劲.学分制背景下模块化教学在软件技术专业中的运用[J].科技风,2009,(23):25.
[5]刘彦姝,唐乘花,张克俭.引入印度NIIT构建教学新模式[J].计算机光盘软件与应用,2012,(3):232-233.
[6]刘淳.基于工作任务的逆向循环教学模式研究[J].长沙民政职业技术学院学报,2011,(1):83-84.
[7]连雁平.应用型本科院校程序设计课程实践教学改革[J].内江师范学院学报》,2013,(8):88-91.