首页 > 文章中心 > java程序员实习

java程序员实习

java程序员实习

java程序员实习范文第1篇

关键词: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.

java程序员实习范文第2篇

关键词:Java教学;问题和对策;课堂教学;应用实践能力

随着Java技术的不断发展及其应用领域的不断拓展和成熟,Java技术受到越来越多人的关注和喜爱,Java技术成为近年来社会需求最大的编程技术之一。

一方面,Java技术是非常庞大和复杂的,而另一方面,由于课时有限等原因造成学生无法较全面地掌握Java技术,导致毕业后职业竞争能力不强。

为了进一步培养学生Java应用实践能力和让学生将来更好地适应社会对Java人才的需求,笔者从Java教学中遇到的一些问题和相应的解决办法两方面展开论述。

1Java教学中遇到的一些问题

1.1仅开设Java SE课程带来的问题

目前,大多数高等院校都开设了Java程序设计课程,但由于课时限制,且针对选课的大多数学生没有接触过Java等原因,多以Java SE平台为教学主要内容,从基本的Java语法,Java面向对象编程方法、Java界面及事件编程、Java多线程、Java I/O流、Java数据库连接、基于Socket的网络编程等内容为主介绍Java。众所周知,这些内容都是Java技术的核心基础知识,在Java教学中是不可或缺而且要牢固掌握的知识。

但在实际教学过程中,只开设和讲授Java SE程序设计基础部分的内容带来了以下一些问题:

1) 学生学完Java SE基础课程后,会造成一些错觉和迷惑。例如,Java只是精简了的C++吗?Java的界面设计并不比Visual Studio中的软件、Delphi等强,优越性何在?Java原来就是这些内容,没什么,有了这些Java SE基础知识,就可以适应社会需求等。

2) 由于没有Java技术后续课程的支持,使得学生没有能力进一步自学或不能坚持学习Java EE,Java ME部分的Java技术,造成学生学习Java技术过程中的“断线”现象,对如何进一步学习和提高Java技术能力感到迷惘;由于无力自学层出不穷的Java流行技术而徘徊、退缩。学生所学知识与社会需求脱钩,当学生毕业走向社会时,就面临缺乏Java EE、Java ME的相关知识及其应用开发经验的问题。

1.2Java作业、实验、课程设计和毕业设计中存在的问题

1) 学生动手能力、综合运用知识的能力较差,在遇到实际问题时,无从下手。

2) 学生过多地依赖现成资料,只想从网上搜索相关解决方案,直接套用;课程设计、毕业设计原创性较差。

3) 学生没有养成良好的软件工程习惯,表现在系统设计和实现的混乱和随意。

1.3对教师的业务素质和能力的挑战

1) 学生希望通过课堂学习获得Java应用实践和适应Java社会需求的能力,这就对教师课堂教学的内容和方法提出了更高的要求。

2) 教师的工程实践经验面临挑战,编程经验和项目开发经验源于长期一线的开发和实践经验,而这些往往是教师所欠缺的。

2解决办法

2.1Java课程的设置

在条件允许的情况下,可以将Java程序设计课程分阶段开设,如在低年级开设“Java SE 程序设计和应用”课程,在较高年级开设“Java EE程序设计和应用”和“Java ME程序设计和应用”课程。并在选课系统中增设关于每门课程的内容简介和授课教师的介绍,这样做有以下好处:一是在课程名称字面上就可以看出授课的重点,可以回避学生从一个笼统的“Java课程设计”名称上产生误会,认为这门课可以将Java的所有技术都包含进去;二是通过课程内容简介,让学生更加透明地了解每门Java课程的授课重点,从而根据自己的知识需求和兴趣有目的地选择和学习课程。

2.2Java SE基础课程授课中的注意点

2.2.1教材的选取

Java技术体系庞大,不能以一本固定的教材内容作为教学内容的依据。应综合提炼,精选出包括Java技术核心基础及流行技术简介在内的内容进行讲授,让学生在牢固掌握Java基础核心知识的前提下,对Java高级应用和流行技术也有所了解,以便进一步学习Java技术。

2.2.2一定要介绍给学生的内容

1)Java平台组成及其各自应用领域的介绍。

Java自诞生以来,在不到20年的时间中飞速发展,针对不同的应用领域整合出3个平台即Java SE、Java EE和Java ME[1]3[2]1,如表1所示。在学生初学Java时,用最简单的实例阐明三种平台开发环境的搭建和应用,如演示在JDK和Eclipse两种环境下对Java Application和Applet的开发和运行过程;运用MyEclipse插件演示Java Web应用的开发过程;运用Eclipse+J2ME Wireless Toolkit+EclipseMe环境演示手机应用程序的开发等[3]4[4]19-20,这样即可以阐明完整的Java技术体系,又可以充分调动学生学习Java的积极性和主动性。

