java程序员实习汇总十篇

时间:2022-04-30 06:21:21

java程序员实习

java程序员实习篇(1)

Java是1995年由Sun公司组织开发的一种编程语言。时至今日,Java已经发展为一个覆盖面广、效率高、易用性强的技术平台,它不仅可以用来开发大型的桌面应用程序,而且特别适合于Internet的应用开发,是一门正在被广泛使用的编程语言。Java是面向对象编程语言,涉及到网络、多线程等重要的基础知识,而且很多新的技术领域都涉及到了Java语言。学习和掌握Java已成为共识,国内外许多大学已将Java语言列入了本科教学计划,IT行业对Java人才的需求也在不断地增长,一些软件公司对其开发人员周期地进行Java的基础培训工作。在IT行业发达的北美洲,有将近60%的软件开发人员在使用Java完成他们的工作。在我国,IT行业对Java开发人员需求量大,已和.NET需求量相当,就业前景广阔,很多高校将Java列入必修课程[1-3]。但由于Java语言的实践性强和开发环境的特殊,怎样让学生更好地学习Java程序设计课程,便成了计算机教学中一个探讨与研究的热点和焦点。本文结合我院教学实践谈几点分析。

1上好Java程序设计第一堂课

通常一个完整的教学过程包括:1)制订课程教学计划;2)准备教案;3)组织授课;4)批改作业;5)辅导学生;6)考查成绩;7)分析质量;8)教学总结。课堂教学质量的提高与前3个环节紧密联系。其中教学计划和教案是教学内容的体现,而组织授课是提高教学质量的关键。在组织授课过程中,课程第一堂课的重要性不言而喻,授课教师借助它来激发学生学习本门课程的兴趣和热情,既要把相关知识传授给学生,激发学生的好奇心,又要尽力促使学生对后续学习充满期待和向往。笔者就Java程序设计课程近年来的教学体会,针对第一堂课的教学内容谈几点经验。

Java程序设计课程第一堂课的内容设计包括4方面:课程的概述、教学安排(包括收缴作业、辅导、答疑等安排)、对学生学习的要求、学习的方法与大学生活的指导。

在课程概述中,笔者主要就如下几个方面进行介绍。

1) 课程的主要内容以及内容间的关系。本课程的主要知识点包括Java概述、语言基础、类和对象、异常处理、输入输出流、多线程、图形用户界面(GUI)设计、Applet开、JavaBean、JDBC、XML、网络编程等。课程先修课程:C语言。后续课程:数据结构(Java版)、Java高级编程、软件体系结构、Java EE编程。

2) 课程的发展历史及发展趋势。

3) 与学生专业的关系:计算机科学专业与软件工程专业必修课程。

4) 与其他课程的联系:软件工程,数据结构算法实现,电子商务系统实现。

5) 课程的教学目标:通过理论和实践教学,使学生理解和掌握Java语言的基本语法和语义,掌握面向对象编程的开发方法和过程,熟练Java的应用技术,熟练使用Eclipse/MyEclipse、JBuilder等集成开发环境,进行J2SE开发。

教学安排,包括收缴作业、辅导、答疑等安排。总学时为30学时(20学时理论+10学时实验);作业包括3次书面作业+5次实验报告+2个软件系统(2~3人协助开发);考试形式为期末上机考试。

对学生学习的要求:强调理论+实践,注重动手实践、学以致用,深入到编程内部去。首先,要熟练掌握基本概念和原理;其次要求学生学会查询各类技术文档,解读经典案例,注意知识点的总结;再次,模仿练习,通过大量的实践应用加以熟练,并能够举一反三;最后,能够2~3人一组,协作完成2~3个软件系统,形成一整套开发思路,构建完善的知识体系。

第一堂课还应包含教师对学生学习方法以及大学生活的指导。笔者所在学校为普通二本学校,学校以农学为特色。针对学生存在的专业课学习困难和就业自信心不足的畏难心理,笔者从正面引导学生,树立他们的自信心和自豪感。让学生从第一堂课就明白,Java程序设计一点也不难学,理论知识掌握之后,再加上足够的实践练习肯定能学会、学好Java语言。学生不是没有工作机会,更多的时候是有了机会但却不完全具备从事相应工作的技能,如果我们平时学好了专业课,有了一技之长,就等于增加了技能,求职的自信心和成功概率也会相应增加。对于有天赋的学生,鼓励他们考取研究生继续深造。要求学生在平时学习过程中诚实刻苦,课堂下应认真独立完成作业,不会做的可以说明情况暂时不交以后补交,但是坚决不允许抄袭别人的作业。

2企业联合培训学分置换

为了培养学生独立分析问题和解决问题的能力,我校和中唐国际软件培训公司合作,暑假期间对大二、大三学生进行60学时的培训。参加培训的学生分为多个独立的项目开发小组,以小组为单位布置软件开发项目。培训公司按照软件企业中软件开发团队运作的模式对各个开发小组的学生进行培训,小组中的成员通过分工和协作完成整个软件项目开发过程从需求分析、设计到代码编写和测试的各个环节。培训结束时学习成绩优异者可以置换3个选修课学分。通过假期培训学习,一来增强了学生软件开发实战经验,培养了他们的职业素质,二来置换为选修课学分后可减轻学生课堂学习的学业压力。这一举措为我校特色,深受学生好评。

3重视理论基础,加强Java类库教学

在Java程序设计教学中,正确引导学生建立面向对象的思维方式,是教学的重要环节之一。另外,对Java基础知识的熟练掌握和灵活应用,也是Java程序设计教学的重点内容之一。我们在讲授类、对象、封装、继承、多态、抽象、接口、包等基础知识时,除了概念本身的讲解,更辅助大量的验证性程序、案例性代码,确保学生完全掌握这部分基础知识和基本概念。为加强学生对Java 基本语法的掌握,我们在Java 教学中开发环境首选记事本,要求学生首先学会手工配置环境变量,用命令行的方式调试Java程序,这样就迫使学生在学习过程中注重Java基本语法、基本概念的准确应用。随着学习的深入,再递进为:Jcreator、Jbuilder、Eclipse等,如果一开始就利用Java 的集成开发环境进行教学,不利于对基本语法、基本概念的掌握[4]。

在Java程序设计教学中,有人认为Java 的基本类库不需要学习,因为可以随时查看类似“Java 大全”的资料或者利用集成开发环境下的联机帮助来获取相关用法。根据笔者的开发经历和教学实践来看,学生应该对基本类库有整体的了解。这不是要学生熟悉每个类的用法,记住每个类有哪些属性和方法,而是要学生知道每个包由哪些方面的类构成,这些类的用途是什么,最核心的几个类分别是完成什么功能的。当遇到实际问题时,学生能够知道哪个类或者哪几个类的组合可以解决这个实际问题就可以了。在我校特色的学分置换企业联合培训环节中,软件开发公司人员结合公司研发项目,重点讲解研发人员的切身感受,这其中很大一部分就涉及到Java基本类库的学习和应用。学生在学习过程中,积极性非常高,他们觉得这样比单纯地听语法、理论要点要好很多,能够学以致用。

4加强实践教学,提高应用能力

Java程序设计是一门集知识和技能于一体,实践性很强的课程,除了理论授课过程中教师应分析讲解代码,演示程序编写调试过程外,实践教学中更应注重要求学生上机实践。学生上机练习的过程既是对理论课程内容的实践,也是应用编程的开始。学生在学习过程中经常阅读一些优秀的源码,对自我提高、开阔视野非常重要,但一定要多动手才能真正把别人的东西消化掉。很多学生学Java就是看书、听课,当时是明白了,觉得没有问题,过后马上就忘记,典型的例子就是学习完全部Java 程序设计课程以后,编写最简单的“hello world”应用程序都不能调试通过。如果学生自己不愿意敲键盘,就不如不学。即使有时候所敲的代码不太明白,可以先运行,看看结果,增加感性认识,然后上升到理性认识。我们通过上交书面作业,完成实验报告,多人组成小组构建软件系统等多种方式让学生切实提高动手编程能力,而且每一次活动都和学生平时成绩挂钩,便于期末评定学生学习效果。

