java程序员实习总结范文

时间:2023-10-18 16:32:29

java程序员实习总结

java程序员实习总结篇1

关键词:Java,行业工具,网络应用,案例教学

 

1.Java是一种行业、职业、专业标记

几乎所有的电类专业和与it行业有关的专业都会选择Java作为在校学生和职业应聘人员的基本要求,这与Java程序的特点有关,在Java程序的诸多特点中,简单、面向对象、安全、与平台无关4项是尤为重要的特点。

l简单

Java最初是为对家用电器进行集成控制而设计的一种语言,因此它简单明了。Java语言的简单性主要体现在三个方面:

1、Java的风格类似于C++,因而C++程序员改学Java语言,会感到很熟悉。从某种意义上讲,Java语言是C及C++语言的一个变种,因此,C++程序员可以很快地掌握Java编程技术。

2、Java摒弃了C++中容易引发程序错误的一些特性,如指针、结构、枚举以及内存管理等。

3、Java提供了丰富的类库,可以帮助我们很方便的开发Java程序。

l面向对象的

面向对象可以说是Java最重要的特性,所以它支持继承、重载、多态等面向对象的特性。Java语言的设计是完全面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。

l安全

Java的安全性可从两个方面得到保证。一方面,在Java语言里,删除了指针和释放内存等C++功能网络应用,避免了非法内存操作。另一方面,通过Java的安全体系架构来确保Java代码的安全性。当我们从网上下载Java代码在本地执行时,Java的安全架构能确保恶意的代码不能随意访问我们本地计算机的资源,例如:删除文件,访问本地网络资源等操作都是被禁止的。

l与平台无关

Java作为一种网络语言,其源代码被编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。Java源程序被编译成一种与机器无关的字节码格式,在Java虚拟机上运行。

正是由于Java的特点形成了从移动通信行业到与网络有关的各行业如网管、网络游戏、网络银行等诸多职业把Java作为从业人员的必要条件。在物联网的基础信息植入中Java更是成为不可替代的信息语言。由此可见,研究Java教学方法,使受教育者能够最有效率获得Java在职业(行业)岗位上的基本要求是必要的。

2.Java程序设计教学现状

在过去6年中,笔者几乎同时在研究型本科计算机专业、业余教育(夜大电器自动化专业)、高等职业学院计算机应用专业(3种不同学生层次)进行Java程序设计教学,对于3种不同层次的教学对象,从教学大纲的制定到实施实际贯穿了一条由精到简,由深到浅的演变,也就到是说本科学生课时少一点,要求高一点,(例如教学时数32,含上机、实验4学时)夜大学生(业余教学)教学时数多一点,考试要求低一点(例如教学时数51,含上机、实验8学时),高职学生教学时数再多一点,考试要求比夜大学生再低一点(例如教学时数56,含上机、实验28学时)3种不同层次教学对象教学内容基本相同,只是深入程度不同,例如本科学生要求掌握类的继承和多线程的编程,夜大学生多线程编程不讲了,对高职学生的授课会把许多时间用在语法、语义、变量等常识性问题的讲解上。从教学大纲看,不同层次学生的教学内容、教学方案不尽相同,但不同层次教学对象本质上是采用了同一教育体系。在教学内容中都从Java 的语义、变量、表达式、程序结构讲到类、对象。教学评价标准是一张考卷作为评价依据。笔者曾阅读过不少兄弟院校的Java考卷,基本上都有这样一些内容组成:变量的合法性判断,表达式(含逻辑)的值、读程序写结果、程序填空、编程(一般只有一题)。卷面的难易程度作为被考核学生的不同学历层次的区别网络应用,也就是说本科生、夜大学生、高职学生Java考试方法和内容也是一样的,只是难易程度的不同。

从Java教学现状分析,可以得到结论:当前的Java课堂教育的内容是程序设计“语言”(语种)的分析,Java课堂教育的考核目标是一纸考卷,并不把Java作为一种具有行业、职业、专业标记的工具。教学大纲的制定缺少了把Java作为专业工具在应用中发挥作用这一评价环节。

3.改革Java考核和评分标准

有鉴于对Java作为一种行业、职业、专业标记的工具的认识,2010年的2个学期笔者试行在夜大和高职的Java考试中实行可以由“Java作品(Java综合作业)”取代卷面考试方案。学生可以选择递交Java作品+作品报告+答辩的方案作为Java程序设计课程的考试成绩,Java作品的要求是:所提供的Java代码经安装或执行可以实现某一应用功能,例如P2P文件传送、白板功能等。作品报告描述Java作品的功能和安装要求,答辩的目的是鉴别学生的自主学习能力。这样的考试方式的改革已经引起了学生的关注,把Java学习的目标与一自己选定的应用或教师提出的应用联系在一起,改变了教师课本宣讲,学生被动学习,应付考试的局面。现在学生在期中就已经选定了一项由Java产生的应用作为考试的作品,教师也会把各种Java应用实例提供学生参考。

这其实也是一种让学生决定考试内容的方式,这一考试方式使得学生的学习目标清楚了,学习的主动性提高了,学生会根据Java作品的各知识点在书本、网络、教室讨论中学习,准备答辩。

Java作品+作品报告+答辩的考试方案得到了夜大2009级电器自动化专业学生15%的响应,从递交的作品、作品报告和逐个答辩的情况看都超出预期要求,例如,有一学生设计的聊天工具在作品报告中关于功能叙述:

此聊天室采用java applet技术,基于c/s结构,通过socket连接的的聊天室工具。最多允许10个客户端同时在线聊天。最多每次输入30个字符,分为与所有人聊天和单密功能,实现在线好友间交流成为可能!

另外一学生的作品功能叙述:

Filetrans是一个提供2台机器P2P多线程传输,并且支持断点续传的文件传输工具。他使用简便,只要知道对方接受机器的IP地址,并且发送与接收方同时将工具打开的状态下就能进行文件的传输。

使用方法:2台机器打开软件,发送方点击发送文件,设置接受方的IP地址、端口号、所要传送文件再本机的地址、以及留言网络应用,点击确定后,接受方的客户端会受到接受请求,点击接受后就能进行文件的传输。

传输端口号、传输的线程数可以在设置中进行设置。

作品报告中的功能叙述、模块流程都十分规范,答辩时对Java的类、方法的应用都达到或超出教材的要求,夜大学生根据自己所从事的工作表现了专业素质还应该成为教师的学习方向。

4.有待研究的方面

Java作品+作品报告+答辩的考试方案仅仅是作为Java教学研究中的一项内容,有成功和可以总结的方面,但教学大纲如何体现这一改革还有许多基础功课需要研究。

Java作品+作品报告+答辩的考试方案与考卷考试比较存在“客观评价”和“主观评价”的区别如何使答辩时的教师“主观评价”体现公平?

现在都是大班教学,如果全部学生都通过讲评、答辩评定成绩,任课教师是否能胜任?