2) 让学生明白Java的学习路线。

一般是先学习Java SE,掌握Java面向对象程序设计思想和简单的程序设计模式。循序渐进地、系统地学习Java核心类库中常用类及其各自常用方法,编写Application和Applet程序。然后根据兴趣和需求学习Java EE,学习Java EE时先从JSP入手,学习JSP基本语法,理解JSP及Servlet的运行原理和关系,学习Struts、Spring和Hibernate轻型框架技术及Ajax技术等,进而学习Java EE中的其他高级技术。另一分支是Java ME 的学习,从手机应用和游戏开发等入手[3]6[4]9-10。

3) 让学生熟悉开发环境。

从简单基于命令行的JDK开发环境到功能强大的集成开发环境如Eclipse、MyEclipse、NetBeans IDE、JBuilder等,要逐一地介绍给学生。

对于Java初学者来说,熟悉JDK开发环境的使用和配置方法很重要,在使用JDK的过程中,让学生熟练掌握javac,java,appletviewer等常用命令的用法,将非常有助于学生理解一个Application,Applet的从编译到解释执行的步骤和方法;熟悉javadoc命令将会让学生执制作出自己所开发程序的Java文档,熟悉jar命令将会使学生将自己的程序进行打包和等[1]98-99[2]58。

从最简单的应用开始,让学生快速掌握各种集成开发环境的搭建和配置,如对Eclipse和MyEclipse插件及其他插件的配置和应用等,以克服学生由于环境不熟悉而产生的开发障碍。

4) 展示案例。

为了调动学生的学习积极性,展示现成的应用案例非常重要。目前,诸如《Java案例教程》、《Java课程设计教程》、《Java项目开发教程》以及《Java毕业设计教程》等较多,其中大都包含了作者精心设计和实现的案例,可以从中精选出最具代表性的案例给学生演示,并概要介绍其设计和实现过程。也可以将历届学生运用Java所做的较优秀的课程设计或毕业设计项目演示给学生,这更具有说服力和利于提高学生学习的主动性和信心。

2.3有效利用网络资料和参考书籍,拓展学习渠道

Java具有开放性特点,SUN公司的网站上提供了包括JDK在内的各种Java软件开发工具和API文档的下载。国内外各种Java技术网站和技术论坛非常多,其上提供了大量的例程、技术方案、电子书、教学视频、开放源码、疑难问题的讨论和解答等。同时,涉及Java编程思想、Java程序设计、Java项目开发等书籍也非常多。将这些海量的网络资料和参考书籍进行归类和精选,推荐给学生,并将这些资源的利用布置为作业和课程实践项目,检查督促学生完成情况,对培养学生甄别各种Java资料的优劣并加以有效利用有很大的帮助。

2.4夯实编程基本功,锻炼编程思想,提高分析问题的能力

针对学生拿到实际问题时束手无策,综合应用能力弱的问题,可以在教学中设计几个能贯穿小到每一章节,大到整个教学内容大部分知识点的案例。先提出案例需求,再引入相关知识点,以软件工程的方法,按照需求分析,系统设计,编码和测试,打包,维护升级等环节讲授,让学生感受到程序中的每个类,类中的每个成员变量和方法都是在为某个实际的需求服务,而不是随意引入和定义的。

由(美)Bruce Eckle 著、陈昊鹏译的《Java编程思想》和耿祥义、张跃平著的《Java编程模式》等,都是优秀Java编程思想的凝结和提炼,而Struts、Spring和Hibernate等轻型框架技术则是这些优秀编程思想在技术层面的集中体现,选择其中的内容融入教学过程中,引导学生从中汲取优秀编程思想的营养。

实验教学是Java教学的重要组成部分,因此,针对每个章节基本知识点的实验项目,可以将实验项目分为基本验证性、拓展性、创新性等层次。对于基本验证性实验,可以给出程序模板,将程序中一些关键语句抽去,让学生通过程序填空的方式进一步巩固理论教学中所学的内容[5];拓展性实验项目只给出问题需求,这类实验应选择与授课例题相仿,但有一些变化的题目,让学生独立编程实现;创新性实验项目是针对较拔尖的学生,可以选用有难度的Java竞赛题目或综合较多知识点的应用题目。

教师在授课前就给学生布置课程设计题目,题目应选择具有实用价值的中小型项目,目的是边学习边解决课程设计任务,从而增加学生学习的主动性和积极性。当学生运用课堂上学到的知识解决了实际问题时,则会大大提高学生的学习兴趣和信心,感受到成就感。