在Java 程序设计实践教学过程中,还有一个值得一提的好工具:Robocode。它是2001年在IBM的Web alphaWorks上的坦克机器人战斗仿真引擎,是MatNelson 用Java 语言创造的一款专为Java 程序员设计的游戏半成品。与通常游戏不同的是:参赛者必须利用Java 语言对机器人进行编程,给机器人设计智能来自动指挥它,而不是由键盘、鼠标简单地直接控制。教学实践证明,Robocode的出现,给枯燥的Java 编程学习注入了动力与激情,可以让学生在娱乐的同时学习提高Java技术。

5传统教学手段和多媒体教学并用

我们既采用传统教学手段,又充分利用现代化的多媒体教学方式。相比传统的“粉笔+黑板”教学方式,多媒体教学可提供多种感官的综合刺激,有利于知识的获取与保持。利用图像、声音、动画等多种手段,多媒体教学能为学生创造一个能听、能看的环境,显然,这样的教学环境要优于传统的“粉笔+黑板”。但是要避免“老师对着电脑讲,学生盯着屏幕看”的情形。我们在Java程序设计课程教学中,理论课以多媒体教学为主,适当辅助传统教学手段增强师生间的交流和互动,上机实践课则完全采用多媒体手段,要求学生在程序调试过程中眼到、手到、心到。在考试环节中,针对Java程序设计课程的特殊性,摒弃了以往课程考试纸质试卷考试形式,组织学生上机考试,切实考察学生的动手实践能力。

6结语

本文针对Java程序设计课程教学,强调了第一堂课的重要性,给出了一些具体可行的措施,提出重视Java 基础教学的观点,建议加强实践教学和联合培养的措施,以切实提高学生对Java 语言的综合应用能力。这些措施都是根据笔者在实际教学中的问题总结而来,并且已经在Java程序设计课程教学实践中实际运用,取得了良好的效果。希望该文能对从事 Java 程序设计课程教学的人员有一定的借鉴作用。

参考文献:

[1] 郑莉. 计算机入门语言讲什么?[J]. 计算机教育,2006(7):25-26.

[2] 马迪芳,宋泾舸,王芳. Java程序设计实用教程[M]. 北京:清华大学出版社,2005:317.

[3] 施霞萍,张欢欢,王瑾德,等. Java程序设计教程[M]. 2版. 北京:机械工业出版社,2006:319.

[4] 向模军,刘松青. Java 教学的探讨和实践[J]. 计算机教育,2006(7):104-105.

Teaching Analysis of Java Program Design

SHI Lei, HU Xiao-hong,XI Lei, ZHANG Hao

java程序员实习篇(2)

“我们做了一项统计,目前在业界的编程语言应用中,有70%左右都是基于Java的。可想而知,对Java人才的需求有多么旺盛。”高骏是上海文华教育学院的院长,而文华学院就是Sun在中国授权的Java培训认证机构之一。

紧俏:人才缺口60万

2001年,Gartner报告称,中国Java人才的缺口达到50万之巨。记者就这一数字向高骏求证时,得到了一个更惊人的数字。根据文华学院与上海信息服务人才培训中心联合进行的一项调查,中国Java技术人才的缺口不仅没有缩小,反而有扩大的趋势。根据这个统计,仅上海地区,各级水平的Java技术人才缺口就达到18~20万人。“以此推断,全国Java技术人才的缺口应该在60万人左右。”高骏告诉记者。

事实上,近几年,随着Java应用的扩展,高校以及相应的IT培训教育机构都增加了对Java课程的教育和培训,Java技术人员供给大幅增加。但随着外包的兴起、软件产业的发展和手机应用等的增加,Java技术人才的需求增长更加迅猛,远远超过其供给的增长。因此人才缺口依然,甚至还有加大的趋势。这其中,尤以两类人才需求最旺盛:中高级Java技术人员以及复合型技术人才。

难寻:技术、语言无短板

事实上,随着Java在企业中应用的日益广泛,越来越多的高校开设了与Java相关的课程,了解Java语言的IT技术人员有了大幅度增加。但在高骏看来,这些人最多只能算是了解了Java的基本知识,还不能根据企业的需求进行有针对性的开发工作,中高级Java程序员仍然非常紧俏。

高骏认为,要能做到根据企业需求进行相应的开发,除了了解Java语言的基础知识外,更重要的是要具有相应领域的开发能力,包括图形界面的开发、Web组件的开发、移动应用的开发以及Web服务的开发等。一个Java程序员至少要具备以上四项能力中的一项,才可能满足企业对人才的需求。

和其他行业一样,知识和技能的脱节同样是Java技术人才的一个大问题,对技术了解透彻却无法从事项目开发的Java程序员大有人在。造成这一现象的根本原因,就是在学习和培训中,项目开发实战训练不足。目前,相关的IT培训机构已加强了对项目开发的培训和训练。在专门从事Java程序员培训的蓝点世纪公司,每个培训班的标准配置是一名讲师加一名项目经理。讲师主要负责传授理论知识,项目经理则带领学生进行实际项目的开发训练。上海文华教育学院也在培训课程的四个阶段都安排了相应难度的项目,让学员亲自动手。

但高骏也强调,除了技术本身,语言能力也是需要Java程序员提升的重要素质之一。一方面,目前中国的软件外包市场发展迅猛,催生了对既掌握技术又精通语言的技术人员的需求;另一方面,当Java程序员逐渐发展成为高级程序员乃至架构师时,要想跟上最新的技术发展,外语是一项必须掌握的重要技能。在Sun认证Java工程师的高级水平――架构师的考试中,所有的考题都是通过英文来测试的。

提升:功夫在技术之外

俗话说:师父领进门,修行在个人。有了Java开发的技术能力,又掌握了外语,要进入企业从事Java开发自然不费吹灰之力。然而,要想在业内从普通的程序员发展成高级程序员,甚至成为企业的架构师或项目经理,功夫可能就不仅仅在技术本身了,需要Java程序员在技术以外有更多的提升。

“最重要的就是遵守职业道德。”高骏特别强调。在企业从事项目开发的Java程序员除了要关注技术方面的动态,跟进技术的新趋势,更重要的是培养自身的职业素质,包括保守企业的商业秘密,遵守职业规范等等。蓝点世纪公司副总经理尹德树也指出,当程序员要往职业金字塔的上层发展时,还需要注重培养自己的沟通能力、团队合作能力和领导协调能力等。“我非常同意。在某种意义上说,沟通能力甚至比技术本身更重要。”高骏跟记者强调。

不过,高骏仍然认为,目前很多Java教学人员和技术人员都没有理解Java的精髓,而“跳出代码看Java”被高骏认为是Java的精髓所在。

高骏说,现在利用Java进行企业级开发是一个很庞大的工程,作为一个有发展前途的程序员,必须用更高的眼光来看待软件开发,必须从总体上,从架构的角度来看待软件开发,从系统的角度来把握一个项目的开发。

java程序员实习篇(3)

(2)将来的应用开发是在成熟的平台上展开,而不是自己从底层开发平台。

一、掌握静态方法和属性

静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。Java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中不被频繁地使用。理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用。因此学习者应该理解静态方法和属性。Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和c++是不同的。

二、重视接口

在面向对象早期的应用中大量使用了类继承。随着软件工程理论的不断发展,人们开始意识到了继承的众多缺点,开始努力用聚合代替继承。软件工程解决扩展性的重要原则就是抽象描述,直接使用的工具就是接口。接口近年来逐渐成为Java编程方法的核心。另一方面,就应用而言,大部分开发是建立在规范基础之上的,不需要自己建立复杂的继承关系和庞大的类。因此读懂规范和用好规范已经成为应用程序开发人员的首要任务,Java各项规范的主要描述手段就是接口。

三、学好集合框架

Java描述复杂数据结构的主要方式是集合框架。Java没有指针,而是通过强大的集合框架描述数组、对象数组等复杂的数据结构。学好这些数据结构的描述方法对于应用程序编写,特别是涉及到服务器、三层结构编程至关重要。程序员在这个时候不能再用诸如数据库结果集之类的结构描述数据了。

由于很多语言没有这么强大的集合框架体系,很多初学者不知所措,更不知道拿来做什么用,因此应该引起足够的重视。

四、例外捕捉

Java对例外捕捉的强调是空前的,它强迫程序员用显著的与逻辑方法完全不同的方式描述例外捕捉,对于程序描述的完整性和严谨性有很大的意义。c++也有类似的机制,但是我们看到很多c++程序员并不习惯使用这些机制。

Java的初学者应该充分学习好这种对外捕捉机制,养成良好的编程习惯。

