APP下载

Java语言程序设计的新三段式教学

2011-12-31黄钰王建勇

计算机教育 2011年14期

  摘要:针对当前高等院校计算机专业对Java语言程序设计教学内容和方法改革的需要,详细分析了Java语言的教学现状,结合对以前旧三段式教学的认识,从教学内容,方法和实践等方面,提出了基础、实践、课题参与的新三段式教学改革思路。
  关键词:教学改革;Java;新三段式教学
  
  Java程序设计语言(以下简称Java语言)作为一种纯净的面向对象的程序设计语言,具有安全机制、高可靠性、网络支持和可移植性强的特性,已成为很多行业首选的应用程序开发工具。目前,各类高等院校的相关专业都将Java语言作为高年级选修课程。与其他课程相比较,本课程更要求理论与实践的统一,更突出示范教学与调动学生创新能力的结合,更强调学生综合素质的培养。
  针对高等院校的计算机相关学科的本科培养目标,我们知道高等教育不同于普通高职高专教育。高等职业教育是面向基层,面向生产服务一线,而我们培养的不仅仅是技术应用型人才,而且是学术研究型人才。大学生应该打牢基础,扩充应用视野,培养解决宏观系统问题的能力。
  对各高等院校的计算机专业学生而言,Java语言的学习一般排在C/C++语言的学习之后,意味着学生已经具备一定的面向过程、面向对象的程序设计基础。基于此,作者在以前老的三段式教学上进行改进[1],针对Java语言的讲授提出新的三段式教学改革实践。首先,在基础理论教学阶段的Java语言讲授内容选择上应该有所取舍,例如大幅缩短语法知识点课时等。在实践阶段,实验课堂上不应该再以简单的验证性实验为主,而应该增加综合实训,开始提升学生系统级设计视野。最后一段是课题参与阶段,结合教师的科研项目以及相关课题,参与一些子课题,这也是检验以上两个阶段教学效果的重要阶段[2]。
  1目前Java语言教学中存在的问题
  三段式教学概念2005年就已经出现在各种教学模式中,如果把旧的三段式培养应用于Java教学,作者认为不是完全合理的。旧三段的第一阶段是在基础理论的通识培养,这一点在实际教学中去选择细化没有问题。第二阶段针对实践,只是大量重复的验证性实验,但是针对学生的第二、三门程序设计语言(前面有C/C++基础)的学习,就值得商榷了。第三阶段才是综合实训,但是以此为基础,本科学生已经很难参与科研项目得到锻炼了。
  通过多年的教学实践,目前在普通高等院校计算机专业的Java语言教学中存在的问题主要有以下几个方面。
  1.1基础理论阶段——教学内容不合理
  现在各高校使用的Java程序设计教材内容虽然丰富,但是针对性不强,框架结构相对单一。比如作者所在学校所选用的教材从浅入深,将Java语言分析得很透彻、很清晰,同时也涉及到很多实用知识和工具。这本书的篇幅一般,由于受学科总体学时的限制,只能将Java语言程序设计这门课定为40学时(其中含实践8学时)。教学中难以在学生已经具备一定的程序语言设计基础(C/C++)之上,再添加或强化更高级的内容,因此也难以循序渐进,达到有特色的教学效果。
  多数高等院校以相关学科为优势,希望引进计算机技术来提升强势学科专业的现代化水平,因此,他们希望通过计算机课程改革使得教学内容和专业有更加紧密的结合,譬如说Java语言课程的改革,但是具体如何结合,怎么结合,是个难题。
  1.2实践课阶段——内容单一
  多数院校将Java语言课程分为理论和实践教学两部分,基本上理论课围绕语法,程序结构等内容,结合简单的程序设计技巧来讲授,实践教学多数以验证性实验为主,这种传统的教学方法在培养计算机专业学生解决实际问题的能力上有所欠缺。学生无法将该课程和简单系统设计有机的结合起来,不知道Java程序设计到底可以解决哪些实际问题。另外,由于传统课时分配的原因,实验学时较少,并且内容过于单一,也造成学生在解决计算机相关问题时动手能力偏弱,遇到实际问题时感到无从下手[3]。
  例如,在笔者所在学校的计算机专业,学生计算机基础相对较强,但是依照老的教学方法,在理论教学之后就是简单的验证性实验,由于学生已经具备C/C++编程基础,因此普遍提不起兴趣,感到吃不饱,没有机会做一些有针对性的简单系统程序设计,无法开阔系统级的设计视野,这也是我们改革Java程序设计课程的初衷。
  1.3课题参与阶段——基本不参与
  上节也提到实验教学内容过于单一,主要表现在多数为验证性的实验,没有相对综合性强的系统程序设计。因此也直接导致了高年级本科学生无法参与老师科研项目的一些子课题,使得学生失去了在学校很好的锻炼机会。以前各高校计算机系基本不让本科生参与课题的理由主要是他们动手能力不强,缺乏一定的系统设计能力,作者认为主要原因还是我们阶段性的培养环节出了问题,例如在旧三段教学模式中的Java语言实践课阶段,应该完全删除验证性的实验(课外完成),取而代之的是简单系统设计实践,加强程序设计模式、框架设计等能力的培养。当然,前提是学生已经具备一定的程序语言设计基础。
  Java语言作为C/C++的后续课程,如果在实践教学阶段不增加一些有意义的简单系统设计,还只是做一些的简单的验证性实验,必然将使很多学生失去兴趣,在这样实验教学中,学生只是机械地完成了程序的运行,过后就忘了,没有达到练习的目的,更不能做到学以致用。
  2新三段教学改革和实践
  2.1指导思想以及教学计划的改革
  根据本科基础教育的培养规律进行课程整合与重建,打破学科体系,按照各专业特点设计课程,强调系统开发实用技术的教学,注重对学生实际解决问题的培养。基于此,课程体系改革是培养模式改革的突破口[4]。更新教学观念、突破传统的教学模式,突出素质教育的特色和特点;教学中理论要以够用为度,控制理论教学的深度,加大实践环节力度;实践技能以熟练为标准,注重动手能力的培养,将实验室或实训场地逐渐演变成教学的主课堂;按市场需求培养合格的应用型和学术型人才。
  基于以上的指导思想,Java语言教学计划的改革主要是教学内容改革和实践环节改革。初步确定了基础、实践、课题参与的新三段式教学思路(如表1所示)。基础阶段主要是学习该课程必备的基础知识,在具备一定的程序设计基础之上培养模式和系统设计的基本素质和常识。技术主要是依据自身特点有针对性地培养学生具体的开发技术,学习开发工具的使用。对于Java而言,在上半学期学习基础理论课程,在下半学期则利用其做一些专业相关的简单系统开发实验,并在学期末,开设Java这一方面的独立项目综合实训,以达到知识的融合。实践教学的改革,体现在教学计划上引入了分阶段实践教学。过去,实践环节一般以课程设计的形式出现,实践环节是针对某门课程原理的验证。这样的实践环节,对提高学生对理论的理解可能是有效的,但是对提高学生实际动手能力方面,作用就比较小。现在引入的新三阶段实践方法,每一阶段的实践都是为了培养学生的实践能力,积累实践经验,而且每个阶段随着学生能力的不同,对学生提出的要求不同。在新三阶段实践教学中,第一阶段是编程基本能力训练;第二阶段是小系统开发训练;第三阶段是参与老师科研项目的综合开发训练。每个阶段都采取与实际工作相接近的小组合作方式,培养学生的团队合作精神。在第三阶段还要模拟实际工作环境,要求编制相应的开发及管理文档,切实提高学生利用软件设计解决本专业实际问题的能力。
  2.2理论教学内容选择和学时分配
  
  根据笔者提出的新三段式教学改革思路,我们首先要在教学和实践阶段的内容上进行改革。由于目前市面上的Java教材不可能针对具体的应用需求做出修订,因此我们在教学的内容就应该做到有所取舍,针对已经有编程基础的相关专业,我们所提出的三阶段实践方法都有着不同的内容。在第一阶段,我们对于已经学习过C/C++编程基础的计算机专业,可能会强调底层编程的基本能力训练。在第二个阶段,则是针对学生各自的程度,利用开发模式做一些简单系统设计,以解决实际的计算机相关问题。第三阶段是课题参与阶段,主要针对教师科研项目中的子课题,以团队的形式来做综合设计。在三个阶段,针对不同的需求而选择不同的教学实践内容,可以大大强化学生的实际动手能力,进一步提高了学生利用计算机编程技术解决实际问题的能力。
  其次是学时的分配,笔者认为以前的4:1的理论和实验学时分配不太合理。根据我们提出的新三段式教改思路,除了第一阶段是理论学习外,其余两个阶段是以实际操作为主的,因此,为了强化学生的动手能力,应该适当增加实践学时,根据作者的实际教学经验,理论与实践的学时比例调整为2:3为好。
  2.3实践教学内容改革
  实验内容应该从以前的单纯验证性实验过渡为有针对性的实验,譬如针对某些具体需求做一些小型的系统开发,或者结合本学校的特点,和其他相关学科进行结合,譬如把大学生创新实验融合进实践教学,这都是可行的。
  根据学生的学习进度实践环节可以分成基础知识训练阶段,能力提高阶段和项目开发阶段。在基础知识训练阶段学生需要掌握Java的基本语法,熟悉消息传递机制的模板编程。在能力提高阶段笔者尝试让学生来读一些小程序,比如一个用Java编写的俄罗斯方块游戏程序,学生通过阅读分析程序中各种方法的使用。在这个阶段学生慢慢地从能够读几十行的程序到能够读几百行甚至几千的程序,进步比较明显。在前面的基础上,最后可以依据设计模式进行分组开发一些小的项目。具体的做法是:老师先针对一个实际的项目,从问题的提出、分析,方案的设计到问题的解决,给学生全面了解解决问题的全过程。然后由老师提出相关的项目,由学生按照分组来完成,锻炼学生综合运用知识的能力。在整个过程中,老师要对学生出现的问题即时纠正和指导。这样,不仅锻炼了学生的编程能力、合作精神,还培养了他们的学习兴趣。
  此外,实践环节还需要建立新型的考核评价体系。在实践能力考核中对学生完成的各类程序都应该根据工作量的大小、质量的高低给予相应的分值。这样,既为各类不同层次的学生提供了更加公平的评价方式,在一定程度上减轻了他们的学习心理负担,也为那些擅长动手和创造的学生提供了空间和时间以及脱颖而出的机会,同时也有利于学校对学生的评价更客观更全面,更切合实际。
  3结语
  我们针对Java语言程序设计课程的特点和现状,在教学内容、教学方法、实践环节的基础上采取了基础、实践、课题参与的新三段式教学思路改革。试点的实践结果显示,经过改革,在完成预期教学任务的同时,极大地增强了学生学习的兴趣,开阔了学生的视野,使学生从枯燥的Java语言学习中解放出来,能够灵活地运用Java语言来解决实际问题,为他们今后的学习和工作打下了良好的基础。但是不足之处在于课题参与的环节,由于本科学生课程较重,投入时间不可能太多,学生在不影响课程学习的情况下真正参与课题变得相对困难,为解决这一问题,我们将尝试以大学生科技创新立项与老师项目相结合,这是我们下一步的探索内容。
  
  参考文献:
  [1]