2.5通过竞赛提高

对于学有余力的学生,应鼓励他们参加各级各类的Java程序设计竞赛,如参加ITAT的Java程序设计竞赛等。通过竞赛,一方面,锻炼了学生团队合作精神,另一方面,使得所学知识在一个较高的层次上得到了检验和提高。

2.6改革考试模式

Java课程是一门实践性很强的课程,不宜只以笔试的形式进行考试,采用“笔试+课程设计”的形式是一种较好的考试模式。考试形式对于学生学习的方式和态度影响很大,如只采取笔试的形式,有可能导致学生只记住或理解与授课内容范围中的知识点来应对考试。而只用开放实验或课程设计的方式进行考试有可能导致部分学生抄袭现成的代码而不求甚解或分工不均等。

2.7兴趣小组和Java社团的组建

“学之者不如好之者,好之者不如乐之者”,兴趣是最大的内驱动力,可以成立Java爱好者兴趣小组或Java社团等学生组织,建立社团的网站,通过它交流和分享Java编程体会和经验;可以虚拟项目,成立开发团队,分工协作,完成项目开发。

2.8牢固树立软件工程思想,保证项目开发的效率

在做较大的课程设计或毕业设计以及开发虚拟项目时,也要严格按照系统分析(包括需求分析、可行性分析等)系统设计(包括系统功能及流程设计、业务编码规则、采用技术及开发工具选型、窗体或页面布局设计、类及类间交互关系设计等)数据库设计编码实现测试与等流程实施项目开发[6]。

对于学生初学Java项目的开发时,要尤其注意防止将以上步骤的执行流于形式。例如,在没有弄清开发意图及实现目标的基础上就急于编写代码;开发小组成员分工模糊、重叠、缺乏监管;先有实现,再补设计和文档等问题。这些都需要指导教师耐心地引导、督促并参与到开发小组中,逐步规范和培养学生良好的软件工程习惯,从而提高项目开发的效率和成功率。

2.9教师业务素质的提高

讲授Java课程的教师可以通过定期参加知名企业Java程序员的培训课程;积极参与企业Java项目开发;与具有资深开发经验的Java程序员交流和切磋;深入到学生中,与学生共同解决Java项目开发的问题和困难等方式,进一步提高Java授课的质量,更好地突出应用性。

3结语

通过总结几年来在Java程序设计课程教学中遇到的一些问题,笔者探讨了解决这些问题的具体方法,通过教学实践,发现这些方法是可行和有效的。

参考文献:

[1] 耿祥义,张跃平. Java 2实用教程[M]. 3版. 北京:清华大学出版社,2006.

[2] 郑阿奇. Java实用教程[M]. 2版. 北京:清华大学出版社,2009.

[3] 郑阿奇. Java EE基础实用教程[M]. 北京:电子工业出版社,2009.

[4] 陆昌辉. J2ME应用开发详解[M]. 北京:电子工业出版社,2009.

[5] 耿祥义,张跃平. Java 2实用教程实验指导与习题解答[M]. 3版. 北京:清华大学出版社,2006:2.

[6] 苗春义. Java项目开发全程实录[M]. 北京:清华大学出版社,2008:2-10.

Problems with Its Countermeasure in the Java Programming Course

LI Rui-sheng

(College of Computer Science, Gansu Institute of Political Science and Law, Lanzhou 730070, China)

java程序员实习范文第3篇

摘要:对独立学院“Java程序设计”的课程特点进行了分析。通过对独立学院Java语言教学改革的思路和方法的探讨,设计了适用于独立学院的Java语言教学模式及相关教学内容。从课堂教学、课程考核和课后教辅等方面阐述了Java语言教学改革的实施,并在此基础上提出了改善教学效果的措施。

关键词:Java程序设计;独立学院;教学改革;教学模式

中图分类号:G64文献标识码:A文章编号:1009-3044(2012)08-1886-02

Research on Java Language Teaching Reformation and Practice of Independent College

ZHANG Yin-qiong,DAI Xiao-peng

(College of Information Science Technology, Hunan Agricultural University, Changsha 410128, China)

Abstract:Analyzed "Java program design" course features of independent college, designed Java language teaching model and related teaching content that applicable to independent college through discussing teaching reformation ideas and methods for independent college, described the implementation of the Java language teaching reformation from three aspects ,the classroom teaching, curriculum evaluation and after-class tutors , and then proposed the measures for improving the teaching effect.

Key words:Java programming design; independent college; teaching reformation; teaching model

