导航菜单

Java程序设计课程教学改革的探索与实践

文/张铁成

摘 要:本文根据中等职业教育的教学定位和人才培养模式,在分析Java程序设计课程理论和实验教学内容基础上,提出基于项目教学模式的教学改革和实践方法,形成以学生为主体的改革方案。即通过教学内容和教学方法和评价方式等方面的改革实践,加强中职学生软件设计能力的培养,从而达到社会对学生职业能力的要求。

教育期刊网 http://www.jyqkw.com
关键词 :Java程序设计课程 教学改革 职业能力

一、课程教学的改革势在必行

中等职业学校的目标是为企业培养具有熟练专业技能和高素质的技术型、实用型、应用型人才,中职教育的教学应更加突出应用和实践性。中职学校的计算机专业都开设了Java程序设计课程,该课程在教学计划中属于专业必修课,是计算机专业的专业核心课程。该课程的目标为培养学生具有面向对象的程序设计能力和开发能力,培养学生创新意识和创新能力。

1.教学现状不能与时俱进

学校计算机专业在二年级第二学期开设Java程序设计课程,属于专业必修课程,目的是使学生掌握Java程序设计的基本能力。然而,由于中职学生的知识基础较差,该课程具有较强的逻辑性和实践性,学生学习有一定的难度。结束Java程序设计课程的学习后,学生的知识不系统,实际应用能力较差。

2.存在的问题

(1)教学方法和手段单一。教师仍然以传统教学方法为主,采用“讲授”—“接受”的课堂教学模式,教学方法单一。教学手段上,虽然有PPT电子板书改进了传统授课方式,但是课件传授信息量过大,播放速度过快,教学中形成“电子灌”,无法给学生思考的空间。导致学生对所学知识不能及时消化,不能掌握课程的知识和技能,造成学生对学习无兴趣,教学效果不好。

(2)教学内容理论与实践不能统一。原有课程的教学采用大学的教学模式,教学内容偏重理论知识的讲解,概念、定义、语法讲解过多,对于程序设计的基本思想和方法较少。学生感觉内容枯燥,记忆知识较多,学习很困难。学生在实践课程中更多地采用验证性试验,仅仅是验证教材和讲课内容中编写程序是否正确,不能进行实际问题的解决。实验内容缺乏设计,学生普遍感觉理论与实践脱节。学习基础较差的中职学生都不能理解并接受,不符合“能力本位”的职业教育理念。

(3)考核评价方式片面。期末考试的形式以笔试为主,学生的学习目标还是在应付考试,缺乏对教学效果和能力多层面的评价。评价方式手段单一,不能反映学生的实际应用能力水平。

为使学生能够适应时代的发展,必须提高专业课程的教学质量,使学生能力符合未来的岗位需要,培养更多的理论知识强、动手能力强的综合技能型人才,所以课程的教学改革势在必行。

二、改革思路与设想

根据中职学校的培养目标及课程特点,理论知识以“必需”和“够用”为前提,重在通过实验教学培养学生的职业能力。通过教学内容的整合与重建;改革教学方法的设计和教学评价;充分利用现代教学方法与手段,实现理论教学和实践教学统一的课程体系。

三、课程教学的具体实施

1.教学内容的整合与重建

优化课程教学内容是教学改革的前提和基础,Java程序设计课程的教学目标是以职业能力培养和实际应用为主。因此,教学内容的组织应根据中职学生的特点,遵循理论与实践相结合的原则进行规划。

(1)根据岗位需求重组教学内容,重视职业技能和职业素养。传统的教学内容是按照教材的章节顺序进行组织,课程内容的安排是按照理论知识的学习为主线。职业学校在课程内容的选择上,应依据软件行业领域和职业能力需求为主线;以实际工作过程为导向,根据实际的工作过程,进行相应的职业能力分解,对教学内容重组整合。同时以软件技术专业人才标准作为培养目标,结合IT行业的发展快的特点,根据当前的主流的技术,及时更新课程内容,使教学内容保持先进性和完整性,兼顾职业素养的培养实现学生的职业可持续发展;引入Java的相关职业的认证标准进行教学内容的调整,更加易于教学活动的开展(见下图)。

(2)根据课程内容开发教学项目,重视实际能力的培养。为培养学生建立面向对象程序设计思想,采用“项目引导”的教学模式,整个教学围绕项目的任务解决展开。教师根据教学大纲的要求,进行分析讨论后,结合专业的培养目标,以学生为主体的原则,培养学生对项目分析、设计开发能力及合作能力。通过分析企业岗位的实际工作状况,可以实现学习内容与企业的工作内容对接。因此笔者将教学内容进行三个层面的分解:第一层项目是与课堂教学相适应的单元实践项目,重点突出基本技能的训练;第二层项目是实际应用的软件项目开发,突出职业岗位实际能力培养;第三层项目是创新、实践项目,突出个性化培养和创新能力的培养。

