您好, 访客   登录/注册

《Java程序设计》在高校教学中的研究

来源:用户上传      作者: 罗刚等

  摘要:针对目前大量的高校毕业的“Java程序员”不能满足企业和市场要求的状况,分析了Java程序设计课程在高校中教学存在的主要问题,提出了五阶段教学法,强调学习Java技术的整体性和系统性,并对各个阶段的课程设置,教学内容,教学方法,实践教学及考核方式进行教学研究和实施。
  关键词:Java教学;五阶段教学法;教学研究;教学改革
  中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2014)16-3848-03
  Abstract: Aiming at the large number of graduates of Java programmers can’t meet the market demand, a detailed analysis of the main problems of Java programming course teaching in colleges and universities, put forward five stages teaching method, emphasizing the integrity and systematic study of Java technology, and make the teaching research and implementation of the course setting, teaching content, teaching methods, Practice Teaching and assessment methods in the various stages.
  Key words: Java teaching; teaching research; five stages of teaching; reform of teaching
  1 概述
  自从2000年初到现在,Java作为主流程序设计语言在企业信息系统建设,嵌入式开发,分布式系统和科学计算等应用领域大展拳脚,各种软件公司、企事业单位每年需要大量的Java程序员。目前国内的计算机专业基本都会将Java程序设计作为专业基础课,但现在每年那么多高校毕业的“java程序员”却很难到达企业和社会的要求,高校的Java程序设计教学到底出现了哪些问题?该如何进行相应的改革?
  本文作者通过多年对Java的教学研究,针对高校Java教学存在的若干问题进行了分析,提出了Java的五阶段教学法,强调学习Java技术的整体性和系统性,从C语言的学习开始,到Java编程基础,到掌握Java进行应用编程,将整个过程分成五个阶段,并对各个阶段的课程设置,教学内容,教学方法,实践教学及考核方式进行教学研究和实施,经过实施与同期比较取得了较好的教学效果。
  2 Java在高校中教学存在的问题
  2.1 Java教学课程内容的衔接问题
  从面向过程的C语言如何过渡到Java语言,二者有重叠和不同之处,很多老师假定学生们都掌握好了C语言,太快进入到Java面向对象的内容,导致学生进入Java有如临深渊的感觉,在实际教学中,这两门课程的教学很难做到上下衔接,在Java的教学初期,忽略了Java基础与C的一些重要区别。
  在Java的面向对象的教学中,如何解释清楚面向对象的三大特征:封装、继承、多态,以及如何让学生建立起面向对象编程的思想,这是教学中的重点,很多学生在这些知识点的掌握大多停留在字面上,不能从程序的角度去理解面向对象特征,这为后续学习Java的应用埋下了巨大的隐患。
  2.2 Java教学内容的问题
  国内很多高校在《Java程序设计》教学内容的取舍上差别较大,我们可以从两本国内比较具有代表性的教材来看:《Java程序设计》[1]和《Java2程序设计基础》[2],其主要内容都涉及了:java概述,java程序设计基础,数组,类和对象设计,继承与多态,java标准类库,异常处理,输入/输出,多线程,GUI程序设计与applet,网络通信,jsp与servlet技术,jdbc技术,java应用开发等方面。教学中如何取舍这些章节?大多高校都是在一个学期讲完这些内容,很多教师在课堂上只能忙于应付讲解Java的各种语法和知识点,使得很多学生在赞叹Java的强大的同时感叹Java太复杂。
  2.3 Java教学方法中存在的问题
  传统的“填鸭式教学”在Java的教学中仍然存在,不少老师在教学中只是为了完成教学进度。多媒体课件是辅助教学的工具,但过分依赖课件会使得不少教师在教学上反而被束缚,教师只是扮演了一个PPT讲解员的角色。
  有不少教师提出在Java教学中采用项目教学法,项目教学法[3]是指将传统的学科体系中的知识内容转化为若干个教学项目,围绕着项目组织和展开教学,学生直接参与项目全过程的一种教学方法。要将项目教学法应用于高校的Java教学,如何选择合适的项目,如何让项目能涵盖适当的教学知识点,如何照顾大多数学生的学习水平和进度,如何分配好上课和实验的课时等等,这些问题都成为Java教学中应用项目教学法的重要阻碍,处理不好会让基础不好的学生产生畏惧心理,过早的放弃Java的学习。
  2.4 实践教学和考核方法中存在的问题
  如何提高学生自主学习的能力、学习兴趣和动手能力,这是实践教学必须要解决的问题。很多学生在上机时只是对照书本上的程序进行验证:输入程序,得到结果,下课走人,而老师只是扮演了一个“会说话的调试器”,来回处理学生程序中的各种语法错误,使有限的上机实践课效率低下。另外,很多学校的Java考核仍然在使用纸质试卷的考试方式,使不少学生为了考试而学习,为了考试而考试,并且会使用一些应付传统课程考试的方法去应付Java课程的考试,比如死记硬背,考前突击等,这样的难以考核学生的实际编程能力。   3 Java教学的研究与改革
  针对以上Java在高校教学中存在的问题,该文对Java的教学内容设置,教学衔接,教学方法改变,教师角色转变以及考试考核方式进行了改革,强调Java教学的连贯性,根据Java教学的各个阶段特点应用比较教学法、任务教学法以及项目驱动教学等方法。
  3.1 阶段教学法及教学内容的设置
  对于Java的学习可以分为5个阶段,贯穿3个学期:
  第一阶段:C语言程序设计培养学生的面向过程编程思想,C语言在语法格式和编程风格上与Java的基础基本一致,通过学习C语言有利于学生理解计算机程序运行的基本原理,培养面向过程的编程思想,学习各种流程控制,认识和控制计算机内存[4]等,这些都是学习Java重要基础。
  第二阶段:在Java的教学初期可以根据学生的情况使用6-8个课时来对C语言的内容进行回顾并进行相应的测试,作为学习Java的一个过渡,布置针对性较强的编程题进行练习和讲解。从近几年的笔者的教学经验来看,这个缓冲期非常重要,尤其对于一些C语言基础不是很好的初学者而言,能起到承上启下的作用。
  Java编程基础这部分内容与C语言有重叠部分,又有不少不同之处,可以使用比较法进行教学[5],这样能让学生消除Java入门的陌生感,有区别的地方重点强调。这部分内容包括Java的编程环境、Java编程风格、Java基本数据类型、流程控制、函数定义与调用、数组和字符串等内容[6]。(8-10课时左右)
  第三阶段:Java的面向对象,这部分是Java学习的重点,是关系到学生是否能掌握该语言的关键所在,这部分内容主要包括:Java的类定义,对象的生成和使用,面向对象的三大特征,抽象类与接口,异常处理,字符串与数组深入等内容。(14-20课时左右),该阶段的教学方法总结为以下五个字:辅,讲,练,论和考。
  辅:ppt作为辅助,主要说明每次课堂教学的任务,内容,目标和重点难点,每张ppt的内容尽量简洁明确,每个章节的内容只需要几张即可,不需要大量文字的堆砌,让学生明确每周的教学任务和要点即可。
  讲:教师的讲课要从程序的角度去讲解各个知识点,如何对各个知识点设计好讲解程序是关键,这些程序难度应该循序渐进。教师在课堂上讲解的过程中要对程序进行适当的注释,命名好每堂课的程序并下发给学生进行课后验证和消化。
  练:课后的练习分为验证性和深入性练习,验证性练习和课堂讲解的程序难度相近,易于上手,让学生能消化和巩固课堂上老师讲解的内容;深入性练习是应用所学知识点去解决一些实际的问题,要用到课堂讲解的知识点并关联到课外知识点,这需要学生主动去查阅书籍、帮助文档或者进行相互讨论,上网查询等,完成相应的练习和实验报告。
  论:教师在上机课上主要针对深入性练习进行讨论,答疑,帮助学生完成这部分的练习,并对学生所做的练习进行随堂检查,起到监督作用,可以使用一定的课时让学生来讲解自己的想法和做法,引导班上其他学生一起进行讨论和学习。
  考:进行期中考核,一来可以检查学生对这部分内容的学习情况,二是对一些学习态度不好的学生敲敲警钟,对于Java面向对象的基础知识,主要采用程序阅读和程序填空为主,通过考核检查学生的学习情况,并对教学进行适当的调整。
  第四阶段:Java的基本应用,使用Java来完成程序设计中的基本应用,主要包括:Java常用类库的使用,Java的文件管理,Java的输入与输出,Java的GUI界面设计等内容。(16课时左右)该阶段主要使用任务教学法,重点讲解每个章节的典型程序,设计适当的任务程序,让学生通过完成这些基本应用的任务,积累Java的编程思想和经验。
  任务教学在各章中的示例:
  在该阶段教师应做好引导和监督的角色,一方面引导和帮助学生完成这些任务,另一方面掌握好学生完成这些任务的进度和情况,并通过课堂讨论、机房演示、学生展示等手段充分调动学生主动学习和动手的积极性。
  该学期的考核应包括以下几个方面:实验报告+分组讨论表现+期中考核+课程设计+期末考试,期末要留出适当的课时来帮助学生完成好课程设计,并且对学生的课程设计进行检查、现场演示和提问,根据学生的完成情况和回答问题的表现打分。
  第五阶段:这部分内容应该设置在上述4个阶段之后的下一个学期,作为Java应用的深入,主要是深入掌握Java并使用Java来完成更为具体的应用开发,主要内容包括:Java数据结构;泛型;Java的数据库编程;Swing相关界面编程;多线程;Java网络编程;Java在web上应用等内容。这部分内容设置为54个学时左右,主要使用项目驱动教学,在一个学期内安排学生分组完成3-4个项目。教师对每个章节的内容进行提纲挈领的讲解,讲解关键语句,布置阅读和查阅资料的任务,更多的课堂时间将用于介绍项目开发的方法和思想,组织学生讨论项目开发中的问题,检查各组项目的进度和完成情况等。
  项目示例:
  成绩评定方式:各个小组进行简短演示、说明和回答问题,现场进行打分,让学生能够对比各组完成的情况,形成良好的讨论和竞争氛围。
  4 结束语
  本次Java的教学研究与改革强调了系统性和连贯性,对Java教学各个阶段的教学内容,教学方法和考核方式等进行具有针对性的教学改革措施,目标是培养学生的程序设计思想,提高学习兴趣,提高自主学习能力和动手能力等,但还存在一些有待解决的问题:如何完善上机测试与考试的Java题库,如何设计更多合适的编程任务和项目以适应不同水平的学生,如何更有效地组织、引导学生进行分组协作开发,如何将Java的一些新特性引入课堂等。
  参考文献:
  [1] 朱庆生,古平.Java程序设计[M].北京:清华大学出版社,2011:1-348.
  [2] 陈国君. Java2程序设计基础[M].北京:清华大学出版社,2009:2-10.
  [3] 李啬. 项目教学法在Visual FoxPro教学中的应用[J]. 计算机教育,2007(9):53-54.
  [4] 谭浩强. C程序设计[M].4版.北京:清华大学出版社,2010:37-288.
  [5] 罗刚,任廷艳,赵成. 如何有效地从C语言的学习过渡到Java[J].电脑知识与技术, 2013(32).
  [6] Ivor Horton(美). Java2入门经典[M]. 北京:机械工业出版社,2009:22-153.
转载注明来源:https://www.xzbu.com/8/view-6015707.htm