高职学生鉴于原有的学习能力比较薄弱,作品的选材、作品报告的形成是否应该专门予以辅导,高职学生是顶岗型人才,是否高职的课程体系应该从顶岗型出发研究新的适合高职的Java课程和课程评价方法,例如在高职教学中把“职业资格和等级证书”的获得作为教学目标。

总之,Java是一种工具,一种有行业、专业特征的工具,Java 教学应该体现应用。Java教学研究任重而道远。

 

java程序员实习总结篇2

关键词:JAVA程序设计;问题引导;项目驱动;小组协作

程序对计算机的重要性决定了程序设计在计算机学科体系中的核心地位,使得计算机专业本科生必须学习程序设计语言、掌握程序设计方法、培养程序设计能力。程序设计是有形表达抽象思维的方法,其中贯穿阅读、分析、思考、判断、表达、工具使用、综合创新等多项技能,对计算机专业人才的培养至关重要。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)任务实施。

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

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

③加入竞争激励机制:指导教师适当加入一些竞争激励机制,如评比“最有效率小组”“最高质量小组”“和谐团队”和“精英团队”等,使组内出现互动、互勉、互相促进的局面,充分调动学生的参与激情。

4、结语

java程序员实习总结篇3

关键词:过渡;项目;SIGTS

中图分类号:G434文献标识码:A 文章编号:1009-3044(2007)15-30868-01

The Tray Discussion on Java Programming Education Reform

LU Ping

(Suzhou Institute of Trade&CommerceInformation Department,Suzhou 215009,China)

Abstract: At present, many high schools' programming courses have made arrangement for Java teaching, but some questions may occur in the instruction process: the content is too much, the class is insufficient and the student's programming ability is weak and so on. Based on many years' Java teaching experience, the author advances a Java education reform scheme: using project to urge learning, giving first place to practices, making instruction subsidiary. The reform emphasis on Java instruction attention transited from the former courses, and proposes project instruction based on SIGTS. The practices prove that students' initiative and programming ability are both improved after the reform, which make it more adaptive to the corporation's needs.

Key words:transit;project; SIGTS

1 引言

在信息技术高速发展的21世纪,对于计算机专业程序设计课程的设置,各个高校都有所不同,但大多学校都选择了先开结构化程序设计语言课程,如C、Pascal语言;在这基础上再开设面向对象的程序设计语言,如C++、Java语言。进入网络时代后,Java语言跟网络紧密结合的特性使之大放异彩。因此,许多高校在程序设计课程上都把Java程序设计作为核心课程。在教学的过程中,很多带Java课的教师都会碰到一个问题:Java知识点太多、涉及面太广但课时量却相对较少。

如何较合理地进行Java教学,使得学生掌握更多知识、更全面地提高Java语言的程序设计能力,是每个Java课教师应该思考的问题。笔者所在的高校是高职高专性质的学校,对于高职高专学生而言,教学的重点是培养他们的实践动手能力,提高他们的职业技能,以使他们在工作岗位上能更快的适应。经过多年的Java教学,笔者大胆地提出一种“项目促学、实践为主、讲授为辅”的教学改革方案。

2 从C语言到Java语言的过渡

以往几届学习过Java程序设计的学生都反映在学校里掌握的Java编程能力,在实现一个完整的系统或到公司面试时都太显微薄,有心无力。这反映了Java课程教师并没有很好地将系统、项目的概念融入其中。

而对于强调技能的高职院校,需要学生比本科院校的学生更牢固地掌握实践、动手技能,而不是一个一个独立的知识点。这一现象提醒笔者,Java语言的教学不同于C语言教学,绝不仅仅是简单的按教科书顺序一个个知识点、一章章地讲授,应该以实践为主,切实提高学生的编程技能。

由于笔者所在院校的计算机专业都把C语言作为Java语言的前期课程,而C语言和Java语言是同一语系,很多语法、定义等都很类似。因此,在教学过程中,提倡学生自学Java语言基础、流程控制语句、数组等知识点。在此基础上,Java课程教师只需要设计一些程序实例,分别用Java语言和C语言实现,再对照两段程序,把其中的不同点一一说明,提醒学生应该注意的地方。这样的教学方式就能使学生更快、更好地掌握Java的基础部分知识。

Java的教学可以从面向对象的概念真正开始,采用类比法介绍面向对象编程中的专业词汇:对象、类、事件、封装、继承、多态等。这一章节的知识点应以教师讲授为主,辅以恰当的程序实例使学生掌握面向对象程序设计的编程模式。

3 基于SIGTS的项目教学

在Java课程设计书籍普天盖地的同时,如何选择其中合适的项目,让同学们参与其中,是基于SIGTS项目教学首先要考虑的问题。Java知识点侧重面各不相同,因此项目也可粗略地分为以下几类:

(1)基于图形、图像与多媒体的系统开发;

(2)基于JSP的网络应用;

(3)现在很流行的游戏开发等等。

同学们对不同类型系统开发的兴趣不同,教师应根据同学们的兴趣来选择适当类型的项目。另一方面,每个学生的学习水平、精神和意志也不同。教师在选择项目时,应选择一些难度适中,即可以让同学们不至于“望项目而却步”,又能在做完后,编程技能有很大提高的项目。

在调查学生兴趣、学习基础和编程能力的基础上,删选出若干个合适的项目,并向学生介绍每个项目的功能、技术要点、总体设计思想、系统模块结构图等。

介绍完项目之后,同学们根据自己的兴趣,选择某一项目,根据项目进行分组。在分组这一过程中,若出现项目人数相差太多,教师可以给予适当的调整,以确保每个项目的参与人数大体相当。在每个项目组中,教师还需根据学生学习能力、编程基础和协调能力的不同,指定一个学生为项目组长。项目组长再对本项目组的内部人员进行任务的分配、进度的制定,并需要负责主要技术问题的解决。项目组内人员需要相互协作,共同完成一个完整的系统。

在学生进行项目开发的过程中,必然会碰到许多问题。对于共性的问题,指导老师应该以讲授的方式给每个项目组成员解答。对于每个项目组内部的具体问题,鼓励学生利用网络资源,自己想办法解决。而对于其中确实有难度、学生不容易理解的问题,指导老师应该详细告知,给出一个较通俗易懂的解决方案。

系统功能基本实现后,指导老师根据项目组成员平时表现、系统实现的具体功能、代码复杂度、界面美观性等给每个学生打分。同时,指导老师可以进一步要求每个学生就自己所完成的设计和编写的代码撰写实验总结报告。

至此为止,学生在基于SIGTS,即Select(选择)、Introduction(介绍)、Group&Coorperation(分组协作)、Tutor(辅导)、Sum-up(总结)的五步项目教学法中逐步掌握了过硬的项目开发技能。

4 改革前后学生素质技能比较

笔者对最近二届学生进行了“项目促学、实践为主、讲授为辅”的教学改革实验。与前几届采用传统教学法授课的学生的所掌握的编程技能、知识点、学习积极性等方面都有很大的提高。具体的比较数据如下表所示:

表1 两种教学方法下数据比较表