随着企业对软件人才能力需求的加剧,高校人才培养模式与企业人才需求不对称的矛盾日益突出。为了提高独立院校信息工程专业学生的专业技术能力、行业通用能力和核心竞争能,学院的人才培养模式逐渐由研究型人才的培养转换为应用型人才的培养。由于Java语言本身所具备的跨平台、多线程、垃圾收集等优点,以及基于J2EE的企业级应用的大规模开发和基于J2ME的嵌入式应用程序的开发,Java语言已经成为企业开发的主流程序设计语言之一。Java程序设计作为是独立学院信息工程相关专业的必修课,为学生提供了实践学习的平台,为培养企业应用型人才奠定了基础。但由于教学管理和教学条件的限制,目前的教学仍是“以课堂为中心,以教师讲授为中心”的传统模式,不利于培养学生的学习兴趣以及学生创新实践的能力。本文对独立学院Java语言教学改革进行了探讨,并结合笔者的教学实践提出了改进教学方法的措施。

1独立学院Java语言教学现状

1.1课程设置不够合理,教学管理滞后

国内大多数高校的信息工程相关专业都开设了《Java程序设计》课程,学习周期为一个学期,培养学生综合能力的Java课程设计的学习周期仅为2~3周。而部分独立院校为了给学生提供更多的课外实习机会,将校内学习压缩成3年完成,更是将Java课程设计的课时缩减为1周。有限的学时导致教师教学任务繁重,章节内容不能完全细化,很多知识在课堂讲授并演示后部分学生仍然一知半解。有限的实训导致学生无法用现有的知识完成复杂的课程设计解题,只能“以教师为主体,以书本为参考”设计较为简单的程序。而面临巨大就业压力的学生们,为了提高自己的竞争力,不惜花大量的金钱去培训机构进行培训。当课堂教学和课外实训矛盾冲突时,独立学院的教学管理也没能找到合适的平衡点。教学管理方法的滞后导致学生到课率低,学习效果差。如何让我们的教学适应企业对人才的需求是我们急需解决的问题。

1.2学生水平参差不齐,学习积极性差

独立学院的学生相对一本、二本院校的学生而言基础稍差,两级分化更为严重。部分学生程序设计语言基础较差,学习主动性欠缺,缺乏学习的毅力,学习效率低,学习效果较差。独立学院依托母体高校的培养模式及Java课程教学计划的制定,没有充分发挥独立学院学生敢于创新的特点,难以激发学生的学习兴趣。

2独立学院Java语言教学改革探讨

2.1改革教学方法

综合采用启发式讲授、研讨法、项目驱动教学法等多种教学方法,使学生在掌握基础理论的基础上能具有较强的动手能力。在理论课堂教学时,利用“项目驱动教学法”提出问题,让学生能直观地理解所学知识能解决的相关问题。同时采用“启发式讲授法”指导学生从浅入深,由易到难,逐步发现问题解决的办法。例如,在讲授Java的多线程时,笔者首先给出了一个简单的多线程火车售票程序,以此程序为基础,给学生讲解了多线程的创建及控制线程的相关函数。实例的启发使学生非常直观地学习到Java多线程的作用,给学生留下深刻印象。在学生具备了多线程的基础之后,笔者再通过启发式的教学,引导学生循序渐进地对原有的多线程火车售票程序进行完善。在教学实践的过程中,培养了学生的思维创造能力及理论知识的运用能力,提高了学生分析问题、解决问题的能力。对于较为复杂的Java程序设计命题,教师还可以适当地开设研讨课。在师生之间的讨论过程中,引导学生自主学习,积极思考,找到最佳的解题途径,培养学生良好的学习习惯。这种研讨的方式不仅可以让教师了解学生的学习情况,还能依据学生的信息反馈来改进课堂教学。

2.2合理调整教学内容

国外的Java课程教学周期一般为一年,课程设置也分为Java程序设计基础知识与Java程序设计高级部分[1]。而国内大多数高校的Java课程教学周期仅为一个学期,课时相当有限。如何在有限的课时内圆满的完成Java课程教学,教学内容的选取尤为重要。教学内容的选取应充分考虑知识的难易度与实用性、所选项目的规模及趣味性。

考虑到授课课时的局限性以及独立学院学生专业基础相对薄弱,《Java程序设计》课程教学除了采用教材与教学参考用书同时使用的形式。笔者根据本院信息工程专业学生的特点编写了《Java程序设计教学辅导(内部使用)》及相关实验讲义《Java程序设计实验指导(内部使用)》。以上资料与课堂教学知识点紧密结合,并总结和分析了课堂知识的重难点。而课程设计教学内容的选择遵循理论与实践结合、经典内容与前沿技术结合、课程内容精简与知识背景广博相结合的原则。

2.3分组教学,因材施教