五、多线程需要理解机理

很多Java程序员热衷于多线程程序编写,认为是对逻辑能力的挑战。其实在大量应用中根本就不需要编写多线程程序,或者说大多数编写应用程序的程序员不会去写多线程程序。这是因为多线程机制都内置到基础平台当中了。

程序员应该了解的是多线程原理和多线程安全,这对于今后准确地把握程序是至关重要的。

java程序员实习篇(4)

Java语言由于具有面向对象、不依赖平台、安全等特点,不仅是正在被广泛使用的编程语言,而且也是软件设计开发者应掌握的一门基础语言。我院信息管理与信息系统和电子商务专业开设的《Java程序设计》课程是一门面向低年级学生开设的程序设计语言基础课程,主要讲授Java语言基础知识,帮助学生建立面向对象的程序设计思想。在课程讲授中主要采用以教师讲解为主导、以案例为驱动的方式,学生通过完成针对性训练掌握Java语言的基础知识。学习《Java程序设计》课程后学生仅处于对面向对象思想和Java语言的初步认识和掌握阶段,特别需要通过进一步的强化训练对Java语言的应用能力加以提高,也为后续课程打好基础。《Java程序设计实训》就是基于上述目的在开设《Java程序设计》学期的实践周单独开设的一门实训课程。

一、《Java程序设计实训》在程序设计类课程体系的地位和作用

《Java程序设计实训》作为一门实训课程,在程序设计类课程体系中起到承上启下的作用,该课程的先修理论课程为《程序设计基础》、《java程序设计》,后继课程《Web应用开发(J2EE方向)》。

对于Java语言这种应用性很强的课程来说,学习的目的在于学以致用,在学生具备了基本面向对象编程思路并且掌握编程工具和方法之后,要通过案例和项目来引导学生运用所学知识解决实际问题以提高工作效率,让学生体会每一点进步所带来的成功和喜悦,感受学习的乐趣,增强学习的动力。因此《Java程序设计实训》课程的设计目标为:要求学生在掌握Java语言的语法、常用类库和面向对象程序设计思想,并有一定编程经验的基础之上,通过软件编程规范培训、程序设计案例和小型项目开发实践等环节,一方面培养学生应用Java语言开发小型项目的实践能力,使学生深入掌握和运用Java语言解决实际问题,为在后继课程中进一步学习开发B/S结构的web应用程序打好基础,另一方面结合案例开发,逐步培养学生良好的职业素养和团队合作精神。

《Java程序设计实训》课程力求弥补传统程序设计语言类课程中以课堂教学为主、验证性实验为辅,学生缺乏学习动力和兴趣的不足之处,通过集中式项目驱动式的教学设计,达到对学生编程能力的强化训练,为后续课程打下良好的基础。

二、《Java程序设计实践》教学改革方案设计

在“Java程序设计实训”课程教学过程中,以Java语言知识点为基础,以案例为依托,以项目为驱动力,采用基于项目驱动的实践教学方式,帮助学生明确学习目标,根据项目需求来学习,由被动地接受知识转变为主动地寻求知识,增强学生的学习效果。

1.知识准备与扩充

结合“Java程序设计”课程内容,对相关知识进行复习和扩充,具体包括:

(1)JDK,Eclipse编译环境的使用,要求学生深入学习Eclipse教程,掌握设置断点、逐步排错等功能。

(2)熟练掌握Java标准类库的查询和使用,可以集合类、图形用户界面组件类为例。

(3)复习Java的编程规范并严格应用于项目开发过程。

(4)知识扩充,包括对Java高级应用——数据与集合类、泛型、JDBC数据库连接、多线程等知识的掌握和熟练应用。

2.示例项目讲解

在教学过程中,采用案例教学能够为学生提供模拟的开发环境,让学生感受学习的意义,为学生提供模仿的样本,而模仿是学习的捷径之一。通过运用项目和程序代码等案例、实例来理解有关思想,使学生记忆深刻,事半功倍。在实际教学安排中,可以一个小型项目为驱动,让学生在实践环节通过对案例的模仿和创新,理解每一环节的任务,从无到有地积累自己的学习成果,在实践过程中掌握各个知识点,增强自己的动手能力,获取实际开发经验,实现学习目标。

3.团队项目开发

(1)项目选择。在设计项目时还要遵循教育性、科学性、实用性、开放性、灵活性于一体,一个成功的任务要有发挥创造力的空间。结合学生的特点,充分考虑现有知识结构、认知能力和兴趣,由浅入深、由表及里、循序渐进地设计任务,通过上网搜集、查阅最丰富的Java项目开发资料,分析、摘取经典Java程序作为实训项目。

(2)团队划分。对于学生来说,仅靠个人的力量来完成一个小型项目是不实际的,需要彼此之间以团队的方式进行合作,共同完成设计目标。团队中各成员的角色和所承担的项目可参照软件工程中的小组软件开发过程TSP(Team Software Process)来制定。在项目的需求分析阶段,成员可以通过共同讨论,集思广益,发挥个人的聪明才智,给出设计方案;在设计过程中,由组长安排各成员的分工合作,确定每人所承担的任务。成员可以轮流承担各阶段的设计、编码和测试任务,使学生在项目的开发过程中扮演不同的角色,熟悉软件设计流程,培养软件创新能力、研究能力、开发能力,团队合作能力,培养遵守软件设计规范的良好职业习惯,培养学生适应软件技术开发的职业岗位能力。同时,各小组之间也形成了一定的激励机制,每个成员的工作都关系到整个小组的成败,这在客观上也要求每名成员尽力去做好自己的工作。

(3)项目开发。实训中常用的项目有:图书借阅管理系统、人事管理系统、考务管理系统、学生成绩信息管理系统、运动会成绩管理系统、仓库管理系统、书店管理系统、校园IP查询系统、超市管理系统、画图板、俄罗斯方块游戏、个人通讯录、日历制作、简易计算器、文本编辑器等,各组选定一个项目完成。在实训中指导教师向学生提供解决问题的必要条件,指导学生如何收集资料获取相关信息,各组自行讨论与交流,培养学生自主学习能力。

(4)过程指导。分组采取自愿原则,根据任务大小及实验室设备情况,一般每组4-5名同学,其中1名同学任组长,负责整个实训任务分配、进度管理、定期汇报。在项目进行过程中,遵循的原则是尽量依靠学生自身的能力和团队的合作,以团队为单位独立解决遇到的难题,但由于学生的经验和知识有限,教师有必要在项目的关键阶段进行适当的指导,并对设计过程中出现的偏差及时纠正,对设计时所可能遇到的比较深的知识点进行有效指导,鼓励学生进行探索。指导的方式可以采用当面讨论、Email答疑或建立QQ群进行集体讨论等。

(5)成绩评判。成绩评判包括:对新技能的掌握及熟练应用,自主学习能力,创造性解决问题能力,将所学知识有效运用到实际环境的能力,学生参与实训活动的态度,等等。实训最终成绩考核以小组为单位,先用10分钟演示项目,再回答3-5个相关问题,教师综合讲述情况和回答程度做出评价。

三、结语

帮助学生在校学习过程中尽量多的掌握Java项目开发的能力与技巧是《Java程序设计实训》课程设置的初衷,通过《Java程序设计实训》课程的增设,增强了理论知识与实际应用之间的联系。学生普遍反映这样的实训课程比以往的学习过程有更多的收获,在项目设计过程中锻炼了团队合作与独立解决问题的能力,增强了对Java语言的学习信心和专业课的学习信心。

通过近一年的课程改革,进一步改进了《Java程序设计》课程与《Java程序设计实训》课程的教学内容设计,使两个课程相互衔接成为体系;初步建成了Java程序设计实训项目资源库,并在每次教学实践中不断丰富和改进;建立了完整的《Java程序设计实训》课程考核评价指标体系和课程考核方案。该门课程的改革也为其他程序设计类课程的实践教学改革提供了良好的借鉴。

参考文献:

[1]陈红军,耿永军,闫洪亮.《Java程序设计》课程教学改革探讨[J].信息系统工程,2010,19(4):128-130.

[2]招启东.项目实训在JAVA课程教学中的应用[J].时代教育,2008(10).

java程序员实习篇(5)

1. Java的前景

