“Java语言程序设计”课程项目化教学改革与实践

2012-03-01 03:38
邯郸职业技术学院学报 2012年3期
关键词:程序设计课外语言

刘 芳

(南京化工职业技术学院信息技术系,南京210048)

项目化教学,是师生通过共同实施一个完整的项目工作而进行的教学活动,它充分展示了高职院校“职业发展导向”的培养理念。近年来,Java技术已成为社会需求量最大的编程技术之一,国内许多软件公司都不惜重金培训Java软件开发人员,所以此课程面向的职业岗位供不应求。同时,“Java语言程序设计”是高职计算机和软件专业的核心基础课程,对学生的职业能力培养和职业素质养成起着至关重要的作用。但据对高职计算机专业毕业生的跟踪调查显示,走向工作岗位的学生却陷入“知道是什么”但“不知道如何做”的困境。为此,针对传统课程的特点,南京化工职业技术学院2010级计算机专业“Java语言程序设计”课程采用“职业活动为导向”进行项目化教学改革。实践证明,项目化教学有利于提高学生主动汲取知识的能力,增强学生的团队协作能力。

一、“Java语言程序设计”课程特点

1.知识量大

作为专业核心基础课,“Java语言程序设计”课程在高职院校开设已有多年,课程大纲一般都按照知识点内容讲解,规定必讲11大知识模块,即Java语言概述、编程基础、面向对象的编程技术、图形用户界面设计、AWT组件库、多媒体编程、异常处理、输入输出与文件处理、多线程、网络编程基础、数据库编程基础。许多高职院校也在“面向对象程序设计”中选用本课程内容。而与此相对应的学生们,规定课时内掌握Java语法多数都有疲惫反应。

2.理论性深

“Java语言程序设计”课程理论性深,程序设计的本质就是设计计算机程序解决问题的步骤;既然是步骤,就需要时间+行为,即设计在不同时间点上计算机的行为。这个工作像是写剧本、写小说,程序员就像是编剧、作家,需要一定理论知识的积累。

3.实践性强

一方面,多数学生之前从未接触过计算机程序,对计算机的认识多限于Windows、Office等可视化界面操作,不适应程序设计的工作流程,并且产生陌生、恐惧、焦虑和枯燥感,导致学生在学完这门课程后,仍不了解Java语言的语法以及编程规则;另一方面,学习Java语言程序设计,不仅要具备微机基础操作能力,如Windows操作能力、中英文快速打字能力、计算机常用软件工具操作能力等,而且还要具备基本的英文软件安装、识别、检错、纠错等方面的能力。Java语言程序大都运行在计算机上的英文集成开发环境中,离开了计算机环境,空谈程序设计,就像纸上谈兵,吸引不了学生的注意力。只有让学生亲自实践,发现错误、改正错误,在改错的过程中,学习知识、提高能力,才能抓住学生的注意力。

二、“Java语言程序设计”课程项目化教学改革设计

1.能力目标

以Java桌面开发程序员(中小型软件)的能力需要为核心,充分考虑到岗位所需的技能要求,由此来确定学生学习这门课程要达到的能力目标,培养具备“能掌握面向对象编程方式的Java语言应用程序开发技术能力”的学生,具体体现在能够较为熟练分析中小型管理信息系统(如员工信息管理,学生管理,工资管理,库存管理等)的需求,用相应软件绘制软件模块结构图和模块内部流程图,并用Java语言代码实现该系统。其中包含结合数据库技术和软件工程技术进行桌面应用程序的开发能力,同时还要培养诚实、守信、坚忍不拔的性格,培养善于沟通表达、善于自我学习、团队协作的能力,并养成编码规范、按时交付软件等良好的工作习惯。

2.教学内容

教学采用“项目驱动、职场模拟”的理实一体化教学模式,理论教学内容与实践教学内容融为一体,这个课堂以一个完整的实际企业运行项目(亚泰企业员工信息管理系统)驱动,根据典型程序开发过程及java程序员能力要求,重构课程结构,其下细分9个子项目,具体内容见表1。

表1 课内项目内容分布

精选课堂内项目的原则,一般尽量满足典型性、趣味性、实用性和针对性。典型性是指全部项目是针对学生在校期间和今后工作岗位的实际需求而选定的;趣味性使学生始终保持较高的学习兴趣和动力;实用性使学生能学以致用;可操作性保证每个项目能顺利完成。

每个项目的展开需要一定内容的支撑,在这里我们采用单项任务的方式,即每个项目由若干个单项任务组成,每个任务最好具体细化到对应的课时数、要达到的能力目标和知识目标、采用的训练方法、需要提交的作品等等,即“整体教学设计”和“单元教学设计”。每个任务都设置相应的能力目标和知识目标,学生在完成任务的同时就可大大提高自己相应的能力,增长了知识。

除了课内项目,我们还设计一个课外项目,课外项目选取原则除了尽量满足前述4点外,还要尽可能选学生比较熟悉客户需求的项目,这样减少调研时间和开支成本,例如学生信息管理系统。

教师示范、学生模仿完成课内项目,学生独立完成课外项目,最后要给出一定课时进行课外项目的验收。

3.情境