由于理论教学环境的局限性,无法针对每个学生的特点有的放矢,在实践教学环境中应对此做有效的弥补。在实践教学时,应根据学生所掌握的知识背景,因材施教,分组教学。项目创新实践以小组为单位,结合学生研究能力、研究兴趣,支持学生从已有知识出发,加入对旧知识的新理解;此外,教师给予方向性指导,给出阶段性的提问,并引导学生关注Java程序设计领域前沿的、富有争议性的问题。在小组成员互相协作的学习环境中,不仅培养了学生的专业技能,更加培养了学生的项目分工和合作能力,为将来的项目研发打下扎实的基础。

1)校企结合,改革课程教学模式:由于大多数独立学院Java语言教学的专业教师缺乏大型项目的研发经验,通过带学生到企业见习及邀请企业研发人员讲座的形式,能够让学生更深入地了解项目开发流程及企业对程序设计人员的需求方向。笔者针对本院信息工程专业的《Java程序设计》实践课程,采用了邀请企业研发人员协助培训的方式,教学效果提高明显。

2)加强课后教辅,改革课程考核方式:课时的局限性导致学生无法仅靠课堂教学解决学习过程中的各种疑问。为了提高学生的学习效率,保证教学效果,课后教辅工作至关重要。因此,笔者在教学实践中为学生提供了各种教辅平台。一方面为学生建立了《Java程序设计》课程的网络教学平台,为学生及时更新教学课件、实验例程、实验指导书等各种教辅资料。另一方面,为学生建立《Java程序设计》网络交流平台,学生可以通过该平台相互讨论并将自己遇到的问题和教学建议反馈给老师。各种教辅平台的搭建促使学生更愿意主动学习与思考问题,提高了学生独立分析问题的能力,加强了学生与教师之间的沟通。

为适应独立学院从“研究型人才”培养到“应用型人才”培养的转变,在教学实践中应适当改革Java课程的考核方式。改变传统的纯理论考试的考核方式,根据学生的课程学习情况对学生进行分阶段评分。课程考核按照平时成绩占40%,考试成绩占60%。平时成绩根据学生的Java认识水平和研发能力、团队协作精神、解决问题的创造力和探索精神等方面进行的综合评价。考试成绩包括卷面考试成绩和课程设计的答辩成绩。

3总结

“项目驱动”教学法及校企结合的理念引入Java语言教学中,有利于传统教学模式向“以学生为主体,以项目为主线,以教师为主导”的应用型教学模式的转变。在专业技术能力方面,通过加入项目实训促使学生通过阶段目标的实现提高自身Java语言编写程序的熟练度和规范性;在行业通用能力方面,通过对项目的讲评和实际训练,使学生熟悉软件的开发过程,增加对各种软件开发模型的理解,掌握Java语言面向对象的编程思想及C/S、B/S程序结构的开发技术;在核心竞争能力方面,通过协作开发项目训练,培养学生良好的软件职业素养。在Java语言教学的创新实践过程中,使学生由被动学习转向主动学习,为学生提供发现、研究和解决问题的基本方法,缩短了学生未来适应实际工作的时间,并为学生未来的行业发展提供宝贵的可借鉴经验。

参考文献:

java程序员实习范文第4篇

关键词:Java语言;教学方法;教学重点

中图分类号:G642 文献标识码:B

1教学方法的探索

1.1侧重启发编程思想

学习一种编程语言,最重要的是掌握编程思想,找到编程感觉,而不是死记硬背语言本身。多数情况下,一旦掌握编程思想,面对新的编程语言时,只需要简单了解该语言的语法特点就可以即学即用。编程思想是在反复的实践、观察、分析、比较、总结中潜移默化积累的。因些教师在讲解中注意内容不要形式化、教条化、概念化、提纲化。首先要培养学生解决实际问题的能力,然后引导学生如何用程序来表现。要把程序的组织结构、语句含义、运行流程和实际问题对应起来。教师可以让学生先解决一些简单的实际问题,掌握编程的一些常用结构和方法。然后边学边用,学生熟练掌握编程技术后,就可以独立编程了。

1.2设计实例激发兴趣

在教学实践中,笔者认识到学生能够自己动手解决实际问题是他们学习的最直接动力,是激发学习兴趣的根源所在。现在绝大多数Java语言教学重心仍停留在语法、函数、控件的介绍上,极大地挫伤了学生学习的兴趣,更谈不上对能力的培养。我们课堂教学中将语言的语法知识和其他知识点按主题划分成单元,每个主题准备多个实例和练习。实例尽量实用,这样既可提高学生的学习兴趣,又能学以致用;同时实例也要简单,容易理解,但如是很实用的实例,复杂点也无关,直接给出公式或算法就行。主题的安排要注意循序渐进、前后衔接,要防止知识点过分集中以减少学生的负担。实例的讲解以编程思路为主线,遇到知识点要学生参看相关帮助。如为了能使学生掌握面向对象编程的思路,向学生提出开发复数加减程序的要求。这个程序要用到复数这种数据类型,假设没有现成的,故先得自己开发复数类,然后用自然语言中的概念和个体解释类和对象的概念。之后,定义复数类,定义它的方法时只定义加减运算,并告诉学生也可想得远一点把乘除运算也定义在内。最后,用这个类实现复数加减程序。