从表1中可以看出,实现项目教学以来,由于项目涉及的是一个个具体的实际应用而不同于在传统教学中经常涉及的是用程序解一个数学问题,同学们的学习主动性明显提高;具体的应用问题,解决方法也不同,而不像在传统教学方中,通常由书本上或任课老师告诉学生应该怎样做,学生的创造性也不断提高。在项目驱动的教学中,每个实际生活中的对象都会映射到Java语言中具体的类,因此,同学们面向对象的概念也在项目实践中明显增强;在传统的教学中,由于教学很大部分时间都会介绍算法、从表中也可以看出虽然同学们在学习算法过程中,会涉及到较多的程序,但这些程序算法都是前续课程,如C语言中讲授过的知识。更重要的是企业看重的是学生掌握的具体的实践项目经验。

基于项目教学以来,虽然因减少授课时间,授课教师布置的小题目、小程序变少了很多,但是同学们能真正涉及到具体的项目,参与整个项目开发过程。自然而然地,这批同学在参加企业面试时,由于有具体的实践经验,参与甚至负责过若干个实际项目,技能都受到肯定,面试通过率也大大提高。这正是与高职学校的培养目标完全一致的。

5 总结

在Java 程序设计教学中,应注意和前续课程的联系,减少不必要的教学课时,在前续课程的基础上进行教学。基于SIGTS的项目教学,改进了传统教学中就题讲题、“只见树木,不见森林”的教学方式,大大提高了学生的积极性和主动性,锻炼了学生的实际项目开发经验,并且增强了学生的自学能力。

学生在项目开发的过程中,预先体验到了从事软件开发过程中的团队协作、独立解决问题等职业要求。本文提出的教学方法在Java程序设计教学中,已经取得了一定的成效。但是,在项目过程中也出现了项目成员任务分配不当等情况,还有待进一步改善。

参考文献:

[1]章国蓉.Java语言程序设计基础实训项目之我见[J].深圳信息职业技术学院学报,2005,3(4): 61-64.

[2]任侠.Java语言程序设计教学改革探讨[J].电脑知识与技术,2007,(1):1430-1431.

[3]孙伟.Java程序设计课程的教学改革与实践[J].计算机时代,2005,(11):84-86.

[4]葛彦强,汪向征.基于项目的Java程序设计教学改革初探讨[J].中国科技信息,2006,(24).

java程序员实习总结篇4

关键词:实验模式 面向对象 实施模式 多语种教学模式

文章编号:1672-5913(2011)18-0078-03 中图分类号:G642 文献标识码:A

教学语言必须是工业界的主流语言,否则学生学非所用。迅速地开发具有实际用途的程序,有助于激发和保持学生的兴趣。目前,国内外很多高校已经将Java列为教学语言。然而,面对Java日益庞大的体系结构以及Java技术的飞速发展,如何在有限的学时内有效地开展教学很值得研究。

为了提高学生利用Java解决实际问题的能力和在就业市场中的竞争力,我们利用5年时间,在精心研究国内外Java程序设计课程实验的教学模式的前提下,结合新疆地区汉族、民族和民考汉学生的实际情况,总结出了一套比较适合于不同层次、不同民族学生的Java实验教学模式,并将其逐步应用于不同班级的实验教学中,获得了可喜的研究成果。

我们的主要研究成果为撑托Java实践教学各个环节的一整套实验教学材料:Java语言程序设计实验指导书(验证性+设计性);Java实验教学大纲(验证性、设计性);Java语言程序设计习题集;期末上机测试编程题目;民汉双语实验教学网站。指导教材的内容设置以逐步培养学生解决一般问题的能力为前提,以提高学生解决综合问题的能力为最终目的。

1 研究的基本内容

1.1 认真编排实验内容

考虑到我院是在大四第一学期开设Java课,如

何编排实验内容值得研究。先做基础实验,是一种循序渐进的方式,但比较老套,学生在已经具备其他语言学习经历的前提下,比较容易失去学习动力。先编图形用户界面的程序的做法从GUI和applet开始,似乎能够引起学生的兴趣,但这需要学生具备牢固的面向对象程序设计方面的知识,并要求学生对Java事件处理模式有很好的理解,所以学生可能不太容易完全接受。必须有针对性地选择实验内容,对Java的基础知识和高级应用有一个折中处理是我们编排指导书时的一个出发点。一方面,使得学生能够掌握必要的基础知识,为以后的进一步学习打下扎实的基础;另一方面,由于其涉及部分高级知识,为开发实用程序提供可能。

指导书包含了大量的图示主要用于说明程序输出结果,学生可以通过这些图示,更充分理解实验目的。本书还包含了大量的表格主要用于说明每次实验中要用到的类以及消息功能,主要用于解决教材书中这方面的不足以及指引学生尽早入门,少走弯路。

从第1个实验开始就让学生接触到了类和对象的概念[1]。实验中将类和对象的实验移到前面的目的:使学生最初就能够思考类和对象,弄清类和对象的实质区别,有助于更彻底的掌握类和对象的概念。从第一个实验到第四个实验学生学习的是Java集成开发环境自身提供的类的使用方法。其中,实验1至实验4主要涉及到学生必须掌握的Java基础知识。通过实验,学生可以掌握Java应用程序与小应用程序在结构和运行方式上的区别;学习并掌握系统自身提供的常用类及消息的功能以及其使用方法;基本控制流语句的掌握;基本绘图方法的掌握。为后面的实验打基础,前面的4个实验中用到图形类(Graphics)、栈类(Stack类)、字符串类(String类)、日期类(Date类)和键盘输入类(Scanner类),以及基本的流程控制语句。学生掌握如何定义现有类的对象并使用其提供的API后,从第5个实验开始就可以编写自定义类了,并在后续的实验中继续使用这些自定义类,完成更复杂的功能。

实验内容的编排遵循了由浅入深、循序渐进、由简到繁的原则,符合学生学习心理承受力。通过编排内容连贯的实验和有趣的绘图实验,学生可以掌握比较难于掌握的Java的自定义类,类的实例对象、类的重用性等重要概念。如:从实验5开始,通过编排内容连贯有趣的绘图实验,要求学生从编写可绘制窗户、门、房子等自定义类开始,要求学生利用类的代码重用性,让学生定义窗户类,门类的多个实例对象来构造有多个窗户和门的一栋房子以及绘制位置不同的几栋房子。让学生在实验中切身体会一个复杂的对象其实是由很多独立的小对象堆砌出来的道理。在后续的实验中通过让门、窗户和房子类继承同一个抽象类的方式,让学生在程序设计的过程中切身体会多态、抽象性等很重要但比较难理解的概念。这些概念的正确利用往往使得程序更接近于面向对象程序设计风格和理念。通过实验7学生可以掌握Java的事件处理机制、图形用户界面的设计、多种布局管理器的使用,并为实验8做准备。在实验8中通过增加按钮组件,要求学生实现通过按钮绘制房体,门和窗户的程序,让学生更加深入学习Java的事件处理机制、图形用户界面的设计、布局管理器的使用以及向量Vector类的使用。通过实验9和实验10掌握从文本文件加载数据――加工处理――输出到文本文件的方法和步骤。进一步说,通过实验9和10学生可以掌握从文本文件加载数据到Vector或数组等临时储存空间,然后经过加工处理后将结果输出到文本文件的方法和技术。