一是与课堂教学相对应的单元项目实践,培养学生软件开发基本技能。围绕课堂教学实训的项目以练习为主,为学生提供的针对性项目包括“聊天系统”“五子棋游戏”“邮件收发系统”通过这些项目的实践,学生可以较全面地了解Java面向对象程序设计方法,掌握面向对象软件开发的基本技能,熟练掌握基本语法和编程规范。这样学生在完成项目的任务后,掌握了相关部分的知识和能力。

二是基于实际应用的软件项目开发实践,突出软件的编程能力培养。通过模拟企业的工作模式和工作流程的项目开发,进一步让学生熟悉Java基本知识和基本技能,训练其实际项目开发经验。4~5位学生组成软件项目组,针对相应的项目,项目组对需求进行分析,并确定开发目标,制订开发计划。按照开发计划独立完成项目的开发。整个开发过程中,以学生自主开发为主,教师的作用仅为答疑,开发过程监控以及对共性问题进行总结与归纳。教师对学生完成的项目进行验收与评价,进行展示和点评。

在教学项目开发中,教师把一个较大项目分解为若干个子项目,子项目进一步划分为典型的任务,让学生在项目的具体任务中,掌握任务中蕴含的知识点,并熟练地综合运用这些知识解决实际问题。引导学生自主思考,培养学生研究性学习、探究性学习的能力。学生实际操作由少到多,符合职业学校的特点和认知规律,从而激发学生的学习兴趣。

例如,设计“学生考试系统”的程序项目时。我们把程序项目分析后,把职业能力分解为:开发工具的安装和使用能力—程序设计的基本知识—OOP设计能力—异常处理能力—界面设计能力—数据库使用能力—文件操作能力—多线程设计能力—网络通信能力。根据分解的职业能力,在教学中把职业能力转换为10个学习项目,每个项目又分为若干子任务,基本每个子任务都是一个独立的设计项目。每个子任务通过情境引出并实现相关知识的学习和拓展。考试系统的项目分解的10个小项目,见下表。

(3)Java创新项目突出创新能力和个性化培养。对项目开发能力较强并有意从事项目开发的学生,我们通过让其参与创新的开发工作,更进一步锻炼其研究性学习能力和创新能力。Java创新的学习采用学生自主管理模式,从技术方向选择、技术研究路线确定、技术实现等均由学生完成,教师主要起咨询和引导作用。

2.教学方法的改革

(1)创设学习情境,激发学生的学习兴趣。在课堂教学中,提高学生的学习兴趣,让学生行动起来成为学习的主体是教学改革的关键。根据专业教学的目标,在具有岗位特色的项目情境中进行学习,通过“角色”的体验在行动中获取知识。

(2)以任务驱动模式教学法,提高学生的探究性学习能力。首先把学生分为若干小组,每组4~5名学生。针对项目中任务需求进行分析,确定工作任务,采用任务驱动教学法可以使学生处于探究性质的教学模式,通过“提出任务→分析任务→完成任务→边学边做→总结”的过程实现教学目标。教师和学生根据教学项目、基于实际任务来完成教学活动。在教学中教师处于主导地位,学生成为学习的主体,有利于学生独立分析、解决问题的培养。任务驱动教学法有利于知识和技能的整体掌握,有助于培养学生操作能力和实践应用能力。

例如:我们讲解窗体和图形创建时,提出设计一个“满天星星”的任务。首先让学生想象一下做好的结果应该是什么样子,根据任务进行分析。同组的同学经过讨论和分析,确定将任务分成四步:第一步,做一个窗体;第二步,做一个黑天;第三步,画一个星星;第四步,画三百颗星星,最后形成星空闪烁的效果。

学生在任务的驱动下,先进行简单的知识学习和操作,制作出第一步的窗体。然后根据任务进行第二、三、四步的任务学习。学生的任务完成过程是由简单到复杂,逐步完成最终的教学目标。在任务的完成过程中,学生能体验学习的成就感。同一组的同学层次会有不同,所以在学习中同学互相请教、互相帮助共同完成教学目标。教师在学习的过程中根据学习的进度,进行适当的引导和点评。

(3)结合课件、视频采用启发式教学,进行主动的自主学习。通过和学生交流,笔者发现学生喜欢教师在课堂播放视频,于是笔者把教学过程制作成小视频和课件用于教学指导。让学生在学习过程中通过动画、实例演示、视频演示等方式把课程内容变得更容易理解,让教学方式更为直观生动,教学过程可以根据学生的进度进行调整,使学生更能发挥学习的主体性和自主性。启发教学可以激发学生思维,增强学生学习的主动性、积极性和创造性。例如,当讲授线程部分的知识时,我们不直接给出线程的概念,而是在指导书的引导下让学生观看一个飞行小球的程序。分析小球飞行的过程为什么是一条直线,这样不符合实际情况,是什么原因?从而引出线程的概念,并分析一个进程的执行过程,引导学生进行分析和思考,启发学生解决线程的控制,获得正确的结论。