在实际教学中将学习内容划分为输入输出及算术和比较运算、循环和数组、随机函数、类的定义与使用、GUI与事件侦听、时钟、错误的处理等几个主题,分别设计输入一个实数输出它的相反数或特定结果;某个范围内的数(可有某一特征如奇偶性)的累加或累积、计算复利、多学生多门课的成绩统计、多推销员多产品的酬金统计;模拟掷硬币、掷骰子、飘雪花随机数生成过程;输入一段明文输出一段密文的加密程序和相反过程的解密程序、简易计算器界面设计、电费计算等;可以使学生在实践中快速掌握Java编程的基本方法和面向对象编程思路,具备设计交互式Java图形界面程序的基础,学会重复和批量数据的处理和异常处理等实用功能。这样用程序代码实例来讲解有关知识点的方法深受学生欢迎,而且会让学生记忆深刻,达到事半功倍的效果。

1.3利用对比加深理解

对比的目的是理解隐藏在程序语而背后的设计哲理,使我们知道对于一个问题的解决,为什么在此语言中是这样一种解决方案,而在彼语言中又是那样一种解决方案?这样思考会让我们更好地掌握编程语言的精髓。

通过与C++的对比,可以使学生更好地理解Java的设计哲理,使学生不但明白Java是如何做的,还可以进一步使学生知道Java“为什么”这么做,例如我们可通过两种语言之间编程效率与执行效率的对比,通过两种语言在各自的改革、发展中所采取的方式来进行对比,让学生通过对比学习加深对Java的理解。

在编程效率与执行效率的对比中,Java是一种讲求编程效率的语言,尽量降低程序员编程的复杂性,降低设计稳定、安全的程序代码所产生的时间和困难度是Java语言的最终设计目标。像Java把线程、网络编程等复杂而非常重要的工作包装起来提供给程序员使用,就是Java技术特点的一个很好表现;而C++则是讲求执行效率,它认为程分体现了Java和C++之间的差异。在对函数多态性的处理上,多态函数调用与非多态函数调用相比,效率比较低。C++中是有选择的进行多态,只有库函数才能多态,以此保证程序的灵活性,保证程序的执行效率;而在Java中,除标为“final”的函数外都可以多态,因此Java程序员不必为选择哪个函数而多费心思。

1.4多阅读经典多动手实践

学习Java编程语言要经常阅读一些经典的书籍和源码,对自我提高、开阔视野非常有帮助。有选择地推荐学生课余阅读《Java 2编程详解》、《Java 2从入门到精通》,更深的如《Thinking in Java》、《Java2核心技术卷一,二》、《Java2图形设计 卷1:AWT 卷2:Swing-Graphic Java 1.2》等。但要想真正把别人的东西消化掉,一定要亲自动手实现其中一些关键例程,体会一下自己的思路与经典源码的差距,从而提高独立分析问题和解决问题的能力。

多组织学生自己动手模拟项目的开发过程,由于面向对象的程序设计是典型的自顶向下程序设计方法,因此教师在指导学生动手写程序之前,应该使学生明白,设计一个应用程序首先要确定程序的总体结构,分析所要解决的问题需要使用哪些类;然后用抽象类搭建程序框架,考虑这些类在Java已有的类库中是否已经存在,它们的构造方法以及类方法的名字、功能及形参表如何;如果只存在类似的类,是否可以考虑通过继承的办法,由其子类完成所需要的功能,输入输出界面采用哪种形式,如何布局;最后准备初始化数据,并通过创建类对象完成程序功能。经过写一个较完整程序的训练,学生一方面可以学习程序设计的方法;另一方面经过逐层分解,各自承担一小部分的编码,共同完成一个程序设计任务。这样,既使学生掌握了程序设计方法,又培养了他们开发软件的团队精神。

2Java教学重点

对于Java程序设计的教学,应该注重以下两个方面的内容。

2.1Java的语法教学