1.2 重视编程技巧与风格的培养

掌握标准的设计模式,可以避免重复设计或尽可能少做重复设计,极大地提高软件的可复用性和灵活性,从而大大提高软件开发效率。考虑到大部分学生基础不牢,对面向对象的程序设计的理解薄弱,处理细节和矛盾的能力不足,缺少自主分析问题、解决问题的知识、能力和经验,因此在Java实践教学中通过提供程序框架,让学生填补实现代码的方法。程序框架中提供相应类和各个类中接口的定义和各个接口应具备的功能说明,使得学生从用户的角度对要实现的项目产生直观的认识,再让学生自己完成具体实现。这种让学生先当用户,体会用户的需求,然后再当设计者的方案不仅培养了学生独立解决问题的能力,也使其学习了Java框架中优秀的编程技巧与风格。

1.3 设计大作业,强化实践环节

在课程后期,学生有了一定的Java编程基础,欠缺的主要是实际的开发经验和全面系统、深入的应用所掌握的Java技术。解决的方法就是通过真实项目练习,对所学知识进行深化,然后通过项目来获取实际开发的经验,尽快达到实际要求。

在设计性实验中有在线购物网站、图书管理系统、桌面纸牌游戏和网络魔方游戏。考虑到大部分民汉学生对项目的规划和设计还比较生疏,为了灌输面向对象程序设计的核心思想及正确的编程方法,采取了“老师提供系统框架,学生填补实现代码”的科学的实事求是的编程方法,使得学生在做大作业时能够在有限的10个学时内,按时完成课程设计任务并掌握面向对象的程序设计的基本理念。在设计性实验中,为了使得学生充分了解自己的进展,我们规定了每一个学时中应完成的内容,并且不厌其烦地把每一个大作业都分成了几大类,给出了各个类中应该实现的方法,并且用伪代码(汉语)为每个类以及其中的方法的功能进行了详细的阐述,要求学生编写相应代码。这种做法在现存的Java实验指导书中是少见的,但较符合我院学生的现状,也较值得推广。

1.4 推进评价环节的改革

一门课程的教学效果决定了该门课程的成功与否。除了对教学环节和实践环节的充分重视,评价环节亦会显著地影响教学效果。学生的评价主要由五部分构成:上机实验成绩+课程设计成绩+期末上机编程测试成绩+上机考勤+期末笔试成绩。这种通过不同环节评价学生的方式,能够督促学生重视并参与所有教学过程。更加客观地反映出学生的学习效果,对学生的评价也更加科学。

期末上机测试时为防止学生之间相互抄袭,测试题目尽量做到让每个学生完成不同的题目。这种测试方法尽管使得老师出题目比较辛苦,但可以确保对每个学生的真实水平给出正确评价。期末上机测试编程题目要求中给出了程序的框架以及运行结果图表和详尽的要求说明,题目的编排尽量让学生将平时所学知识充分挖掘出来,发挥其真实的编程水平。

1.5 形成完整的实验教学辅助环节

为了使学生能够尽快完成实验内容,完成了民汉实验教学网站建设,实验教学网站的内容丰富、操作方便,把工作重点放到了网站内容的建设上。网站中集成了与Java课程教学、实验教学有关的所有资料。包括每一个实验的标准源代码,学生可以在后期的实验中看到前期实验的代码,并从中找出自己的不足,逐步积累编程经验,还提供了很多的超链接,使学生能够很快找到常用类及其消息的格式和功能说明(对指导书中类的拓展),可以成为学生学习、巩固和拓展Java常用类及其方法的得力助手。我们还将每个实验的字节码文件嵌入到网站中,让学生直接观察实验结果,通过对实验结果的动态操作,使得学生从感性上更明确实验目的和实验要求,引发学生编程兴趣。

2 实验成果

2.1 填充式实验模式

在设计性实验中,考虑到大部分学生对面向对象程序设计方法比较生疏,为了使学生尽快掌握面向对象程序设计的核心思想及正确的编程方法,采取了“老师提供系统框架,学生填补实现代码”的科学的实事求是的编程方法。这一实验模式在现有的Java指导书中很少见,实践证明该方法可以使学生尽早上路,少走弯路,轻松地掌握面向对象的程序设计的基本编程规范,并保证按时完成课程设计任务。

2.2 培养团队合作精神

软件开发是一个团队协作[2]、共同设计的过程。在设计性实验的实施过程中,为了培养学生的团队合作精神,根据设计题目的要求,把学生分成组,根据

自己的兴趣和特长进行分工,在完成所选择设计题目的同时,学会团队成员的协作。

在设计性实验的实施过程中,我们为了培养学生的团队合作精神,要求学生根据自己的兴趣和爱好自由选择设计题目[3]。一般情况下,每个班级会分成4个项目小组。然后根据学生平时实验成绩指定4个项目组长来组织和管理各个项目小组。组长主要承担小组人员的任务分配、组织组员进行讨论以及最后要提交的系统的测试和集成任务。开发过程中学生遇到问题时,由组长组织组员进行讨论,大家共同解决设计中遇到的种种问题,实在解决不了的方可要求指导老师的帮助。由于每组设计性实验的框架和每个类中要实现的API接口和系统的测试要求在指导书中说明的都很清楚,可以确保每个同学都可以分到不同的设计任务,并且对所要完成的任务在一开始就基本清楚。看着学生在设计性实验的设计阶段中所付出的努力和在系统测试成功时如获至宝的喜悦,心中总是为他们感到无比骄傲和自豪。分组实验也可以带动编程能力不太强的同学,因为在他们遇到困难时团队队员之间的相互帮助和鼓励,给予他们力量和完成任务的信心。

2.3 用多语言进行教学

针对不同学生需求,采用多语言进行教学,在他们掌握Java的同时,培养汉语言学生使用外文资料的能力,提高民族学生通过汉语能够较深层次地真正理解比较抽象的概念,又在恰当时机采用维语对难以理解的专业概念进行解释。

3 应用及总结

Java语言程序设计性实验指导书从2005年启用到2011年全面推行以来,学生虽然感到有难度,但通过指导老师的精心指导,大部分同学顺利完成了实验任务,并普遍表示从中学到了很多编程经验与编程思想。该Java实验指导书将会继续应用于以后的Java实验教学当中。Java语言程序设计习题集已成为学生进行考前复习的必备材料。Java语言程序设计测试题目已用于每学期的实验测试中,虽然测试题目有一定的难度,但学生普遍反映这些题目一定程度的训练了他们的逻辑思维能力和编程能力。Java语言教学网站到学院局域网供学生上机时使用,每堂课每个学生的平均点击率不下5次。2008年验收成果时,评审专家们对指导书给予了充分肯定和高度评价。下一步计划正式出版该书,Java实验教学网站也将会到教务处提供的网络教学综合平台供学生使用,我们还打算申请校级精品课程进一步充实和完善Java实验教学材料和实验网站的建设。