自1999年6月Sun公司宣布将Java平台划分成J2SE、J2EE和J2ME,也就是Sun ONE(OpenNet Environment)体系以来,Java技术就被按照具体的应用领域进行了划分,这三个平台分别着眼于桌面应用程序开发、企业应用开发和移动设备应用程序开发,基本上囊括了现今的主流开发领域。最近我们常常能从广播上听到,全球各手机公司都在利用Java推出第三代手机,特别是目前,安卓职位需求增长使得JAVA排名猛增第一。

2. Java语言的特点

Java借助Internet启动;但同时,Java又将Internet的应用推到极致。正如Sun公司总裁Scott McNealy所说,Java为Internet开辟了一个崭新的时代。因此Java的最主要特点有两个:第一,跨平台,不管是Windows还是Unix或是其他平台,它都可以用;第二,面向对象,C++尽管也是面向对象,但并不是严格意义上的面向对象,另外,在Java中摒弃了C++中的指针和多重继承性,这使得Java的学习简单。所以Java是网络工程师最佳的选择。Java发展到现在,已经不仅仅是一种语言,而可以说是一种技术,这个技术涉及到网络、编程等领域。

3. Java的市场需求

正是因为Java的卓越,才使得其开发人员的数量和薪资节节上扬:在北美地区,使用Java的软件开发人员比例达到了44%,在美国,Java程序开发人员的平均年薪最高,基本年薪为7万美元,拥有Java证书的程序员平均工资高于没有证书人员的37%;在印度和韩国等地,政府和企业出资鼓励人们去学习Java。

Java技术有利于学生的就业,扩大学生的发展空间。Java编程技术经过近几年的发展,已经成为当前网络系统开发、企业系统构建、移动设备程序开发的主要平台。目前,专业的Java程序开发人员已达到500万~700万,Java的芯片技术、 Java的编译技术、 Java的数据库连接技术(JDBC)、基于Java的信息家电的联网技术(Jini技术)、企业信息服务的综合求解方案技术(EJB)等正在迅猛发展,它们都与现代信息社会息息相关。

根据企业对招聘岗位的职责、职位要求及工作内容,我们将中华英才网10345个招聘岗位划分为如下5个类型,具体分布见表1。

(1)开发类工作岗位,包括Java软件开发、Web开发等热门岗位;

(2)测试类岗位,包括Java软件测试、系统测试等岗位;

(3)管理类工作岗位,如项目经理、信息主管、技术部门经理等;

(4)运维类工作岗位,包括技术支持、系统维护、售前售后技术支持等岗位;

(5)其他类型的工作岗位,如Java培训讲师等。

通过对上述岗位的调查统计,我们发现招聘需求居于前3位的是开发类、测试类、运维类岗位。

由此可以看出,围绕着Java技术的开发链、产业链已经形成,可以说,未来的信息社会将需要更多的Java方面的人才,而掌握Java技术的人将无疑在就业和择业上有更大的优势。

二、开设Java课程遇到的困难

近年来,高校计算机专业基本上都开设了Java课程,但是由于Java发展过快和高校本身对Java体系特点的认识不足,Java课程在开设时会普遍遇到一些困难。

1. Java的定位

传统的学习程序设计理念分为两个部分,一是程序设计基础,如“C程序设计”“数据结构”,它们以传统的程序设计方法为主要内容,强调程序设计基本技能、算法思想的培养,但是对于高职这样特定的学生,形象思维能力强而抽象思维能力相对较差,一味地强调程序基本技能和算法显然不合适;二是认为只要学好了一门程序设计基础语言如C和一门面向对象程序设计语言如C++就基本上完成了程序设计的学习任务,实际上这种看法是不科学的,对于如何用所学的知识去进行商业开发,在传统的程序设计教学过程中并没有真正地体现,更谈不上和现代的编程模式、解决方案结合起来。所以,对于Java课程的定位不能再采用传统的教学观念,应该加以改革。

2. Java的教学内容

由于Java体系庞大,如果课程内容过于强调Java的新技术,过多地向学生灌输Java体系中的各个知识点,从而导致学生产生畏惧心理,缺乏程序开发的“成就感”,并且认为Java的成效慢,学习Java还没有学习如VB、Delphi等可视化操作见效快。所有这些不成熟的观点都与我们在教学过程中没有注意课程的教学方式以及课程内容不合理有关,所以对于Java课程的教学内容也应进行必要的改革。

3. Java的教学课时

Java由于其内容繁多,新技术层出不穷,课时相对来说更是难以满足教学内容的需求,以笔者所在系为例,Java程序设计课程以前总共给了64个课时,在这样有限的课时里,如果只讲述Java一些基本概念和基本知识点就会使学生觉得学习Java只是学习了另一个版本的C++;如果将Java的体系结构进行全盘介绍、讲解就会使学生感觉很混乱,容易失去学习Java的兴趣,所以很多情况下便导致了既没有把Java的基本知识点学好也没有把Java的体系结构搞清楚。“不是不想开设Java课程,而是没有时间、没有课时,所以只能让学生自己去慢慢钻研了。”这成了许多老师在讲授Java课程时的心声。

java程序员实习篇(6)

中图分类号:G642

文献标识码:A

文章编号:1009-3044(2017)10-0119-02

1.Java语言发展现状

面向对象程序设计(OOP)被称为程序设计思想的一场革命。1995年推出的Java作为面向对象程序设计语言的代表,成为计算机应用开发领域的主流趋势。Java平台由Java虚拟机和Java应用编程接口构成,成就了产品的通用性、高效性;Java语言拥有的面向对象的三大特性(封装、继承、多态),以及简单性、安全性,尤其是Java语言的跨平台性,真正做到“一次编写,到处运行”,成为该语言迅猛发展的最有利的因素之一。

随着科技的不断发展,Java的社会市场需求也在不断地增加,Ja-va软件工程师、Java系统架构师、Java程序员、Java高级程序员、Java测试工程师在企业中供不应求。在所有件开发类人才需求中,对Java软件人才的需求超过了全部人才需求的60-70%。

TIOBE编程语言社区排行榜是编程语言流行趋势的―个指标,Java语言在近几年的排行榜上一直位居榜首。2017年3月TIOBE编程语言排行榜最新公布,Java语言与上月相比虽然下降了4.14%,但仍以16.384%的占比位稳居第一,如图1所示。

随着Java的不断完善和发展,Java的知识领域不只是简单的JDK编程,还包括HTML,CSS,JavaScript核心、Oracle数据库、Web系统架构、Hibernate、Struts、Spring开发等。Java无论在企业级应用,还是在面向大众的服务方面都取得了不少进展,在中国的电信、金融、移动、联通等关键性业务和增值服务中发挥着举足轻重的作用。再加上各种基于Java技术的应用服务器以及各种应用软件,也推动了Java在金融、制造等领域更为广泛的应用。

2.高职Java课程体系构建

本文基于Java语言良好的发展前景,结合高职学院学生的特点,经过Java课程教学团队的多次研讨,最终确定高职Java语言课程体系采用团队协作项目化的教学模式,由面向对象人手,放弃面向过程到面向对象的过渡,以项目“学生管理系统”、“在线考试系统”、“商城系统”三个项目为主线构建,如图2所示。

第一、第二学期分别开设C语言程序设计和数据结构,作为程序设计的基础。

第三学期开设72学时的Java语言,以项目“学生管理系统”作为实训案例分解任务,把项目管理的思想融入项目设计,从第一学年的先行课进行语言基础的承接,然后引入面向对象的概念,通过对学生管理系统的学生类、班级类、用户类的建模,实现对象与抽象概念的理解;接着从项目的生命周期与发展过程引入分层设计(以常见的表示层、业务层、数据访问层三层作为架构),要求数据与操作分开,通过数据访问接口的业务功能抽象,实现程序各层次之间的解耦合,再通过接口的实现类完成业务的具体操作,逐步从组件化过渡到服务化。

第四学期开设72学时的Java Web,以项目“在线考试系统”作为实训案例,在分析设计时遵循软件工程的思想,从系统需求分析、系统设计、数据库设计、系统实现、系统测试五方面进行功能需求设计。系统需要分析阶段,绘制基于UML的各模块功能用例图,在系统设计阶段,绘制总体设计框架功能结构图和系统技术架构图,系统详细设计时分模块描述了各部分的功能设计;在数据库设计阶段,绘制系统总体E-R图,同时设计数据库字典;在系统实现阶段,首先实现简单Web编程,得出功能实现效果图,嵌入JavaScript技术,利用JDBC访问实现动态网站设计,最后JSP+Servlet实现Web系统,系统测试阶段,针对功能测试给出了测试用例。