语法学习是任何语言的必经阶段,很难想象连语法都不熟悉如何进行程序设计。Java的语法和C以及C++的语法非常类似,这一部分的学习学生基本上不会感到很大的压力。绝大多数的Java书籍主要的内容都是Java的语法。在进行语法教学时,要求学生重点理解以下内容:数据类型、操作符、控制流程、类、类的继承、接口以及接口的实现、包以及包的使用、异常处理、线程等。为了加深对Java基本语法的掌握,在进行教学和学生上机练习时,要求学生用Windows下的记事本编写代码。如果一开始就利用集成开发环境进行教学,不利于学生对基本语法的掌握。在此阶段还有一个非常重要的训练就是要求用Java编译器Javac.exe去检查语法错误,这样可以很快提高学生对基本语法的掌握。Java语法教学的基本目标是对Java的基本语法有一个整体认识,能读懂源代码,能够写出简单的Java程序。很多教师不注重读程序的教学,读程序首先要理出程序的结构,然后才能够理解程序的功能,这也是进行语法教学的有效环节。

2.2Java基本类库的学习

有相当部分教师认为Java的基本类库不需要学习,因为可以随时查看Java API的资料或者利用集成开发环境下的联机帮助。根据多年的开发经历和教学实践来看,学生应该对基本类库有个整体了解,然后需要熟练掌握Java类库中的两个包:Java.lang和Java.util。这两个包提供的是Java编程要用到的基本类,需要理清楚这些类或接口的继承关系、主要功能。在教学中要注意总结相关类的区别,如String、String-Buffer、StringTokenizer这三个类有什么差别?FileInput-Stream和FileReader有什么区别?它们继承了哪些类,实现了哪些接口呢?

例如有这样的一个练习:编写一个计算9+99+999+…的第10项到第20项之和的Java应用程序。部分学生在解决这个问题时采用如下的程序:

public class ComputeSum