总之,教师要按照本课程的实际教学特点,实验中注重学生能力的培养、而不是简单的知识记忆,精心组织教学每个环节。实践证明这种设计性实验的教学方式受到了学生的欢迎和支持。

参考文献:

[1] 王逢州. Java语言程序设计的教学研究与改革[J]. 电脑知识与技术,2010,6(35):10072-10074.

[2] 汤志忠. 清华“计算机专业实践”课程的创新与实践[J]. 计算机教育,2006(7):7-9.

[3] 李颖. Java程序设计语言教学改革的探索与实践[J]. 中国新技术新产品,2010(1):238.

Research on the Application of Java Experimental Teaching Mode

Minawaer•NULAHEMAITI, Mayila•BIEKEQIANGTAYIWA

(Computing and Information Engineering Institute, Xinjiang Agricultural University, Urumqi 830052, China)

Abstract: The students in the colleges of Xinjiang province existing multiple issues that with different nationalities, unequal basic theory educational levels, and different teaching languages at primary and middle school. How to ensure the different level students can get to the uniform teaching goal are serious challenges for the teachers to design a reasonable teaching mode that suit to different needs. The paper mainly illustrates the researching results on experimental teaching and implementation mode of Java programming language.

java程序员实习总结篇5

关键词:Java虚拟机;研究;信息技术;问题;计算机

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)09-0074-02

随着科学技术的不断进步,计算机网络化的普及度也越来越高,同时也促进了我国网络科技公司的发展。在目前来说,Java虚拟机技术已经成为未来网络科技研究的重点方向。Java虚拟机技术主要采用C语言和C++进行程序编写,Java虚拟机语言比Windows程序相对简单,同时对于信息数据的处理速度比较快,在执行代码进行相关操作过程中稳定性和安全性比较高。正是基于Java虚拟机技术的具有这些优点,使得Java虚拟机技术也受到越来越多的关注和重视。目前,基于Java技术的产品越来越多,不仅在工业生产中会经常使用,其次在人们的日常生活中,也会经常使用带有Java技术的产品,因此Java虚拟机技术在未来的发展前景非常广阔,这也对于我们现在的Java虚拟机研究人员提出了更高挑战,因此,笔者本文将从Java虚拟机技术的应用,以及Java虚拟机技术存在的问题出发,并且对Java虚拟机技术提出了改进措施,希望提高我国Java虚拟及技术的发展。

1 Java虚拟机技术简介

Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性等特点,其广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。Java由四方面组成:Java编程语言,即语法。Java文件格式,即各种文件夹、文件的后缀。Java虚拟机(JVM),即处理*.class文件的解释器。Java应用程序接口(Java API)。

当前,对Windows系统所运用的虚拟机主要为处理运算速度,在逻辑结构中添加了ACCESS数据库“宏”的处理运算模式,利用二叉树的模型结构对数据进行筛选,最后得出运算结果。嵌入式编程应用平台以及智能卡算术处理平台便是Java虚拟机的实际应用部分运行时,数据区以及执行运行环境中的寄存器,用于保持局部变量的有效性。

2 Java虚拟机技术在实践中的应用

随着计算机技术的不断发展,在现实生活中也得到了极大地普及和应用,而随着Java虚拟技术的不断成熟,应用Java虚拟机技术的产品也越来越多,下面笔者主要介绍几种Java虚拟机技术的应用。

2.1 在安卓系统中的应用

当前世界上主流的两大手机操作系统是苹果的iOS系统以及谷歌的安卓系统,在安卓系统中,Java技术的比较长使用的一种技术,Android系统是一个基于Linux核心的开放的操作系统,安卓系统是在采用Linux 核心的基础上,提供了各种函数库,以及一个完整的应用程序框架。它提供Google 自制的应用程序运行环境(Dalvik),并提供基于Eclipse 集成开发环境的免费、跨平台(windows、Mac、Linux)开发工具(SDK),这使得开发人员很容易在Android 平台上开发各种应用。

2.2 家用电器中的应用

随着科技的发展,在人们的日常生活中,经常会使用带有Java技术的产品,比如在家庭中的电视机机顶盒中,有些商家的机顶盒会带有Java技术,因为智能家电会带给人们不同的享受,满足人们对于科技的需求,同时也极大地提高了人们的生活质量,另外在全自动洗衣机中也会带有Java技术。

2.3 基于web交互式网站的应用

随着电子商务的不断发展和普及,企业信息系统成为企业最关注的问题,enterpriseedition包含了足以代替cgi的servlet/jsp;适于开发复杂商务应用以及分布式组件的ejb;访问目录服务所需的jndi (java naming and directory interface);支持分布式事务的jts(java transaction service)等。这些都是开发电子商务应用和企业信息系统所必须的,同时又大大简化了开发这类应用时,已经有不少网站使用java来开发,也有一些企业选择java来开发他们内部的信息系统。

3 Java虚拟机技术研究与应用存在的问题

Java虽然是目前比较热门的计算机网络技术,但是与Windows技术相比,Java虚拟机技术的发展历程较短,在研究与应用方面还存在一些问题,笔者下面将重点总结这些问题。

3.1 Java的语言编写并不完美

Java虚拟机技术主要使用C以及C++进行语言编写,虽然做起来相比于Windows来说较为简单和方便,但是有些工程师在编写语言代码是受制于传统Windows的代码,他们并不习惯于原始类型(primitive type)和类(class)的分离,也不习惯使用Java的语言代表进行程序编写。并且部分技术人员认为Java的语言代码编写起来更加繁琐和冗长,Java的语言代表其实是一种继承性的语言代码,这也导致了Java的语言编写不适用于目前大多数的程序师,在完美性上还存在一些问题。

3.2 Java的硬件结构存在问题

Java是目前相对来说比较安全、操作又简单的一种计算机虚拟技术,因此受到人们的广泛关注,但是Java线性结构为了提高Java的安全性,设计师们在Java的框架结构中直接删除了硬件架构与存储器地址访问的直接访问,虽然这么做一方面可以提高Java虚拟机安全性,但是这对于Java虚拟机的硬件架构以及线性结构会必然存在一定问题,比如如果需要间接调用这些底层功能的话,就需要使用JNI(Java本地接口)来调用本地代码。而间接访问意味着频繁调用这些特性时性能损失会比较大。

3.3 Java虚拟机技术的应用范围比较狭窄

虽然Java虚拟机技术的发展历程已经过了20多年,但是在目前看来,Java虚拟机的应用范围还是比较狭窄,这也导致了Java未来的发展空间收到了限制。目前Java主要应用领域就是嵌入式设备、移动通讯设备、手持式设备中的软件;其次是基于web的交互式网站应用以及电子商务应用和企业信息等系统;再次,就是应用于人们日常生活中的家电设备中,因此我们不难看出,Java虚拟机技术的应用领域还是相对狭窄的。