创设学生当前所学习的内容与现实情况基本相近的情景环境,项目中实际任务安排做到实训室与软件开发公司工作室的一致性,让学生体会岗位素质与解决实际问题的重要性,以便于以后实习或毕业后,对实际工程项目的无缝连接,这对学生有极大的驱动效应。同时,学生自愿分成多个软件开发项目小组,每个小组内部推选有组织领导能力的组长,项目小组的作用在于改变学生的观念,互相监督、取长补短、协调配合、刺激灵感。学生和教师都要明确自己在项目组的任务和职责。每位学生不再是学生角色,而是程序员角色;每位教师也不再是教师角色,而是项目经理,负责发布任务、组织安排整个项目设计进度、对员工技术问题进行指导等。

4.考核方案

在正常的教学过程中,教师对教学过程的严格控制,就是对学生培养与考核的过程。课内项目(开发亚泰企业员工管理信息系统)以完成的情况作为考核目标,主要内容包括:完成项目的态度、项目报告质量、问题的解答、团队合作、应变能力、表达能力等;课外项目(开发学生信息管理系统)主要由项目的适用性及完成质量、报告质量、面试问题回答等方面综合得出;详见表2-表5。

综合考核 =过程考核×50% +项目考核×50%

表2 考核方式

?

?

?

三、“JAVA语言程序设计”课程项目化教学改革的实践

本课程精心设计2个综合项目,即1个课内项目——开发亚泰企业员工管理信息系统和1个课外项目——开发学生信息管理系统。课内项目在教师指导下完成,课外项目由学生课后独立完成。

1.整体实施

以情境设计为基础,按课时合理分配项目任务,明确目标,让学生知道每节课自己该干什么,带着目的看书、提问、讨论、查资料,有助于理清思路,提高学习效率。该课程课内和课外项目实施进度如图1、图2所示。

2.单元实施

每个课时单元实施过程包括学生汇报课外项目设计方案、教师评价、教师引入任务1、对学生问题进行指导、各小组操练、内部讨论、修改方案、评价、问题指导、再操练、再讨论、再修改、测试任务1、引入任务2任务3等等(过程同前)以及拓展性任务(可选)、师生共同归纳总结、课外项目或作业布置等环节。学生完成各个任务后要及时提交作品,教师可巧妙引入竞争机制,培养学生积极分析和客观评价的能力,尽量在课内让每个学生都能知道自己作品的分数,查漏补缺,及时跟进。

3.项目化教学改革成效

对我院2010级计算机专业共2个班级104人(2个平行班级,1班实施项目化教学,2班实施传统教学)进行问卷调查,结果表明,实施传统教学的班级学生评价“一般”以上的比率为60%,而实施项目化教学的班级学生评价“一般”以上的比率提高为83%,而学生评价“较差”的比率明显下降(见表6)。

表6 学生对不同教学方式效果的评价%

(1)从学会变成了会学。实施项目化教学改革后,学生通过自己的实践,把书本上死的理论变成活的应用,把单调的技能训练变成殷实的自我体验,尤其是通过自己的努力完成每个任务后带来的成就感,激发了学生主动汲取知识的兴趣,从学会知识变成了会学知识,真正实现了从“鱼”到“渔”的过程。通过教师提问、引导,到学生自己寻求方法解决问题,在做中学、学中做,突出了能力训练,将学习过程改造成了个人参与的创造性实践活动,具有较强的连贯性。学生在这一过程中获得综合职业能力和自信心,积极性、主动性得到充分调动,可以在较短时间内提高学习能力、知识应用能力和创新能力。

(2)提高了与人沟通能力。课程改革前,很多学生学习只认教材,认为学习过程应该遵循教材顺序,甚至要求教师的讲课也不能违反教材顺序;对于发现的问题,教材上有的,参考着勉强解决,教材上没有的,自然应该不会。实施项目化教学改革后,学生开始注重团队协作,大胆尝试参考各类相关资料、相关网站、与他人交流、与教师互动、甚至在百度上发布问题征询答案等,团队协作探讨、完成很多疑难问题,包括编程中遇到的各类错误。

四、结语

在项目化教学过程中,由于学生基本素质差别较大,完成任务的时间以及规定时间内完成的作品质量都存在很大差异,而前期的课程项目设计中任务要求是不考虑学生基本素质差别的,对所有学生要求“一视同仁”。这样做容易使“后进生”掉队,或者使“先进生”失去耐心。所以建议在后期的课程实施过程中可适当改变一些前期任务完成标准,对部分任务进行层次化设计,即设计出“基本任务+提高任务”两个层次甚至三个层次进行分层次教学。“基本任务”要求所有学生都完成;“提高任务”只针对“先进生”实施,以提高其专业能力,激励其学习兴趣,同时为兼顾学生学习考核评价的公正性,在评价分数上也应区分对待,对完成“提高任务”的“先进生”加分鼓励。

[1]刘维.Java程序设计课程的教学分析与探究[J].考试周刊,2012,(22):114~115

[2]戴士弘.职业教育课程教学改革[M].北京:清华大学出版社,2008:19~44

[3]王萍利.项目化教学法在Java程序设计课程教学中的应用初探[J].陕西教育,2011,(Z1):133

[4]魏晓艳.JAVA课程中基于工作过程的项目教学实践[J].陕西国防工业职业技术学院学报,2011,(6):17~18

[5]黄林国.高职计算机应用基础项目化教学改革[J].计算机教育,2011,(14):33~37

猜你喜欢
程序设计课外语言
小满课外班
基于Visual Studio Code的C语言程序设计实践教学探索
语言是刀
从细节入手,谈PLC程序设计技巧
让语言描写摇曳多姿
高职高专院校C语言程序设计教学改革探索
累积动态分析下的同声传译语言压缩
我有我语言
PLC梯形图程序设计技巧及应用
课外实践丰富多彩