{

public static void main(String args[])

{

long sum=0,j=9999999999;

for(int i=10;i

{

sum=sum+j;

j=j*10+9;

}

System.out.println (“总和为”+sum);

}

}

很显然,这是对Java的数据类型掌握的不熟悉,对Java的基本类库也不清楚。上述程序中的结果利用长整型是无法存放的,因为结果太大。

3结束语

Java语言是一门能很快带给学生学有所成感觉的课程,老师应该力求把一些理论和实践经验通俗地讲出来,使学生体验软件开发的乐趣,本文所浅谈的几点体会在教学实践中收到了很好的效果,对于计算机而言有语言类的课程是相通的,因此本文的几点经验值得在其他相近课程中尝试。

参考文献:

[1] 张孝祥. Java就业培训教程[M]. 北京:清华大学出版社,2003.

java程序员实习范文第5篇

关键词:Java;项目驱动法;教学;实际运用

中图分类号:TP312.1-4

随着Java语言的快速发展,很多高校也随之增设了Java语言课程,主要由老师针对其理论知识进行讲解。该教学方式不仅忽视了主体地位,降低了学生的学习兴趣。此外,这种理论式教学仅仅停留在Java语言表面,无法提高学生的实际应用能力。针对这一现象,我校开始转变传统的教学方式,加强项目驱动教学法在Java语言程序设计中的应用,让学生积极主动的参与到教学中来。

1 Java语言教学中存在的问题

1.1 忽视学生的主体地位

由于Java语言中相关知识学生的理论性较强,因此,传统教学中主要以教师的教为主,这种统一的授课方式,不仅忽视了学生的主体地位,还易造成班级出现“两极分化”的现象,降低了教学效率。

1.2 教学方式单一

进行Java语言程序设计教学时,往往由教师先对课本中的理论知识进行讲解,再结合所学知识进行上机操作,提高学生的动手能力。然而,这一教学方式,主要学生对课本知识的掌握与巩固,忽视了学生对知识的实际应用能力。学生脱离课本后,会产生学无所用,降低了学生的学习兴趣。

2 Java语言教学方式改革

Java语言程序设计是一种理论与实际相结合的课程,因此,教师必须改变传统的教学方式,提高项目驱动教学法在Java语言程序教学中的利用率,改变传统的教学方式,提高学生解决问题的能力。笔者认为,高校主要可以通过以下四个方面,加强项目驱动在Java语言程序教学中的运用。

2.1 合理设置驱动项目

高校之所以开展Java语言程序课程,主要目的是提高学生的综合能力,满足学校对高素质人才的需求。针对这一现象,学校进行项目驱动教学时,应基于企业发展的需要,合理设置驱动项目。不同于其他的教学方式,项目驱动教学法遵循由易到难的步骤进行教学,可使班级学生均积极的加入到Java语言程序课程学习中来。

第一,学习阶段。学习阶段可选择难度较小的项目对学生进行训练,让学生充分了解到Java语言程序设计在生活中的应用。将学习阶段作为项目驱动教学法的第一阶段,可以让学生通过较简单的项目,加强对学生理论知识的巩固和理解,学生熟练掌握Swing等在实际程序设计中的应用。

第二,训练阶段。这一阶段可适当增加项目的规模和难度,通过教师的带领下,学生分成小组完成项目,在了解项目需求的基础上对系统进行编码设置,并对设置的编码进行测试,保证程序的正常运行。训练阶段的学习,可以让学生学会独立运用程序设计的相关知识。

第三,启导阶段。启导阶段主要是对学生阶段性学习的检测。由教师根据提供项目。教师在提供设计项目期间,应根据学生具体的学校情况,选择难度的适中的项目进行分发。避免项目难度过大,失去项目驱动教学的目的。此外,学生在独立完成的过程中遇到技术难题,可向教师咨询,顺利完成教学任务。

2.2 合理配制学习资源

每个学生都是独立的个体,对知识的理解能力存在着差异,导致其学习能力也有多不同。因此,进行项目驱动教学法进行教学时,根据学校的需要,对学生进行分组训练。分组时,可将班级不同阶段学生的进行平均分配,由学习能力强的学生辅导能力弱的学生。提高班级学生综合的学习水平。

学生利用Java语言进行程序设计时,应先了解项目的具体要求、设计目的,可有效提供项目设计的实用性。我校进行采用项目驱动教学进行教学阶段,将鼠标相应编程作为训练项目之一。学生对项目执行期间知识详细的列出来,列出程序设计的具体步骤,并进行分工合作。

项目驱动注重对培养学生解决问题的能力,因此,在教学中,教师应注重培养学生的自主学习能力,充分发挥教师的引导作用。此外,学生利用Java语言程序设计中的相关知识进行项目设计时,应根据随时对项目进行测试,修改程序中的不足之处,提高程序编程能力。

2.3 创造良好的编程环境

第一,发挥教师引导作用。教师应根据项目内容,为学生提供设计程序所需的资源、案例、参考资料等,让学生充分的了解到项目设计相关的内容。

第二,合理设置实验室。加大教育资金投入,提高实验的计算机设备的运作能力,增加项目设计的可行性。此外,还可以合理设置实验室环境,建设资源共享平台,加强师生间的交流。可以按照是适当的方式设置实验室,便于小组成员之间的交流。

2.4 完善项目评价方式

项目评价主要是对学生阶段性成绩的检测,因此,项目评价方式应贯穿于项目建设的是始终。传统Java语言程序设计教学中的评级方式主要是根据学生的笔试成绩与机试成绩作为该门课程的综合成绩。这一评价方式缺乏公正性、真实性,无法客观的反映出学生阶段性学习。因此,教师因基于该门课程的特殊性,合理设置评价机制:(1)进行评价时,应根据学生项目完成的具体情况进行评价。(2)由小组人员进行互评,让学生充分了解到学习中的不足之处,并予以改正。(3)由项目小组设计于项目相关的课件,对项目的设计进行讲解,内容可包括设计的步骤、相关程序等,便于进行综合评价。(4)对每组的项目进行运行,根据其运行期间的不足之处,作为最终评价的依据。改该评价方式通过对学生学习期间的综合评价,具有公平、公正的特点。

3 结束语

随着计算机网络的快速发展快速,高校开始采用项目驱动法在Java语言程序设计中的应用。该方式不仅可以提高学生的学习积极性,还能充分发挥教师的引导作用,加强学生之间的交流。提高学生对Java语言程序设计的实际应用能力。笔者通过采用项目驱动法进行教学,加强理论与实际的结合,使得学生的综合成绩大幅提高,且有效避免了班级中“两极分化”的趋势。

参考文献:

[1]韩芳.陈晓飞.基于项目驱动式的《C语言程序设计》教学新模式的探索[J].中小企业管理与科技(下旬刊),2010(04).

[2]黄洪赵,小敏,张繁.任务驱动教学法在JAVA程序设计课程中的应用[J].计算机时代,2012(04).

[3]袁小华,王令群,张书台.可视化实验平台在高校Java程序设计教学中的应用[J].计算机教育,2012(02).

[4]李红叶.项目驱动教学法在《C语言程序设计》教学中的应用[J].中国科技信息,2012(06).

[5]朱荣,高瑞.项目教学法在AutoCAD教学中的研究与应用[J].郧阳师范高等专科学校学报,2010(03).

相关期刊更多

Journal of Earth Science

SCI期刊 审核时间1-3个月

教育部

Journal of Zhejiang University Science A

SCI期刊 审核时间1-3个月

中华人民共和国教育部

西北国防医学

部级期刊 审核时间3-6个月

兰州军区政治部宣传部