4 Java虚拟机技术研究与应用的改进措施

通过上文我们已经了解了Java虚拟机技术研究与应用在目前出现的一些问题,同时笔者参考国内外众多的文献资料后,下面将重点分析如何提高Java虚拟机技术研究与应用。

4.1 完善Java虚拟机的语言编写

Java的语言编写风格类似于C语言、C++语言风格,但又与之不同,如果要提高Java虚拟机技术的研究与应用,首先就要完善JAVA的语言编写。我们不难看出Java的语言编写继承了C语言的核心,同时又舍弃了C语言容易引起错误的地方,对此,技术人员可以将Java的C语言编写该进程二进制代码编写,因为大多数程序员都是习惯接受Windows的二级制代码编写,这样也可以一定程度上提高Java虚拟机的简便实用性。

4.2 完善Java的硬件结构

Java设计最初的目的就是为大家提供方便、安全的虚拟应用系统,虽然最终Java的安全性得到了提高,但是为此付出了更大的代价。我们可以在提高Java安全性的同时,不必要删除硬件架构与存储器地址访问的直接访问,在不删除的同时可通过技术手段来提高Java的安全性,方便用户的操作。

4.3 扩大Java虚拟机技术的应用范围

在目前来说,Java虚拟机技术的应用范围还比较狭窄,没有在社会生产生活以及人们日常生活中起到无可替代的作用。对于此问题,我们首先要完善Java虚拟机技术的程序编写,完善Java的硬件结构,同时针对企业以及民用来两种不同的Java虚拟机技术,对企业相对复杂的Java虚拟机技术,对于个人用户要相对简单的Java虚拟机技术,进而不断扩大Java虚拟机技术的应用范围。

5 结语

随着科技的不断进步,计算机网络技术的普及与应用,Java虚拟机技术作为当前终端科技,未来的发展前景必将十分广阔。虽然目前看来在研究与应用上还存在问题,但笔者相信,只要通过Java相关设计人员的共同努力,必将促进我国Java虚拟机技术的发展,为人们带来更加安全、简便易用、普及度更高的Java虚拟机技术。同时也希望我国的Java研究开发人员要加强自身的努力,同时也要多学习国外Java虚拟机技术研究的先进经验,为我国Java虚拟机技术发展做出贡献。

参考文献:

[1] 杨博,王鼎兴,郑纬民.一个基于混合并发模型的Java虚拟机[J]. 软件学报,2012(7).

[2] 何凯,刘伟.基于虚拟机的网络管理与维护实验教学探索[J]. 实验技术与管理,2016(1).

[3] 王得发,王丽芳,蒋泽军.云计算环境中虚拟机智能迁移关键技术研究[J]. 计算机测量与控制, 2012(5) .

[4] 郑婷婷,武延军,贺也平.云计算环境下的虚拟机快速克隆技术[J]. 计算机工程与应用,2011(13).

[5]黄广君,普杰信,吴庆涛.嵌入式Java虚拟机实现中的代码优化.河南科技大学学报,2013(1):57-60.

java程序员实习总结篇6

关键词:JAVA 教学分析 措施

中图分类号:G642.4 文献标识码:A 文章编号:1673-9795(2013)05(a)-0148-01

1 JAVA概述

JAVA是一种计算机的编程语言,目前仍然是较为常见的计算机编程语言,具有效率高、覆盖面广、简单易用等特点,不但可以用来进行桌面程序的开发,还可以适用于与互联网应用的开发,在当前具有广泛的应用。JAVA是面向对象的编程语言,在计算机、网络和多线程等技术领域都涉及到JAVA的相关知识,学习JAVA编程语言应经成为软件技术开发相关人才培养的基础。在我国,随着计算机和互联网技术的不但发展,JAVA编程技术人员需求巨大,相关专业的就业前景很好,很多高校都开设了JAVA语言相关课程。

2 当前JAVA教学存在的主要问题

2.1 JAVA课程的认知困境

近年来,高校扩招和民办高校的发展,使得更多的学生进入大学学习,加上激烈的市场竞争和宣传,计算机编程专业成为很多学生心目中理想的学习和就业方向。在这种大趋势下,学习JAVA编程的学生显著增加,但由于很多的学生对JAVA知识并不了解,只是为了获得理想的就业而选择编程,在学习时缺乏主动积极性。JAVA语言作为计算机编程基础知识,需要学习者具有较好的逻辑思维能力、严谨踏实的态度和抽象思维能力。这些较高的要求使得JAVA学习成了很多学生的难点,产生了畏难和认知的偏差。

2.2 JAVA课程设置问题

当前大多数高校的JAVA课程设置,由于学生大多没有相应的基础,因此所设置的课程大多集中在以JAVA SE平台教学为主,包括有面向对象编程方法、JAVA多线程、JAVA界面及事件编程、JAVA数据库连接、网络编程等基础知识。但是这些知识并不能构建完整的JAVA知识体系,学生在学习之后不能了解JAVA与C++等计算机编程语言之间的关系,JAVA语言编程的优越性,并且认为这些知识就可以满足社会对JAVA人才的要求。其次是由于缺乏相应的后续自主学习能力,不能适应JAVA编程技术的新发展,在JAVAEE等新对社会流行编程技术面前感到吃力,学生在完成学习走向社会岗位时,仍然不能满足社会的要求。课程设置的不合理实际上从整体降低了JAVA学习的应有水平。

2.3 JAVA作业和实验设计中的问题

由于JAVA学习的特殊性,其作业和毕业实验设计等需要学生具有良好的自主思考和动手能力,但是在实际的教学中,学生对JAVA的动手实践和综合运用能力较差,不能独立的进行实际问题的解决;毕业设计等过度依赖已有的资料,套用现象严重,不能进行原创;学生在学习期间也没有形成良好的设计习惯,表现出对系统设计和实现的随意性。

2.4 JAVA教学老师的问题

JAVA技术是一门不断深入发展的技术,在当前的计算机网络多个方面有着广泛的运用,高校的JAVA教学老师缺乏长期的一线实践开发经验,不能适应发展的新技术,教学效果不理想。JAVA学习的特殊性要求其必须做好教学与实践之间的结合,对老师的教学内容和方法提出了更高的要求,很多老师并不能有效的实现学生理论知识与实践动手能力之间的协调发展。

3 JAVA的教学设计探讨

3.1 合理的规划教学内容

JAVA知识主要包括有JAVA基础知识、JAVA核心知识和JAVA提高知识三个部分。基础知识要求学生对面向对象的编程、JAVA的语法和异常处理、JAVA的环境等知识进行很好的掌握,是进一步学习JAVA知识的基础。核心知识部分要求学生对面向对象的继承性、封闭性、抽象性和多态性等,并掌握这些特性设计的技术。JAVA提高知识部分是指根据专业方向学习的不同需要,选择多线程、图形处理、数据库处理、网络等内容学习。教学内容的设置,要求学生在掌握基本的JAVA基础知识的基础上,建立面向对象思想、算法设计思想等,为更深入的学习和提高程序设计水平奠定基础。