第五学期开设72学时的Java框架,引入框架模式应用,从Hibernate、MVC框架到Strutsl、Struts2及JavaEE平台开发,引进最前沿的开发技术、利用最先进的开发工具,使高职学生能够在就业时快速进入工程项目的开发的角色中,真正实现学有所用,就业无压力,与企业开发零对接。

3.Java课程教学方法

3.1案例教学法

把Java课程体系的学习内容以“项目设计”为核心组织教学,按项目分解成多个任务,融会各个知识点,先配备知识点的实例练习,再完成项目分解的各个小模块,在学习过程中,循序渐进、由浅入深地完成学习,在整体上体现了内容主导、实例解析、以点带面,贯穿教学内容的教学模式。

3.2团队协作

对学生进行分组分工,按照真实的项目设计过程对系统需求分析、系统设计、数据库设计、系统实现、系统测试五方面完成功能需求设计。团队成员要求定期提交开发文档及开发进度报告,尽可能地模拟企业开发场景,累积一定的实战经验。

3.3网络教学平台

Java课程网络教学平台是人才培养的重要支撑和学习保障,该平台整合了Java课程体系内课程间的递进关系,充分利用网络技术、网络教学资源,实现在线学习、在线练习、在线测试、在线答疑、交流共享等功能。依托Java课程建设成果,应用到Java课程教学中,达到“师生交流互动、网络资源共享”的效果,更有助于提高学生对课程知识体系的认识和学习效率,培养学生的创新精神和实践能力。

3.4移动终端学习平台

随着智能手机的流行,教育技术领域正面临着由微终端带来的巨大的学习变革。高职Java课程体系设计与开发了基于微信的Java微课程。

java程序员实习篇(7)

0 引言

根据权威的编程语言流行度评估机构――TIOBE 的调查显示,2016年10月Java 语言以超过19%的比例在编程语言流行度排行榜上名列第一。虽然军队院校学生毕业后大部分都不会从事专业编程工作,但是对于相关专业的学生来说,学习Java程序设计、掌握面向对象编程的基本技能是进行部队信息化建设的必要要求。作者结合实际教学、工作经验、课程效果和学生反馈情况,对 Java程序设计教学改革进行了一些探索。

1 Java程序设计课程教学现状及存在的问题

Java面向对象程序设计在军内外许多高校都有开设,尤其是与计算机相关的专业更是如此。近年来,各院校都对该课程进行了相应的教学改革尝试,对教学内容、教学方法和考核手段等,提出了不少建议,我校该课程的教学近几年也有了不少起色,但是通过调研和实际教学实践,仍然发现了不少问题:

1.1 学员主动学习意识不强,兴趣不高

军校学员不像地方高校那样存在工作的压力,不少学生总以为学习只要过得去就行了,不求过得硬,学的好坏都有一份工作。这在一定程度上使得他们的学习主动意识不够强。

1.2 传统填鸭式教学仍在影响学生的学习

军校学员难免受到部队整体性质的影响,按理来说大学是主要靠自主学习的,但是由于身在军校,受到各种制度的制约,学生的思想也会有一定的僵化,老师讲什么就学什么,总是等着老师来讲解。自己有什么问题不能理解时,第一想法是想要别人来告诉自己答案,而不是自己去思考,独立思考的能力较弱。

1.3 重编程语言理论知识的教学,而轻程序设计核心思想的教学

本课程传统的教学,由于受到学员基础和各种实际情况的制约,教员在上课时注重编程语言本身语法的讲解,而不是编程思想的讲解。

1.4 实践环节薄弱

本课程的教学目的是使学生能够深刻理解面向对象的基本思想,并且能够利用面向对象的Java编程语言解决实际问题,这就要求学生必须有大量的实际编程操作。但是在实际教学中学生课后编程兴趣不高,实践课时不足,这就造成学生的动手能力较弱。

1.5 考核方式存在不合理性

目前的考核方式仍采用闭卷考试与平时成绩相结合的方式,但是平时成绩最多只占到30%,有些时候甚至完全由考试成绩决定。这种考试方式对于面向对象的Java编程这种重实践的课程来说并不是很合适,造成学生只会理论而不会实践的不良效果。

2 Java程序设计课程的特点

2.1 具备一定的理论性

学生在学习本门课程之前,学习了面向过程的c语言,编程思想上有一定的僵化,而Java编程语言是一门纯面向对象的编程语言,这就要求学生必须理解面向对象的基本理论,包括对象、类、封装、继承、多态等核心概念,而这些概念在以往的学习中没有接触过,因此本门课程具备一定的理论性。

2.2 实践操作性强

学习程序设计过程的最终目的是要学生能够在计算机上编写实际应用的程序,而且计算机程序设计的编辑、调试和运行等过程处处都体现了实践性和操作性,可说计算机程序设计充满了经验技术和技巧,而这些知识光从课堂上或书本上是难以学到的,必须在大量的实践编程中获得。

3 Java程序设计课程改革探讨

通过分析军队院校学员学习Java编程语言存在的问题和Java程序设计本身的特点,本文提出如下课程改革探讨。

3.1 加强课程教材建设

Java程序设计课程是一门很成熟的课程,全世界有很多种教材,国内各大知名高校也有重点教材,我们可以以这些教材为基础,适当结合本校学生的实际进行教材改革,在教材的案例中适当增加一些部队的实例,主要目的是提高W生的兴趣,提高学生的实际动手能力。

3.2 适当弱化理论教学

虽然Java语言中的面向对象部分具备一定的理论性,但是在实际教学中要适当的弱化纯理论知识,以免学生难以接受,造成学习兴趣下降,打击积极性。在实际教学中可以将这一部分理论知识结合实际生活中的简单例子,既能理解理论又不难接受。

3.3 以试行项目化教学的方式大力加强实践教学

学生学习编程语言的根本目的是能够进行程序设计,因此在教学中必须大力加强实践教学,提高实验课所占的比重。试行项目化教学,以一个项目为驱动,带领学生一步一步学习相关知识,边学边写,当所有相关知识学习完成以后,学生也编写完了完整的系统,这样能够提高学生的学习兴趣,增强成就感。

3.4 考核方式改革

学生课程成绩形成应该包括以下几个方面:

1)这门课程总成绩由课程学习成绩和课程实验成绩两项构成。其中,课程学习成绩占课程总成绩的 60%,实验成绩占课程总成绩的 40%。

2)课程学习成绩由课程考试成绩和平时成绩构成,其中,课程考试成绩占课程学习成绩的 70%,由闭卷考试成绩决定,闭卷考试的内容不应该是具体语法上的细节,而应该是编程思想的考察;平时成绩占课程学习成绩的30%,由老师依据学生平时的学习情况评定。

3)实验成绩在实验的最后一次实验课产生,参考国家计算机等级考试的形式,由老师出题,学生抽签的形式抽取难度适中的题在计算机上进行实验考试,最终形成实验成绩。

4 总结

随着部队信息化建设的推进,对于各军队院校相关专业的学生来说,面向对象程序设计是一门必须掌握的技能,如何能够让学生很好地获得这部分知识是本课程教员需要长期思考的问题。本文通过分析学生在学习中遇到的问题和Java语言本身的特点,提出了一些教改的意见,希望能对本课程的教学具有积极的推进作用。

java程序员实习篇(8)

程序对计算机的重要性决定了程序设计在计算机学科体系中的核心地位,使得计算机专业本科生必须学习程序设计语言、掌握程序设计方法、培养程序设计能力。程序设计是有形表达抽象思维的方法,其中贯穿阅读、分析、思考、判断、表达、工具使用、综合创新等多项技能,对计算机专业人才的培养至关重要。JAVA是当下软件开发的第一平台,各个高校都为计算机专业本科生开设了一系列JAVA课程,如JAVA程序设计、J2EE框架与技术、J2ME移动软件设计等。因此,在JAVA相关课程的教学中,如何提高学生的程序设计能力、培养出符合软件企业需要的程序开发专业人才是一个亟待解决又十分重要的问题。

1、现有问题

JAVA程序设计课程一般在大三开设,是继c、c++语言之后的又一门编程语言,其主要目标为帮助学生实现从面向过程向面向对象的编程思想转变,为高层次的J2EE软件开发打基础。实际教学实践表明,当前本科生在学习这门课程的时候一般会出现以下3个方面的问题。