(4)利用网络资源进行教学延伸,提高专业能力水平。在编程软件的学习中,只靠课程中的项目和案例学习还是不够的,需要进行大量的练习来提高水平。我们鼓励学生访问ACM网站进行学习。ACM网站建立了庞大的题库,而且试题充满趣味性并接近生活,学生能提高实践练习的兴趣,解决更多的实际问题。

灵活使用多种教学方法,可以激发学生的学习兴趣,促进学生积极思考、实践,增强学生学习的主动性、积极性和创造性。

3.以大赛和取证促教学,实现人才培养

(1)通过IT认证,激励学生自主学习,鼓励创新意识。在课堂教学基础上,我们鼓励学生参加《全国计算机等级考试二级Java语言程序设计考试》,根据考试的分数给予加分的奖励。通过准备相关认证考试,可以促进对所学的知识进行总结与提高,并取得相关的职业技术等级证书。

(2)通过技能比赛,实现职业能力的培养。结合学校的职业能力培养举办校级的程序设计技能大赛,丰富学生的校园文化生活,展现学生的风采,提高学生的实用技能。

一是开学初用海报的形式,发出技能比赛通知。把技能比赛的对象面向所有专业的学生,以增加学生的竞争意识,拓宽专业课程的学习范围。

二是对报名参赛的学生通过第二课堂的兴趣小组进行业余培训,培训的内容由浅至深,让学生在规定的时间完成近似企业的实际项目案例。学生对技能培训的内容感到更实用,而且内容连续,所以学习的兴趣很高。

三是比赛的内容分为必做题目和提高题目、拓展题目,能力强的学生在比赛的培训中能够获取更多的知识。使得课程的教学内容和学习的形式得到补充,让学生的业余时间也能学习。

技能大赛可以给学生们一个展示自我的平台,增强自信和竞争意识,实现自我的价值,形成技能竞赛和教学改革相互促进的模式,以技能比赛为手段,培养学生的实践能力和职业能力。通过技能比赛促进教学改革,把教学改革效果融入技能大赛。

4.教学评价的改革

(1)以实际能力为中心,构建立体化的教学评价体系。传统的考试重视理论知识的考核,忽视了对学生对知识的实际运用能力的考核。合理的评价体系,可以加强学生的学习主动性。公正、客观的评价体系,能够真实地反映学生的成长和进步,有利于提高教学质量。教学评价应围绕以能力为中心,通过课堂教学过程、实训项目考核、理论考核全方位的方式进行。学生的课堂教学成绩占30%,期末理论考试占30%,实训考核占40%。而在网络的学习和在ACM平台的学习可以作为加分项,激励学生进行业余学习。学生能够在整个过程中,积极参与学习行动,在自主、自愿、合作中愉快地完成学习。

课堂教学采用过程性的评价,考核强调平时的出勤、行为表现、积极性、参与度等,以及学生在过程中情感、态度和能力的变化;主要考查学生对课程知识的综合运用能力。

每完成一个项目的学习进行一次评比,通过校园网站的平台把每个人的得分公布在学生学习成绩的排行榜上,并按照每10积分换取一枚“贴花”的奖励。如果学习小组的整体成绩优秀,还可以获得优秀的团队的流动红旗,以资鼓励。

实训注重考核学生的实际编程能力,分析问题与解决问题的能力。因此,要对学生的程序开发调试能力、创新能力以及实际项目的内容和技能的掌握情况等进行考查。

(2)通过各种形式评价教学,不断改进教学过程,促进教学目标实现。每个阶段完成后,召开师生的座谈会。在座谈会通过教师互评和学生评议找出教学中的不足,在以后的教学中扬长避短,更好地开展教学。

通过学生关注的微信平台发布学习的信息,让学生对喜欢的“老师”“教学内容”和“教学形式”进行“点赞”或“评论”了解教学改革的效果。

实践说明,合理的评价体系可以提高学生的积极性、创设积极进取的学习环境和培养学生的竞争意识和合作精神。

四、小结

一是经过课程改革,通过对教学内容的整合与重建,在教学过程中更加重视学生实际能力的培养。教学项目要从实际岗位的能力出发,从知识整体性出发,符合对知识的探索认知的学习规律,积累对实际问题的处理经验,使学生的编程和开发能力得到很大的提高。

二是采用了先进的教学方法和多样化的教学手段,激发了学生的学习潜能,学生始终处于一种积极主动的学习状态。学生的创新精神和学习驱动力得到培养,学生的学习兴趣、学习能力、实践能力综合素质得到提高。

三是全方位的评价方式,使得评价的过程更加细化,评价的项目更能够客观反映学生的实际的状态和实际技能的掌握情况,但是在评价中要注意公平合理,操作严谨,才能够更好地为以后的学习定位。

四是开发更具职业岗位特色的校本教材和教学课件以及网络教学的资源供学生学习,提高学生的学习自主性,解决了抽象、难点和自学的问题,丰富了学生的学习途径。

(作者单位:北京市自动化工程学校)

下载文本