3.2 案例教学,启发学生的编程思想

JAVA编程语言的学习,重要的是在基础知识学习的基础上实现对其编程思想的掌握,从而真正实现举一反三,能够进行独立的编程开发工作。编程思想的形成,需要在不断的实践观察、分析和思考总结的基础上完成,因此,在教学中采用案例教学,是符合JAVA知识特点的有效手段。采用的案例一定要小而精,符合学生已掌握的JAVA知识,使得学生可以在原有知识体系的基础上通过自我实践和探索,实现对新知识的学习和体系构建,不但可以实现对新知识的有效掌握,还可以实现对自学和设计能力的锻炼。

3.3 运用多媒体教学与传统教学方法相结合

多媒体教学作为新的教学手段,在教学实践中取得了良好的教学效果,在JAVA知识的教学中采用传统教学模式与多媒体教学相结合的形式,可以将多媒体直观、形象和吸引力强等优点充分发挥。老师在教学时以传统方式进行理论知识讲解,以多媒体技术进行实践和案例的讲解,增加理论与实践之间的结合。

3.4 加强实践教学,提高JAVA知识综合运用能力

JAVA程序设计是一门应用为目标的教学,要求学生具有很强的实践动手能力,当前高校的JAVA课程教学,应该在讲解代码、编程调试等基础知识外,还应该加强上机实践的相关内容。可以探索校企结合的教学模式,让学生在企业实际JAVA研发项目的参与中体会需求分析、设计、编写代码和进行测试等各个环节,增加学生的软件开发实践经验和培养专业的职业素质。

3.5 提高教师的专业素质

JAVA知识需要在不断的实践开发项目中进行提升和锻炼,这是当前教学老师所缺乏的。应该尝试建立老师的继续深造和培训实践制度,如定期参加合作单位的企业JAVA开发项目,获得实践经验和与一线开发人员进行交;参加JAVA程序培训班;对老师的入职考核加大力度,对JAVA的自主开发创新能力进行严格要求。

4 结语

JAVA语言是计算机软件和网络编程的重要语言之一,本文结合实际的教学经验对当前JAVA的教学现状进行了分析,并且提出了改变教学方法、合理设计教学内容和增强实践运用等方面的建议,以期促进JAVA教学事业的发展。

参考文献

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

[2] 吴跃,陈峥.面向对象程序设计教改探索[J].计算机教育,2010(8):60-63.

java程序员实习总结篇7

关键词: Java软件;编程语言;性能测试

Java语言特别强调准确性,但可靠的行为要以性能作为代价。因此,对Java软件的性能测试的探讨有其必要性。

1 测试系统设计

使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程序模块或者applet,作为网页的一部分使用。applet可使网页使用者和网页之间进行交互式操作。

1.1 Java语言的特性

Java语言的主要特性可以从Java虚拟机、Java API、Java应用程序直接体现出来。1)Java虚拟机,其是在真实机器中用软件模拟实现的一种抽象的机器。(Java虚拟机规范)Java虚拟机主要由五个部分组成:指令系统、寄存器、栈、存储区、碎片回收区解释和执行Java程序编译后产生的字节码。2)Java API,就是Java系统提供的预先定义好的软件组件的集合,它们提供了许多可供程序员调用的常用功能丰富的API为程序员提供了极大的方便,但也是学习者的难点问题。

1.2 Java语言程序

对于Java语言程序的分析,可以从Java应用程序和Java小程序两个方面入手:1)Java小程序,其又可以分为两类,一是Java Apple,简单来讲,就是指在客户端运行的Java小程序,一般来说客户端是指用户所使用的浏览器;一是Java Servlet,主要就是指在服务器端执行的Java小程序。在系统运行过程中,为了支持Servlet的运行,需要将包含Java虚拟机的服务器软件安装在服务器端,因此,在通常情况下,我们也会把这种能够支持服务端小程序的服务器,称为应用服务器;2)Java应用程序,即Java Application,这是一个独立完整的程序,在系统中,通过命令行调,采用独立的解释器软件,这也是程序的入口。

1.3 程序开发

Java语言的开发,首先涉及到的一个主要环节就是JDK的安装与设置,在Windows平台上运行安装程序,以安装JDK设置PATH(文件路径)参数。由于JDK提供的实用程序都在安装目录下的子目录bin下,为了能在任何目录下直接使用文件名调用这些程序,必须设置操作系统的文件路径参数。另外,在使用JDK实用程序时,必须要对源代码文件进行编译,如果系统提示符再次出现并且没有任何消息产生,那么编译便成功了如果有系统报错消息产生,则表示程序编译出错,程序员必须阅读报错信息,并根据这些信息对程序进行修改程序成功编译后,在与源代码文件同一目录下会生成一个新的文件,其文件名与源代码文件名相同。

1.4 线程

在Java程序中,线程作为一个单一的顺序控制流程存在于其中。线程类似于传统的顺序程序,都有一个执行的起点,经过一系列指令后到达终点。线程在执行过程中的任何时刻只能有一个执行点线程组可以将多个线程集中在一个对象中,并同时操作这些线程(比如全部挂起或杀死)所有的Java线程都是某个线程组的一员。当Java应用程序开始执行时,虚拟机会创建一个名为main的线程组如果程序没有显示地创建其他线程组并将线程设置其中,则所有的线程都是main线程组的成员。

2 Java软件的性能测试

在进行Java软件性能测试时,需要在其内部建立一个评测程序,结合系统运行平台,实时跟踪例例程的时间,同时,还要将所得到跟踪评测结果完整地写入一个文件中。但是在测试过程中,一定要保证评测器的稳定性,否则将会影响到Java软件的正常勤工作,严重时,还要影响到后续版本的正常运行和稳定性。要从真正意义上理解上评测程序所测出结果以及相关信息并不容易,为此,就要对Java开发环境有一个全面的分析和了解。

在Java开发环境中,主要是由java.io所提供的一系列的类和接口来实现信息的输入、输出处理。而标准输入、输出处理则是由java.lang中提供的类来处理的,这些类又都是从包java.io中的类继承而来的。I/O类提供了低层次和高层次的界面。每一种介质都有一对与之相关联的输入输出类,它们提供低层次的面向数据序列(字符、字节)的界面。与介质相关的各个类都分别是输入输出抽象流类的子类,它们通常具有与介质相关的构造器及方法。I/O抽象类为所有与介质相关的具体输入输出类提供了一个统一的界面。反过来各个具体的与介质相关的输入输出类也扩展了抽象类,通过它们可以实现在具体介质上的输入输出操作。