1)教学方面。传统程序设计课程以语法教学为主、上机验证为辅,这种模式虽然有利于教师调控教学过程和学生对分散知识点的入门学习,但不能充分调动学生的积极性,通常会令学生在实际使用过程中不知如何灵活地应用相关知识来进行程序设计,解决具体问题。这主要是因为学生没能把握住串起程序设计思想各个知识点的主线,忽视了面向对象编程思维的建立和实际程序设计能力的培养。

2)实践方面。一般来说,现有的教学实践是老师布置题目、学生编写程序,这种形式难以引起学生的兴趣。而且在实验和课程设计中,有些缺乏主动性的学生往往对课本之外的JAVA主流开发工具或平台知之甚少。

3)考核方式。通常的课程成绩是由平时成绩和考试成绩组成的,这种考核形式难以全面反映学生解决问题的能力和实际的操作技能,有可能造成一些在笔试中能够考出不错成绩的学生实际上并没有掌握JAVA编程技能和技巧,到实际编程的时候就不知如何着手。

这些问题说明一个共性现象,即教师在讲授JAVA程序设计时,对实际编程能力的培养不够,多数学生对JAVA的学习仅是“纸上谈兵”、实践能力差。究其原因,笔者认为主要是因为:①本科生在学习的时候,基本没有程序设计与开发的真实场景,难以形成真正的程序开发时应有的紧张氛围;②真实的软件项目不可能交由一群毫无经验的本科生进行全权的开发,真实的软件项目也不可能考察到程序设计的所有方面,客观上造成缺乏全面锻炼学生编程能力的实际项目,使得本科生难以参与一个完整的软件项目研发流程。

2、仿真式教学法

针对上述问题,文章模拟当下软件项目开发的实际流程,提出一种针对JAVA程序设计的仿真式教学模式,以实践促进理论学习,加强对本科生JAVA程序设计能力的培养。JAVA程序设计的仿真式教学法基本结构如图1所示。

2.1 基本思想

文章提出的仿真式教学法将JAVA程序设计这门课程设计为以真实而典型的JAVA软件项目为载体,把教学内容设置到复杂且有意义的仿真研发环境中,教学内容由若干从简单到复杂的主题单元组成。在每个学习单元,学生在教师的引导下,通过解决实际问题,不断积累一些类似于实际项目的开发经验,进而领悟知识与技能之间的微妙关系;而不同单元之间存在知识和技能的重叠与递进,确保学生在课程推进的过程中温故知新,灵活迁移,熟练掌握隐含于问题背后的非显性知识,提高学生发现和解决问题的综合能力。

2.2 关键模块

1)问题引导的理论教学。

作为一门应用性很强的专业课程,JAVA程序设计课程在课堂教学过程中应用经典问题来引导理论教学。这样做可以改变“满堂灌”的做法,在思考中培养学生对程序设计语言的学习兴趣。在实际教学实践中,我们将理论教学内容分为若干个主题,JAVA程序设计是贯穿各个主题的主线,并创设“体验性学习”的条件,充分地发挥学生的主体作用。通过分析经典问题引导的典型案例,重点讲解面向对象程序设计的基本思想和关键方法,辅以介绍JAVA程序设计语言的理论知识,循序渐进地帮助学生掌握面向对象编程的基本思想和关键方法。

①将每个学习单元细分为若干个典型问题。JAVA相较于c语言增加了许多新概念,因此应该在课堂教学中,我们通过回答一个个具体的问题,在透彻阐明面向对象编程思想的同时,授人以“渔”地指引学生自己发现并主动解决一个个在实际编程中可能出现的问题,而不是直接简单地给出现成的结论。

②在知识阐述与技能解析上以够用为度,相对淡化JAVA语言规则的教学,将一些必需的和常用的概念分散穿插在应用举例中,在确保知识与技能涵盖性的前提下降低学习的强度和复杂性,使学生循序渐进又轻松有趣地领悟JAVA语言及其应用的内涵。

③学生要完成课堂的主题作业和课后的综合作业。教师针对学生在练习中暴露出的种种问题进行有针对性的答疑解惑,一对一地给每个学生分析其编写的程序代码,帮助学生逐步熟悉语法、应用语句,实现具有难度伸缩性的差异性教学。

在仿真式教学法中,理论教学从问题人手,采取完全开放的合作学习形式,鼓励学生发表自己的见解和发现。教师要把控课堂内容进行的方向,适时提出问题,并纠正其中的错误,引导学生掌握学习JAVA程序设计的方法,培养学生发现、分析和解决问题的综合能力。

2)项目驱动的协作实验。

考虑到学生的学习水平和动手能力存在较大差别,实验内容应该提供几种在难度上具备足够区分度的选择方案。因为如果只采用难度过高的实验,多数学生会失去学习的动力与信心;但是实验难度过低,会使得部分学生得不到应有的训练而失去学习兴趣。

为此,笔者采用项目驱动的协作实验教学,其基本步骤如下。

①将全班学生依据学业水平、能力倾向、个陛特征、性别等方面的差异组成若干个异质学习小组;

②提供来源于真实项目,且侧重点和难点不同的若干个软件项目(或项目的子模块)供学生选择;

③基础好的学生在协同合作开发过程中起主导作用,基础差的学生也能从中得到激励和帮助,形成“以强带弱、以弱促强”的局面。

实践证明,项目驱动的协作开发使得每个学生都能够在原有的基础上取得进步,有助于培养学生自己主动学习JAVA程序设计的兴趣和能力,还可以促进学生之间良好的团队合作。

3)侧重实践的综合考核。

传统的JAVA程序设计考核一般以标准化的笔试题目为主,侧重基本语法,导致学生忽视编程实践能力的培养。我们认为应该加重实践环节的考核,将其以较大的比例加入课程考核的最终成绩中,但是应该充分考虑主观评价容易造成结果有失公允的问题。为此,笔者采用“个人评价+小组评价+教师评价”的形式,最大程度地保证实验成绩的公平和公正。

①个人评价是学生根据自己在小组中分担任务的执行及完成程度、在小组协作开发中的表现、与同伴互助协作情况以及对项目任务完成的贡献等情况,为自己进行打分。

②小组评价的第1步是选择3~5个学生(学生选出初始名单、教师确定最终名单)构成评委组。每个小组选出自己的小组代表对本组的最终结果进行演示和讲解。评委按照细分的评价指标(如功能完善、界面美观)进行评分,当场计算各组的综合分数。

小组评价的第2步是每个组长和指导教师构成评审团,对各个小组的实践过程进行评分,要强调团队协作意识,如需求分析的收集和整理,开发文档的完整性,实践过程中解决问题、分析问题的能力,团队协作进展情况,小组学习实施计划,组员参与情况等。

③教师评价是指导教师对各个小组进行总结性点评,帮助学生总结完成任务的过程和方法,促使学生反思自己的思路和行为,进一步消化学到的JAVA知识和技能。

3、实例分析

根据仿真教学法的基本思想和关键步骤,笔者在自己担任的JAVA程序设计课程教学过程中进行实例验证,这个过程分为以下几个阶段。

1)任务设计与准备。

①合理分组:依据学生的个性倾向、个性差异,指导教师将全班学生按照“组内异质、组间同质”的原则进行分组,每组成员控制在4~6人(模拟当前软件公司的项目小组形式),确保每个小组都有高、中、低3个层次的学生,并让每组学生自己推荐一名小组长。这样不但有利于各组之间的公平竞争,也有利于学生主体能动性的发展。

②设计任务:教师结合实际开发环境创造一种真实的虚拟项目,再根据课程进度将其分解为对应于一个个实验的一个个子任务,让每个小组讨论后提出相应的项目名称和预期目标。指导教师再与各个组长协商确定项目实施的各子任务和进度安排,提交项目进度表和考核指标。

2)任务实施。

①监督子任务进度:根据任务进度表,指导教师在每次实验的时候检查每个小组的子任务完成情况。在和小组成员进行充分沟通的基础上,对于子任务进度安排不合理的部分进行微调。在这个环节尤其需要强调团队协作,如部分成员态度问题、内部团结合作等。

②指导技术难题:小组成员需要发挥团队精神,培养学生互相沟通、尊重他人、聆听他人意见、说服他人的能力。在超出学生知识结构的地方,教师要及时加以实际指导或给予解决思路和参考书目,有效地辅助学生解决遇到的各种技术性难题。

java程序员实习篇(9)

文章编号:1672-5913(2013)18-0083-04

中图分类号:G642

根据2013年4月最新TIOBE开发语言排行榜公布的排名结果,Java语言再次位居榜首。为适应行业及科研软件开发对Java编程人员的实际需求,吉林大学在计算机编程类语言最新教学内容中,扩充Java语言课程内容,拓展Java的Web企业应用与Andriod移动平台开发实践课程。

1 Java社会需求

由于Java语言“一次编写,到处运行”的特点,使其在国内外软件开发企业中的使用比例排名第一。Java编程人员的需求市场广阔,仅以51job人才招聘网2013年7月的消息为例,关于Java招聘的岗位信息多达4万余条。

在企业级应用方面,据W3Techs公司2013年6月统计数字显示,服务器端最为流行的5种常用计算机语言中,Java是企业级高访问量网站的首选。自2008年以来基于Java语言的Android系统迅速普及。2013年5月,据市场调研公司Gartner的数据显示,Android操作系统在全球智能手机操作系统占有率从去年同期的56.9%直线飙升至74.4%,并仍在提升。

2 Java教学现状

鉴于Java的迅速普及和良好的跨平台特性,Java已成为当代成长最快的软件产品之一,受到大约150个许可证颁发机构、200所大学和50万开发者的拥戴。从1997年起,美国麻省理工学院就设置了Java作为必修课。2002年,美国加州大学伯克利分校开设了25门Java相关课程。美国、澳大利亚、新加坡等国家90%以上的高校开设了Java课程,甚至一些文科专业都竞相开设该课程。世界计算机排名前列的高校,均开设有Java及其相关课程,详见表1。

在我国最新教育部计算机基础课程教学指导委员会制定的白皮书中,Java课程被列为核心课程之一。国内高校从1997年开始陆续开设Java相关基础课程,在原有的C和C++基础上。新增Java编程课程;2012年国内已有近80%的高校开设了Java及相关课程,仅2013年应届计算机专业学生就有近8万人在校学习Java编程,2013年“华南资讯杯”广东省Java程序员竞赛中有74所高校的702支队伍,共2094人报名。国内高校Java课程开设情况,详见表2。

3 Java教学体系构建

在以往的Java教学过程中,学生虽然学习了多种语言及编程设计类课程,但真正设计项目时却感觉自己不能完成该项目,原因在于Java语言教学开展的孤立性,以及基础课程与实践课程的不连续性。传统Java语言课程教学与其他相关课程缺乏横向融合,与实际项目开发纵向脱节,学生学习Java过程中没有应用和项目开发的整体概念;由于Java编程语言基础课和实践课需要多学期共同完成,造成学生在学习Java语言过程中,前期基础课程迷茫而无所适从,后期实践课程感兴趣但基础不牢,进而丧失对Java学习和使用的信心。

1)Java教学体系整体规划。

在Java市场和人才培养需求面前,如何合理组织和安排Java课程的整体教学,已成为我们急需探讨和解决的问题。国内外高校的Java教学中,基本上把整个Java的课程设置为1年,分为Java程序设计基础知识部分与Java程序设计高级开发部分,其中基础部分以Java程序设计为主,而高级程序开发部分则以J2EE以及J2ME课程为主。学生经过第一个学期对Java基础知识的掌握后,可以在下一学期开始高级开发部分的学习。在一些高校中,课堂上老师除了授课之外,课程设置中还专门安排了一些Tutorial的授课安排,相当于课堂讨论课。老师会预先给出教学中的重点、难点,同学们可根据自己的情况及时发言或讨论,从中获得自己想要的东西。

参照国内外多所高校的Java教学计划,依据吉林大学最新教学大纲的编程类语言教学内容,笔者所在团队提出了Java课程教学体系构建方案,如图1所示。在高级语言程序设计和面向对象程序设计的C和C++语言基础上,依托算法设计和数据结构课程,从第4学期开始Java课程教学;以Java SE为核心,侧重理论结合实践,注重程序和架构的设计,突出实践对于Web企业应用和Android移动开发的重要作用;在任务和项目驱动教学理念下,制订实践教学内容,详见表3;强调数据库应用在其中的重要地位,融入架构设计和团队开发等实际软件工程内容,为学生实际操作提供支持。

2)Java程序设计课程。

Java程序设计课程是Java语言的基础,侧重Java基本语法和数据结构,是Java教学体系整体框架中的核心部分,也是后期以Java为核心语言专业课程开设的基础。

Java程序设计课程设立在第4学期,以JavaSE为主,在介绍和讲解Java基本语法概念的同时,需要学生深入理解面向对象编程思想,并进一步深刻认识不同数据结构间的内在关系;通过各章节实例,学生应熟练掌握一套Java IDE编程环境(如Eclipse或NetBeans等),进行程序的编写和调试;并通过上机实践,实现具有简单界面的单机应用程序,如记事本和学生成绩登记等,详见表3,熟悉数据库的基本连接和使用,为后续以任务与项目为驱动的教学模式奠定开发环境基础;同时在整个授课过程中,贯彻面向对象程序设计思想,强调先设计后动手的软件工程设计理念,并穿插Java的企业应用Web开发和基于Java的移动设备Android开发中的延伸应用示例,给学生以实际应用的概念,为后续Java EE的Web企业应用和Android移动开发实践课程奠定应用基础。

3)Web企业应用课程。

Java在高访问量网站中占有很高份额,是当今Web企业级应用的首选,这需要Java在Web企业应用中提供更多组织团队协作开发的机制,并考虑更多安全性和架构细节。

Java企业应用课程开设在第5学期,以JavaEE为核心技术,是对项目实践动手能力要求较高的课程,需要学生在数据库原理与软件工程基础上,进行规范化的项目工程构建与开发。在介绍前台界面Bootstrap与控制器Struts开发、中间业务层Spring管理和Hibernate与MyBatis数据库映射等架构内容的同时,需要学生了解Web开发的大量基础知识,如HTML、CSS和JavaScript等;并通过设计、实现、测试、调试、和维护中小型企业应用的Java Web项目开发实践,使学生自身技术水平在短期内得以迅速提升,进而将Java基本概念、基本理论和实践技能融入到具体的Java Web程序和集成开发环境中去。

Java Web企业应用课程以实践课程形式在机房进行讲授,提倡任务与项目为驱动的教学模式,教师在讲授16学时基础课内容后,利用32学时进行SSH轻量级Web应用实际项目开发。搭建由前台查询、后台建库、中间层耦合配置的网站建设,如新闻网站和网上交易系统等实际企业应用项目搭建,详见表3。学生以分组分工协作形式完成项目内容,最终提交设计文档,并提供程序演示等内容。

4)Android移动开发课程。

随着基于Java语言的Android系统迅速普及,对于Android开发人员的人才需求急剧增加。对于Java开发者来说,以前主要在Java EE平台上从事服务器端应用开发,但在计算机便携化的趋势下,Java开发者面临着为这些应用程序开发客户端的需求。

对于Java开发者来说,Android应用开发既是一个挑战,也是一个机遇。Android系统是一个新的发展趋势,作为Java程序设计课程的接续与延伸性实践课程,Android课程开设于第6学期,目的是使学生掌握Android系统开发的基本方法和流程,熟悉Android SDK、GUI基本控件、数据交互与存储以及移动设备特性等内容,从而为学生深入学习Android高级开发奠定坚实基础,有利于拓展学生就业途径,为其提供创业机会,具有良好的社会效益。

java程序员实习篇(10)

1.引言

Java语言是1995年Sun公司推出的一种完全面向对象的设计语言,由于其具有简单、面向对象、分布式、可移植性、安全可靠等特点,深受业界的推崇,现已成为软件开发领域最主流的设计语言之一。近年来为了适应人才市场的需求,几乎所有高校的计算机相关专业都把Java语言作为重要的必修课予以设置。但是由于大部分在校大学生在学期间并没有能够真正掌握Java程序设计的基本思想,缺乏灵活运用且解决实际问题的能力, 导致学生毕业后距离企业的实际用人需求有较大的差距。因此如何更好地发挥Java课程[1]实践性强的特点,培养符合企业要求的Java人才,便成为计算机教学中一个值得探讨的问题。

2.现有Java教学中存在的常见问题