另外,JAVA编程语言还提供了一个访问控制机制,通过这种机制,可以决定那些其它的类可以直接访问它的变量,并且通过介质提供一种低层次的方法将数据输入或输出到相应的介质;将与介质相关的对象强制类型转换为它的父类,并利用该对象构造一个流对象。这样便建立起了流类对象与介质相关对象的关联;这时就可利用流对象的I/O方法进行相应介质上的数据读写。

3 性能评测方法

首先,在进行评测时,由于要用到系统时钟,所以,要避免其他应用程序以及其他任何进程的运行,确保测试结果的准确性。若是对程序进行了相应的修改,需要要要在修改前后,对代码的执行时间进行分别测试,从而准确测试出改善后的性能。但是在测试的过程中,要注意的一点就是要保证每一次时间测试尽可能在完全一致的时间内,在必要时,可以设计一个完全独立的测试,将测试结果控制在最精准的范围内。

其次,运行提速。在测试过程中,首要问题是隔离性能瓶颈,一般情况下,主要有两种方法。其一,常规手段。这种方法就是对程序重新定义,是一种极为现实的提速方法。而且,此方法在应用过程中,不仅算法精确,而且还会使得软件性能得到更大的提升,尤其是数据集尺寸不断变大的过程中,其优点就会更加明显。其二,依赖语言的方法。这种方法,需要对软件各种运算执行时间有一个全面的掌握,从而进行客观分析和评价。

此外,Java编程语言允许通过改变方法参数的数量和类型来重载方法,也可以重载父类中的方法。在编写与父类方法同名的方法时,一定要注意检查返回类型和参数列表,确保正确的重载或者覆盖。

4 总结

总而言之,Java软件要想全面进行,就要对程序进行正确完整地检测,并且通过现实环境,着手解决性能问题,优化软件程序,提高程序效率。

参考文献:

java程序员实习总结篇8

关键词:Java C/C++ Java与C/C++的差异

中图分类号:TP 文献标识码:A 文章编号:1007-0745(2013)03-0061-01

现代程序设计起源于C,然后是C++,到如今炙手可热的JAVA。学习怎样从一种编程语言转移到另一种编程语言是程序员必须掌握的技能。要把这三门语言同时掌握好,关键的是理解每门语言的各自的特点及相互之间的异同点,以下对此作出分析。

1、C语言概述

C语言是一种面向过程的中级结构化程序设计语言。它允许直接访问物理地址对硬件进行操作。它显著特点是代码及数据的分隔化,即程序的各个模块除了必要的信息交流外彼此之间相对独立。它是以函数形式提供给用户的,这些函数可供方便的调用,并具有顺序语句、条件语句及多种循环控制程序流向,从而使程序完全结构化。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。

C语言功能齐全,具有多种数据类型,并引入了指针概念,使程序运行效率较高,而且计算功能、逻辑判断功能也比较强大。对于编写需要硬件进行操作的场合,明显优于其它解释型高级语言。

2、C++语言概述

C++和C一样也是由贝尔实验室设计并实现的。它是以C语言的增强版出现的,几乎支持C语言的全部功能。随着面向对象编程的概念的提出,C++在C语言的基础上添加了一些新特性:命名空间、虚函数、运算符重载、多重继承、模板、RTTI、异常。随着这些新特性的增加,C++语言也开发出了支持面向对象功能的版本,它支持过程化程序设计、面向对象程序设计、数据抽象、制作图标、泛型程序设计等多种程序设计风格。

C++在原来结构化程序设计方法基础上实现面向对象的设计思想是的一个质的飞跃,它完美地体现了面向对象的各种特性,以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。

3、Java简述

Java也是一种面向对象语言,它继承了C的语法,吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的,中立的,可移植的,性能优异的,多线程的,动态的语言。

Java以其高安全性、语言简洁、平台无关性、硬件结构无关性同时面向对象,使用Java编写的程序能通过网络下载在世界范围内共享,因此在网络编程语言中占据无可比拟的优势,成为实现电子商务系统的首选语言。

4、Java与C/C++差异

Java是从C语言和C++语言继承了许多成份,甚至可以将Java看成是类C语言发展和衍生的产物。比如Java语言的变量声明,操作符形式,参数传递,流程控制等方面和C语言,C++语言完全相同。尽管如此,Java和C语言,C++语言又有许多差别,主要表现在如下几个方面:

(1) Java中对内存的分配是动态的,它采用面向对象的机制,采用运算符new为每个对象分配内存空间。程序运行中,每个,Java系统自动对内存进行扫描,释放长期不用的空间,使得系统资源得到更充分地利用。按照这种机制,程序员不必关注内存管理问题,这使Java程序的编写变得简单明了,并且避免了了由于内存管理方面的差错而导致系统出问题。而C语言通过malloc( )和free( )这两个库函数来分别实现分配内在和释放内存空间的,C++语言中则通过运算符new和delete来分配和释放内存。在C和C++这种机制中,程序员必须非常仔细地处理内存的使用问题。一方面,如果对己释放的内存再作释放或者对未曾分配的内存作释放,都会造成死机;而另一方面,如果对长期不用的或不再使用的内存不释放,则会浪费系统资源。

(2) Java不在所有类之外定义全局变量,而是在某个类中定义一种公用静态的变量来完成全局变量的功能。

(3) Java不用goto语句,而是用try-catch-finally异常处理语句来代替goto语句处理出错的功能。

(4) Java不支持头文件,而C和C++语言中都用头文件来定义类的原型,全局变量,库函数等,这种采用头文件的结构使得系统的运行维护相当繁杂。

(5) Java不支持宏定义,而是使用关键字final来定义常量,在C++中则采用宏定义来实现常量定义,这不利于程序的可读性。

(6) Java对每种数据类型都分配固定长度。比如,在Java中,int类型总是32位的,而在C和C++中,对于不同的平台,同一个数据类型分配不同的字节数,同样是int类型,在PC机中为二字节即16位,而在VAX-11中,则为32位。这使得C语言造成不可移植性,而Java则具有跨平台性。

(7) 类型转换不同。在C/C++中,可通过指针进行任意的类型转换;而在Java中,运行时系统对对象的处理要进行类型相容性检查,以防止不安全的转换。

(8) 结构和联合的处理。在C/C++中,结构和联合的所有成员均为公有,而在Java中所有的内容都封装在类里面。

(9) Java不再使用指针。指针的概念是C/C++初学者最难应付的问题,指针也是错误产生的一大根源。Java中舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。对象的引用直接作为参数传递,而不是传递指针,另外,必须通过索引使用数组。

5、总结

Java是一种简洁而有效的纯面向对象的编程语言。而C++因为要与C兼容,所以在面向对象的特性方面不如Java好,安全性也较差。C++适合做图形图像、3D游戏、多媒体、流媒体播放器、、用户界面,嵌入式大部分都是C和C++写的。而java多半与网络和数据库有关,比如说网站后台,手机平台等等。

参考文献:

[1]C++程序设计教程.清华大学出版社.钱能编著

[2]Java程序设计实验指导.清华大学出版社.陈轶、姚晓昆编著

上一篇:排钢工安全总结范文 下一篇:每月安全总结范文