笔者根据近年来教授Java程序设计这门课程的经验、积累和与同事之间的相互交流,发现该门课程在实际教学中主要存在以下几个方面的问题。

2.1学生对该门课程很有兴趣,也很想学好,学精课程内容,但同时也畏难。学生之所以对该门课程充满兴趣,主要来源于实际就业的需要。Java技术已成为近年来社会需求最大的编程技术之一。国内许多软件开发企业不惜花费大量的时间与资金培训Java软件开发人员。在这种大趋势下,学生们迫切地想要学习Java程序设计,但是许多学生对编程没有足够的了解,缺乏算法设计的理念。很多学生在初学编程时仅仅是为了编程而编程,很少有学生是因为真正热爱编程而学习Java的,因此在学习时缺乏主观能动性。而程序设计除了要求设计者具有严谨踏实的学习态度、良好的逻辑思维和抽象思维能力外,更需要设计者具有不断自我学习,掌握技巧适用性,以及对资源进行最恰当安排的能力。所有这些要求无形中给学生带来了压力,进而导致学生害怕编程。

2.2学生希望通过课堂学习获得Java应用实践和适应Java社会需求的能力,这就对教师课堂教学的内容和方法提出了更高的要求。而传统的Java程序设计的教学主要采用讲授法,在教学内容上主要着重于Java语言的基础理论部分,尤其是强调Java语法的掌握。尽管进行Java程序设计课程改革之后不少院校升级为多媒体教学,使得教学更生动、直观,但这只是教学形式的改观,教学方法的本质没变。而且,虽然现在已逐步引入了案例教学法,但仍缺乏如何运用Java知识完成实际项目的内容。另外,在教学内容中还应该注重与编程相关能力的培养,如培养学生良好的软件工程习惯,避免在系统设计和实现时出现混乱和随意;加强学生使用参考文档及开发工具能力的培养,等等。有些学生在课程设计、毕业设计或者开发项目时过多地依赖现成资料,只想从网上搜索相关解决方案,然后直接套用,进而导致得到的成果缺乏原创性。因此有必要在教学方法和教学内容上进行探索,使得学生的软件开发能力进一步提高。

3.教学内容的探索

3.1合理规划教学内容。

Java程序设计的教学内容基本上可以分为Java的基础知识、核心知识和提高知识三部分。在基础知识部分学生需要掌握面向对象思想的基础理论,Java的环境、语法和异常处理等内容。核心知识部分主要讲述面向对象的封装性、继承性、多态性和抽象性等特性,并采用Java语言实现这些特性的设计技术。提高知识部分可以根据专业需要掌握多线程、图形处理、数据库处理、网络及JSP等内容。计算机专业学生也可以根据所选的创新课题进行开发和实践的过程。Java程序设计需要学生把基础知识掌握精,把核心知识掌握好,这对于以后提高知识部分的掌握和建立算法设计思想都是有利的。在基础知识部分可以建立面向对象的思想,对于语法知识需要掌握,在核心知识的教学过程中,需要培养学生查看API文档的习惯,这样可以在编写程序的过程中提高学生的程序设计水平。

3.2开发工具和环境的选择。

J2SDK,简称JDK,是Java最基础的开发平台,在基础知识学习阶段,学生可以利用JDK+文本编辑器,使用DOS控制台,循序渐进地学习Java的编译和运行环境,以及Java的处理机制和基本架构,这对于以后Java的深入学习是有必要的,另外还可以利用许多集成开发环境如Jcreator、JBuilder或Eclipse进行教学,在这些环境下学习编写Java程序,因为集成环境中有许多的可视化功能,所以界面友好,上手快。我结合自己的教学经验,建议选择集成开发环境进行教学,这样会使Java的教学过程更便利、更有效。

3.3实验环节的设计。

Java程序设计是一门实践性很强的课程[2],通过上机学生可以掌握教学中的重点和难点,因此在教学过程中,要注重实验内容与教学内容的配套,建议选取有配套练习的教材。可以根据课堂内容提前布置实验内容,以便学生及时预习并进行编程,设计测试用例,然后通过上机,输入程序,调试程序,测试程序来检验程序的正确性、完备性、安全性。通过这样一个思考探索的过程,学生可以深刻理解课堂上所讲述的知识点,并且提高分析问题、解决问题的能力。

3.4作业环节的设计。

除了每周布置的课堂作业外,在一章节的知识点讲完后,应安排一次综合作业,以考查学生对这章知识点的掌握情况,同时对学生集中犯错的题目应在课堂上进行讲解分析,这种阶段性的作业方式有助于学生对本章知识加深理解,从而更好地投入到下一章的学习之中。此外,在后期的学习中,可以适当安排课程设计。学生自由组合,3―5人一组,完成一个小系统的开发[3]。例如选择酒店管理系统、学生信息管理系统等进行开发,这可让学生理解程序整体开发和运行过程,学会如何将课本知识应用到实际问题中,真正做到学以致用。同时通过开发过程,学生能享受到知识带来的力量,同时也能学会如何进行团队协作。

4.教学方法的探索

4.1上好第一堂课。

在组织授课过程中,课程第一堂课的重要性不言而喻。Java程序设计的教学也一样,教师需要在开始培养学生对程序设计的兴趣和热情,例如:可以在讲JDK环境的时候,给学生演示JDK中demo目录中的Java2D程序;可以给出一些Java小游戏让学生认识Java的魅力。此外,给学生展示一些文字、图像、动画等多媒体信息,有利于激发学生学习这门课程的积极性。

4.2采用多媒体手段教学。

根据Java课程的特点,教师应充分利用现代化的多媒体教学方式[4],利用大屏幕投影进行直观教学,采用演示+操作+讲解(即边讲边练)授课方法进行教授,这样可以提高教学的效率和学生的积极性。同时可以利用BBS、E-mail等方式使学生和教师、学生和学生之间能进行交互,从而使学生更好地吸收知识,有利于激发学习兴趣形成学习动机。此外,多媒体所提供外部刺激有利于学生对知识的获取与保持,获得较好的教学效果。

4.3采用案例教学,侧重启发编程思想。

无论学习哪一种编程语言,最重要的是掌握其编程思想,这样才能举一反三,而不是对编程死记硬背。正如英语之类的语言学习需要培养语感一样,学习程序设计是也要培养学生对编程的感觉,但是这个感觉是在反复的实践、观察、分析、比较、总结中潜移默化积累的。因此学生平时要多结合实际问题编程,而在Java程序设计课堂教学中要多采用案例教学方法[5],对每一个单一知识点进行教学。选取的案例都尽可能小而精,针对特定问题。例如在讲授继承、封装、多态等的概念时,可以要求学生将实例(如图书馆管理系统)中所涉及的各个类文件(书目、书籍、预订、借阅、节约人、系统管理员、图书馆管理员等)创建出来,然后和实例中实际创建的类文件对比,从而加强对类和对象这一知识点的理解。通过小型案例讲解独立知识点,不仅能帮助学生巩固已学的知识,而且能帮助学生提高自学能力和设计能力,强化案例教学的效果。

4.4多动手,多创新。

很多学生在学Java时反映在课堂上老师在讲解时是听明白的,下课后再看就忘了是怎么回事了。要进行实际编程时就是看书,找类似的程序模仿,然后匆匆上交任务完事,而不愿意敲键盘,将所写程序上机进行测试。这种习惯是很不好的,一方面,学生课后应该多看书,掌握基本概念,多阅读一些优秀的程序源码[6],这对自我提高、开阔视野非常重要。另一方面,在初始写程序时可以试着去模仿,但是一定要动手将程序代码敲入电脑,即使有时候你对所敲的代码不太明白,也可以先运行,看看结果,增加感性认识,然后上升到理性的认识,逐渐培养出编程的感觉。在日积月累中要思考创新,要尝试一题多解,并且善于提出自己的问题和观点。

5.结语

Java程序设计对培养学生的计算机应用能力起着非常重要的作用,我针对Java程序设计课程教学,总结了目前在教学过程中常见的一些问题,同时对教学内容和教学方法进行了探索,给出了一些具体可行的措施。教学实践证明,教学这些措施都是可行和有效的。在信息技术高速发展的今天,从事程序设计课程教学的教师要与时俱进,改进和完善教学内容和教学方法,以培养出高素质的创新型IT人才。

参考文献:

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

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

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

上一篇: 小学生法律论文 下一篇: 银行从业资格考试
相关精选
相关期刊