java课程精品培训十篇

时间:2023-10-09 17:31:13

java课程精品培训

java课程精品培训篇1

关键词:精品课程;工学结合;任务驱动教学法;项目实训教学法

中图分类号:TP312.2-4

精品课程建设是郑州电子信息职业技术学院教学改革和教学质量工程的重要内容之一。Java程序设计是我院信息工程系计算机相关专业的专业核心课程,重点培养学生Java方向程序设计能力,是一门实践性很强的课程。该课程的知识教育目标是使学生能够熟练使用JDK(Java开发工具包),Eclipse,UltraEdit等常用编辑工具来开发Java程序;能力教育目标是培养学生运用面向对象的思想解决实际问题的能力。思想教育目标是培养学生的团队协作能力和爱岗敬业的职业素养。

1 精品课程建设基础

1.1 硬件基础

学院有先进的网络教学环境和充足的实践教学条件,Java程序设计的教学环境是我院多媒体中心,该中心下设30个多媒体教室。课程全面应用多媒体方式授课,学生可以利用移动存储设备下载教学资源。在网上为学生提供授课计划、教学大纲、实训大纲、实验指导书、课件、学习指南、上机习题与指导、模拟测试题、学习参考书目录等网络学习资源。另外,教师利用电子邮件、QQ进行答疑,探讨师生共同关心的问题,了解学生的学习和其它方面的动态,及时调整教学方法和进度。

Java程序设计的实训环境是我院计算机实训中心,现有22个实训室,近1500台机器,实训室设备先进、功能齐全、管理严格规范,每个实训室自成局域网并接入了互联网。实训室均安装了JDK(java开发工具包)、MyEclipse、Tomcat、SQLsever及全国高等院校计算机等级考试模拟软件,能够保证人均一台机器,学校实训室在课余及周末时间为学生开放,方便学生的上机实习。

此外,学院与郑州东隅电子科技有限公司、郑州华创科技有限公司、郑州亚讯科技信息有限公司签订协议,确立为我系的校外实训实习基地。

1.2 软件基础

该课程教师队伍共10人,其中专职教师8人,兼职教师2人,师生比1:45,是一支师资配置合理,执教能力强、教学效果好的教学队伍。以中青年教师为主,副高以上职称占15%,研究生以上学历占20%,“双师型”教师占80%。

教学团队中有毕业于郑州大学、西南大学、上海师范大学、河南科技学院等各个高校的教师,教师知识结构合理,年龄结构合理。课程建设小组具有在省、市级课题研究等方面的经历,并且获取省级和市级的奖项若干。课程建设小组成员组成结构和科研条件均具备了相应的研究条件。

学院每年都积极选派教师到企业学习。特别注重加强理论教学与实践教学的结合,提升课程教学水平和质量,从而逐步形成人员精干、教学水平高、教学效果好的师资队伍。

2 精品课程建设内容

2.1 课程建设目标

Java程序设计是我院信息工程系计算机相关专业(计算机应用技术、计算机网络技术、物联网)的一门非常重要的专业核心课程。该课程以C语言程序设计为先导课程,将会对JSP动态网页编程课程的学习有着重要的影响。本课程在教学培养方案中起到承上启下的作用。

本课程的目的是通过对Java程序设计的学习,使学生具备高级技能专门人才所必须的计算机程序设计能力,培养学生的逻辑思维能力,为进一步应用面向对象程序设计的方来进行项目开发打下基础。具体的培养学生具有理解和应用软件开发规范、软件开发流程的能力;学会将实际问题转化成计算机语言表达模型的能力;会用计算机处理问题的思维方法阅读和编写程序的能力;具有进一步学习其他语言的能力;具有软件开发团队协作的能力。

2.2 课程建设内容

Java程序设计精品课程建设主要包括课程体系、教学手段的改革、教学方法的改进、考试方法的变革和教材建设。我们以现代化教学手段为依托,充分利用多功能教室、多媒体教室、校园网等教学手段。实行启发式、研讨式、项目驱动式等多种教学方法,形成一套能够使抽象内容具体化、专业知识通俗化的课程教学模式。通过精品课程建设,课程建设小组逐步落实Java程序设计成绩评定方法,学生期末综合考评分为理论考评和实践考评两大部分各占总成绩的50%,理论考评中平时成绩占30%,期末考试成绩占70%。实践考评中实验报告占30%,实践操作占70%。考试内容包括理论知识和实践操作,真正反映教师的教学水平。

3 课程特色与创新

在Java程序设计教学中,我们必须突出高职高专院校的教育特色,采用先进的教育理念,把现代教育思想和课程的具体内容相结合,改革传统的教学手段和方法,形成自己特色鲜明的工学结合的教学模式。

3.1 工学结合教学模式

我们确立以“就业为导向、能力为核心”的专业人才培养方案,以职业能力培养为核心,有针对性采取工学交替、校企合作、理论与实践相结合的课程教学模式。此模式在做中学、做中教。特别突出以生产性实训为特征的实践教学模式。在实训环节上,每届学生都安排了三个企业真实项目实训和半年的顶岗实习,让学生直接参与到项目开发中去,亲身体验职场的工作氛围,熟悉面向对象编程的思想,为将来的就业打下坚实的基础。

3.2 教学方法

项目实训教学法强调的是真实体验,以项目的完成结果检验和总结学习过程。项目实训采用项目调研、开发、测试、验收等教学流程,使学生带着真实的目的在探索中学习,让学生获得亲身参与的体验、培养学生发现问题和解决问题的能力。

任务驱动教学法强调的是“以任务为主线、教师为主导、学生为主体” 通过精选案例、明确任务,以任务带动理论知识点的学习,真正做到了讲练有机融合。通过在实践中的学习,可以激发学生的好奇心和创造力。

情景教学法是以案例或情景为载体引导学生自主探究性学习,以提高学生分析和解决实际问题的能力。主要针对企业的工作场景和实际的工作流程,进行项目分析和任务分解,重现在企业中进行项目开发的任务环境。学生在实际操作的过程中模拟项目组中的各种角色,使用真实的企业项目、企业工作流程,协同完成项目,体验和掌握各种角色的工作技能和工作经验。

3.3 特色教材建设

教材是培养人才最关键、最直接的因素。所以说教材建设是精品课程建设的重要组成部分。Java是1995年Sun公司开发的面向对象的编程语言,它凭借平台无关性这一强大优势己经成为Internet应用的主要开发语言。从目前情况来看,Java教材出版的不少,但是很少有以工作任务为主的适合高职教育的教材,大多数都是以讲Java 基本知识为主,枯燥的理论使学生很难学以致用。因此,我们对课程内容进行了彻底的整合,采取用什么讲什么,用多少讲多少的原则,将那些直接支撑专业技术的知识从系统中提取出来,打造直接服务于岗位技术的知识链,建设符合高职院校特色的精品教材。在学院的大力支持下,我们课程组通过长期扎实的自我建设,强化了课程体系,完善了教材内容等方面的建设。

4 结束语

Java程序设计是一门实践性很强的专业核心课程。我们通过不断转变教学理念、更新教学内容、改进教学手段、完善教学方法,已基本构建起比较完善的教学体系,形成了较鲜明的特色。综上所述,该课程建设指导思想明确,拥有教学与科研相长的师资队伍,教育教学思想与时俱进,教学模式多样化,教学手段现代化,在计算机编程教育领域起着良好的示范作用。

参考文献:

[1]王小芬,马玉芳.《大学计算机应用基础》精品课程建设[J].计算机光盘软件与应用,2013,4.

java课程精品培训篇2

Java实习工作总结一

在学院领导老师的带领和安排下,我们在上个学期末,到北京进行了为期10天的专业实习。在实习过程中,我们在专编程技能以及软件开发的总体架构思想上都收获颇丰。

本次实训我们分为两个阶段,前五天为第一阶段,我们进行了理论知识的学习,巩固和深化了所学的编程知识。以下谈一谈个人的感受与体会

一、理论知识的学习

在实训进行的前五天,我们上的是java编程的理论课。负责上课的老师言语风趣幽默而不失严谨,在老师的引导和启发下,我们巩固了之前在学校所学的编程知识,并加以深化,澄清之前对编程技术认识的一些错误或模糊的概念。

我们还在课上以java里GUI编程常用的swing框架和JAVA的容器体系作为切入点,框架作为这期间除了学习一般的编程的知识技巧。在全面的系统的认识了框架同时补充学习了泛型技术,以及框架中架构思想的知识。在企业的实际编码过程中,一个个框架构成了软件的基石,只有掌握了几门框架知识,才能在实践中高效开发,让自己的产品在市场上立于不败之地。

在理论课的学习过程中,我们也暴露了一些问题,比如在学校上课学习时,对所学知识只是知其然而不知其所以然,不太愿意深钻,和超前学习一些知识。

二、项目开发实战练习

在结束了理论知识的学习之后,后五天我们在实训基地进行了项目开发的实战练习。

项目的名称是superVCD,是由海辉曾经所接的一个远程音乐唱片管理软件项目的精简版。虽然有所精简,但是其内容对我们学习仍具有相当的价值,对我们了解真实的软件的设计规范,编码规范,文档规范以及客户对软件的需求很有参考价值。该内容囊括了GUI设计和编码,容器与泛型的知识,规范文档编写,测试及日志系统,甚至要求我们实现一个专用的轻量级数据库系统,这无疑是对我们很好的一次历练机会,同时可以积累丰富的知识。

平时我们很少有机会能够完成一个如此规模的项目,所以在这次项目实战训练中,我的收获也有很多。

第一,我学会了如何规范的编写代码和文档。文档和代码是团队各成员在项目开发交流合作中的纽带,风格随意混乱的代码和缺失或语义不明的文档会让团队中的其他成员不能理解和使用自己写的程序,我在平时编写代码比较随意,并不注重这一点,经历这次实战演练之后,我一定会严格的遵守编码规范。

第二,我学会了如何理解和分析客户的需求。软件为客户而生,只有理解了客户的需求才有写出优秀的软件的可能,在这次实战演练中,老师教会了我们如何组织团队正确的理解和分析客户的需求,并写出完善的需求分析,并用于项目开发。

第三,我学会了对按照需求对软件架构进行设计,这点我想是我们许多同学之前都非常欠缺的,因为我们在学校的时编写代码篇幅短小,功能单一,所以设计思路通常只留于脑内,非常模糊。而在这次项目开发演练中,老师手把手的教会我如何从需求中抽象出问题,并将之模块化,然后逐步求精,就如同为高楼大厦搭建栋梁。

第四,我学会了如何团队合作,共同开发。作为项目开发小组的组长,我的体会更加深刻。独木难支,光靠一个人的力量是远远不够的。只有管理组织好一个团队,才能够最终完成项目的开发,或许在编程技术水平上团队成员有高有低,但是,每个人都有自己的闪光点,总可以在团队的找到适合自己的位置,每个人在自己的团队中做的贡献,创造出不可磨灭的重大价值。

第五,我学会了如何与客户沟通并展示自己的项目,软件项目的开发最终需要的是客户的认可,让客户了解并认可自己的产品最好的办法就是用言语将自己的项目的最好的一面展示出来,在最后一天里,实训的老师组织了项目的答辩,给我们提供了锻炼自己的表达能力,展示自己的项目的舞台。

在实战的过程中,我对项目开发流程有了切实的体会:学会了如何编写规范合格的代码和文档;学会了了正确理解分析客户需求并设计项目的方法;体会到了团队合作精神的重要性,明白了组织团队进行项目开发的具体流程,还了解到了向客户展示产品以及与客户进行沟通的技巧。

经历过这次实习实训,我们不仅在编程的理论知识上有所巩固和深化,更重要的是有了实战进行项目开发锻炼动手能力的机会,积累了一笔宝贵的经验。实训虽已结束,但我们的不断学习的征途才刚刚迈出第一步。今后的路还很长,还有很多机会去实习提高,我们要以更加积极的姿态去充实自己,学习,不断地迎接挑战。

Java实习工作总结二

作为就业培训,项目的好坏对培训质量的影响非常大,常常是决定性的作用。这篇文章是关于在学习JAVA软件开发时练习项目的总结,简单总结为以下几点:

作为就业培训,项目的好坏对培训质量的影响非常大,常常是决定性的作用。这篇文章是关于在学习JAVA软件开发时练习项目的总结,简单总结为以下几点:

1、项目一定要全新的项目,不能是以前做过的

2、项目一定要企业真实项目,不能是精简以后的,不能脱离实际应用系统

3、在开发时要和企业的开发保持一致

4、在做项目的时候不应该有参考代码

长话短说就是以上几点,如果你想要更多的了解,可以继续往后看。

一:项目的地位

因为参加就业培训的学员很多都是有一定的计算机基础,大部分都具备一定的编程基础,尤其是在校或者是刚毕业的学生,多少都有一些基础。

他们欠缺的主要是两点:

(1)不能全面系统的、深入的掌握某种技术,也就是会的挺多,但都是皮毛,不能满足就业的需要。

(2)没有任何实际的开发经验,完全是想象中学习,考试还行,一到实际开发和应用就歇菜了。

解决的方法就是通过项目练习,对所学知识进行深化,然后通过项目来获取实际开发的经验,从而弥补这些不足,尽快达到企业的实际要求。

二:如何选择项目

项目既然那么重要,肯定不能随随便便找项目,那么究竟如何来选择呢?根据Java的研究和实践经验总结,选择项目的时候要注意以下方面:

1:项目不能太大,也不能太小

这个要根据项目练习的阶段,练习的时间,练习的目标来判断。不能太大,太大了做不完,也不能太小,太小了没有意义,达不到练习的目的。

2:项目不能脱离实际应用系统

项目应该是实际的系统,或者是实际系统的简化和抽象,不能够是没有实战意义的教学性或者是纯练习性的项目。因为培训的时间有限,必须让学员尽快地融入到实际项目的开发当中去。任何人接受和掌握一个东西都需要时间去适应,需要重复几次才能够真正掌握,所以每个项目都必须跟实际应用挂钩。

3:项目应能覆盖所学的主要知识点

学以致用,学完的知识点需要到应用中使用,才能够真正理解和掌握,再说了,软件开发是一个动手能力要求很高的行业,什么算会了,那就是能够做出来,写出代码来,把问题解决了,你就算会了。

4:最后综合项目一定要是实际应用系统

学员经过这个项目的练习,就要走上实际的工作岗位了,如果这个系统还达不到实际应用系统的标准,学员练习过后也还是达不到企业实际的需要,那么这个培训应该说质量就不高了。理想的状况是这个项目就是实际项目,到时候学员就业到另外一个公司,不过是换个地方干活而已,完全没有技能上的问题。

三:Java怎么选择项目

这个不是靠想象,而是根据实际的情况一步一步分析出来的(呵呵要卖弄一下:这也算是逻辑思维),当然这里只是讨论方法,不涉及具体的项目案例。

我们可以采用倒推的方式来分析:

(1)最终的项目一定是真实的项目,也就是要把学员训练到能够独立开发实际应用,通常我们还不能选最简单的项目,因为学员的吸收还要有一个折扣,所以最终的项目应该选实际项目中中等难度的项目

(2)最终项目定下来过后,开始分解这个项目,看看为了达到完成这个项目需要哪些技术和知识点,以及每部分知识点的深度,然后定出每个分阶段的任务

(3)然后开始选择分阶段的项目,分阶段的项目应该比刚才分析出来的分阶段任务稍稍复杂点,这样才能达到训练的目标。定下分阶段项目后,同样去分解,定出为了完成他所需要的各部分知识点和深度。

(4)然后是选择上课期间的演示项目,演示的项目是为了做分阶段项目服务的,可以认为是分阶段项目的分阶段项目

(5)最终把要求掌握的知识点和要求掌握的深度,分散到日常教学和练习中。

好了,把上面的分析用正向描述就是:

日常教学和练习中学习和掌握的知识

==〉演示项目

==〉分阶段项目

==〉综合项目

==〉胜任企业实际开发需要。

附注:有了好的项目还要有好的训练方法(这个另外立文讨论),最最基本和重要的一条就是:绝对要指导学生亲自动手做,而不是看和听,所以尽量不要选择有现成代码的项目,演示用的项目也最好不配发代码,让学生能够跟着做出来才是真的掌握了。

上面阐述了Java对项目的态度和基本选择方法,这里再把其中几个重要的、与众不同的特点阐述如下:

1:真项目

项目一定要真实,要是企业实际应用的,不能是教学性的项目,否则会脱离实达不到项目实训的效果。还有一个一定要是最新的项目,企业的要求也是在不断变化的,应用技术的方向和层次也在不断变化,这些都体现在最新项目的要求上,旧项目所要求的技术和层次很可能已经过时了,根本达不到训练的目的。

Java的做法是:没有固定项目,每个班做项目之前会从企业获取最新的项目需求,然后经过挑选和精心设计,以保证既能训练技术,又能得到实际的开发经验。这样实现了跟企业的同步,企业做什么,我们就学什么,然后也跟着做什么。

2:真流程

开发的流程也要跟企业的实际开发保持一致。从项目立项开始,到需求分析、概要设计、详细设计、编码、测试的各个环节,都要完全按照真实的开发流程来做。

Java的主力老师都是实战出身,在Java开发方面都至少有七年以上的开发经验,同时具备多年的项目管理经验,所以能够完全按照企业开发的流程来训练学生。

3:真环境

开发的环境也要跟企业一样,包括常用的开发工具、开发平台、应用服务器、常用插件、测试工具、项目管理工具、项目管理文档等等。

Java的做法是:构建跟企业完全一样的环境,然后跟企业开发一样,分团队开发。老师就相当于项目经理,一个班分成多个小组,每个组有自己的Team

Leader,大家分工合作,共同完成项目。

4:真开发

这是Java最与众不同的一点,Java深知:软件是做出来的,而不是听出来或者看出来的,企业需要能实际开发的人员,而不是只听过、看过但不能做的人。所以Java非常强调:项目一定要让学生动手写出来。

Java的做法是:老师做为项目经理,带领着大家一起去做需求分析、概要设计、数据结构设计、接口设计、重要业务流程的分析设计等,然后由学生们分团队进行开发,实现整个项目。这里有几个与众不同:

(1):现场带领学生一起做分析和设计,而不是预先做好了来讲讲。因为需要学生学习的是分析设计的过程和方法,而不是已经做好的结果。

(2):Java选用的项目基本都是企业最新的项目,很多都是Java的学生和企业在同期开发,所以是不配发源代码的。这样也断绝了学生的依赖思想,认认真真去开发。可能有同学会问:为什么不选择有源代码的项目呢,那样还可以参考学习啊!

这是一个典型的误区:觉得通过看人家的代码能够加快自己的学习。这个方法对有经验的人来讲是对的,但是对于还在学习期间,没有经验的学员来讲,就是一个认识的误区了。因为你也许能看懂代码的语法,但根本看不懂代码背后的含义,看不懂代码的设计,看不懂为什么要这么实现,看不懂代码所体现的思想,其实,看了跟没看没有多大区别。

事实上,Java界最不缺的就是代码了,那么多开源软件,小到一个工具,到企业级ERP都有开源的,而且很多都是大师级的作品,说实话比你参考的那些代码质量高多了,但是又有多少人能真正看明白呢,原因就在于达不到那个水平,看不懂代码背后所体现的设计和思想以及为什么要这么做,效果也就不好了。

当然不排除有这样的高人是能够完全能理解和掌握这些大师级作品的,但估计不会是刚开始学习Java开发的学生,所以Java根据多年的培训经验,友情提示:在初学阶段,看一千遍,听一千遍,都不如自己动手写一遍所达到的学习效果。自己能写出来的功能才是你真正掌握的功能,而不是你看得代码或者是听老师讲的,就算讲过看过,但是自己做不出来,那都不算会。

(3):Java在课堂上除了带领学生去分析设计外,还会分析一些重点、难点功能的实现机制和原理,然后指导学生去实现。

5:真技术

Java在每个项目中,特别会抽取有难度的部分让学生们在老师指导下实现,专门啃硬骨头,那才能真正锻炼学生的开发能力。

比如:在做OA类的项目时,会重点去做工作流、公文收发、在线Office控制等;在做CRM类项目时:会重点去做销售自动化和市场块的业务;在做人力资源类项目的时候会重点去做人力跟踪和人力评测模型等......

Java在每个项目中,都会使用目前企业最新最流行的技术,按照最新的难度去要求,从而让学员能更符合企业的需要。

6:真经验

Java的项目都是企业最新的真实项目,经过开发训练,学员能够积累足够的真实的开发经验,以胜任企业的工作需要。在进行项目分析时,还会全面讲解项目所要求的业务,让学员从业务和技术上都能充分积累。

7:真实力

作为就业培训,项目的好坏对培训质量的影响非常大,常常是决定性的作用。这篇文章是关于在学习JAVA软件开发时练习项目的总结,简单总结为以下几点:事实上,不采用有源代码的教学性项目对Java的要求非常高。

试想一下,如果项目分发下去,老师带着分析后,学生都不会做会出现什么样的后果?这对Java的教学质量提出了极高的要求,如果教学质量达不到让学员独立开发的水平,对依靠质量取胜和口碑发展的Java将是毁灭性的。

另外一个,由于是全真的项目,在开发的过程中,肯定会有很多的问题出现,这些都要老师去解决,由于不像教学项目那样预先做好,又需要老师能很快地解决各个问题,这对老师的真实开发水平有极高的要求,这可是需要真功夫的。

java课程精品培训篇3

众所周知,“软件研发及外包”是《国务院关于促进服务外包产业加快发展的意见》【国发〔2014〕67号】的重大改革项目,致力于面向IT企业,面向全球和面向未来,培育造就一大批具有高级创新创业能力和适应社会发展需要的高素质服务工程技术人才,促进我国高等教育工程领域的快速发展[1-2]。将学校教育和社会行业、高校和企业进行密切合作,以高校教学为主线,实际工程为背景,有效提高学生的学习能力和应用实践能力。使教学融合项目实训,让该过程成为高校教学的新常态,这是对我国高等教育提出的更高要求和挑战。

2 背景分析

在“软件研发及外包”改革项目的大背景下,高校中计算机与软件工程相关专业的服务外包方向教学更加体现了与企业项目实训融合的重要性。以服务外包为主线的计划力推符合就业能力培养的学习方法,其课程设置和教学内容应该突出“实践”特色,而计算机与软件工程相关专业的特色就在于跟踪和掌握国际先进的软件开发技术,注重实际软件开发能力的养成,同时强调创新创业技能的提高[3-6]。

Java课程是软件开发领域非常注重实践的专业基础课,在专业培养方案中上承基础教学,下接专业核心技能,做好Java课程教学改革是软件开发过程中提高学生程序设计能力的重要一环,也为整个相关专业教学改革打下良好的基础。长期以来,各个学校相关院系都在努力探索和实践关于“Java课程教学”的改革[7-8]。

(1)教学改革只注重课堂教学方式

课堂教学改革非常重要,计算机与软件工程相关专业的学生在接触软件开发之前个体差异比较大,教师平时考虑最多的是大部分中间层次的学生,不可避免的会忽略部分学生的感受,而造成课堂教学过程比较难堪。针对这种情况,许多教学改革新特征比如翻转课堂、在线教学和混合教学等都取得了很好的教学效果。但这些只是单纯地去调动学生的学生积极性,解决学生自主学习过程中出现的问题[9]。对于动手能力要求更高的Java课程来说,仅有完善的课堂教学改革是远远不够的。

(2)教学改革不注重创新

Java课程是伴随互联网技术而产生的,网络程序设计是Java课程进行改革的落脚点。随着当前互联网技术的不断发展,学生自主学习网络资源的能力逐步增强,了解Java与网络技术开发的关系意识也在增强。计算机与软件开发的新知识、新框架日新月异,如果教师仍然固守眼下传统软件的开发模式,势必会带领学生走向狭窄的开发领域。目前许多学校提出了相应的课程设计或项目实训以弥补这种缺陷,但这些与企业的需求还有一定的差距,学生不了解企业中软件开发所需要的实际情况,不了解软件开发的创新点在哪里,容易形成闭门造车[10]。

(3)教学改革内化效果差

教学效果的好坏通常是由内化指标来体现,如何考核学生对知识的掌握情况成为提高内化指标的重要过程。传统的考核方式改革大多在考核大纲知识点方面进行,教师在线上或线下强调实际问题,学生通过多次的编程练习以强化知识。如果有的学生根本没注意教师预先在课堂的提醒或没有配合教师进行练习,这些学生的问题就会不断遗留,形成常见的恶性循环。无论采用何种考核方式,他们都不??提高内化指标,更谈不上如何去迎合当前企业对人才需求的现状了。Java课程实践性强的特点,也充分说明考核过程不能迎合一般课程的评价形式,改善考核内化效果是必由之路。

3 教学过程设计

当前的课程体系设置中,学生进行就业实践的机会明显偏少,并且对企业项目开发的过程缺乏了解。课堂教学加企业项目实训能够实现灌输教育向自主教育和能力教育的转变,让课堂教学在企业项目实训中实现成果再现,使得学校投入与企业产出达到有机平衡。

3.1 学校教学大纲的设计

如何开展课程的有效教学,实现怎样的教学目标,实践与理论如何有机结合,最后达到什么样的教学效果,让学生真正学有所成等等一系列教学改革都是围绕教学大纲进行的,因此学校教学大纲的设计至关重要。根据教育部高等学校教学指导委员会(计算机学科)“Java程序设计”的教改实践及指导精神,本文在教改过程中进行多次更新教学理念,设计了有针对性提高学生课堂学习与企业项目实训能力的教学大纲。

(1)除了必要的Java课程中程序设计知识学习,还要求必须遵循软件工程设计环节的系列过程,让学生了解Java软件开发的工作流程,掌握设计环节的规范性,并给出相应的软件规格说明书。

(2)按照不同企业的实际要求,规定使用相应企业的Java集成开发工具,培养解决实际问题的能力。学生要完成Java程序设计,就必须掌握工具类和界面控件设计的技能,必须学会查阅API和阅读源程序,提高参考文献和编程能力。

(3)在验收软件产品时明确考核标准,注明详细的量化考核细则,贴近企业考核形式,让学生在学校期间就清楚将来软件开发要完成的步骤和过程,做到心中有数,学有所依。

3.2 企业项目实训的设计

为了贴合学校“Java程序设计”教学大纲,便于课程改革的顺利进行,企业项目实训的设计环节不可缺少,标准设计不可大意,流程学习不可中断,因此设计企业项目实训时,要大量走访相关企业开发实际场景,了解Java软件开发的最新的动态,实时更新实训项目,并且掌握企业的文化精神。

(1)为了符合软件开发流程,实训项目纲要设计要清晰,提供意义明确的设计指导手册,要求学生掌握编程思想,理解编程思路,创造程序设计,提高项目设计的创新能力。

(2)应对市场开发的变动,企业设计理念会不断改变,相应项目实训设计选题的迭代更新就显得很重要。进行必要且有价值的项目更新可以让学生了解当前Java技术的发展,从而懂得基础教育夯实的必要性。

(3)掌握企业优秀文化精神是企业项目实训不可缺少的一环。在校期间培养学生团队协助精神,有助于学生之间的和谐交流,提高创新和竞争意识。在开发项目时,要求学生确定队长、划分工作模块、协调设计思路,绘制工作安排流程图。

3.3课堂教学与项目实践的融合

在Java课程教学改革中,课堂教学是激发学生学习兴趣、促进学习效果和进行课程考核的主阵地,项目实训是学生体会软件设计思想和方法的保障源。将这两个环节有机结合,可以实现真正意义的学练贯通。

(1)课堂讲解知识点,项目案例展示。

(2)课堂展示任务要点,项目案例任务描述。

(3)课堂任务分析,项目案例完成任务流程。

(4)课堂任务效果总结,项目案例实现。

4 教学过程实现

有了详细的教学过程设计方案,重构现有的教学过程就显得至关重要。实现课堂教学与企业项目实训的融合过程,相当于建设一个完整的课程体系,需要进行深入分析学校课程和企业市场之间的关系,进而遵循学校和企业之间相互协作的原则,保证学生既掌握了课堂知识又体会了企业文化精神。

4.1 教学手段实现

针对本文的课堂教学融合企业项目实训,在改革Java?n程教学手段方面,除了传统的课堂多媒体教学实现Java课程学习,将企业项目实训面对面交流的优势应用到课堂上,极大地调动了学生学习的积极性,保证了良好的教学效果。

(1)充分吸收当前较为成功的课堂教学手段,进行翻转教学和在线互动相结合,线上互动和线下交流进行补充。例如,将Java面向对象程序设计的思想在网络上以视频的形式播出,课堂与学生面对面以真实软件代码进行验证,体现出混合教学的优势特点。

(2)积极与企业工程师、人力资源总监进行沟通,利用他们的空闲时间打通学生交流通道,甚至将企业人士的讲座直接搬到课堂上。例如,当了解到某一阶段Java技术的新应用即将推向市场时,将该Java技术应用的软件工程师邀请到课堂,与学生进行技术交流,既让学生开阔了眼界,又提高了学生学习Java编程的积极性。

(3)改革现有的Java课程授课环节,将教材知识点进行项目渗透,每学完一个知识点,进行一次小模块项目设计,前一知识点与后一知识点不断线,项目小模块之间不耦合。例如,当完成一个相对独立的知识时,项目小模块也就顺理成章的组成一个大模块,加上相应文档的书写,一个相对独立的软件也就完成了。因此,学生感受到了软件开发的乐趣,对于课堂学习也就不会感到枯燥乏味了。

4.2 考核方式实现

任何一门课程的学习都离不开效果考核,这也是许多教师和学生感到头疼的地方。本文在遵循课程教学思想和改革原则的前提下,结合企业项目实训的实际,进行了考核方式的改革,让学生在Java课程学习时感到快乐,考核时也感觉轻松和公平。

(1)考核指标严格化。无论如何考核,都要保证考核指标明确,评价制度严格。让学生始终体会到接受教育的公平性。

(2)考核方式多样化。针对学生将来出路的不同设计不同的考核方式,这就需要教学团队中教师在考核难度上要保持平衡。例如,对于考研学生,要侧重进行Java编程思想理论知识和算法编程方面考核。对于就业学生,要侧重Java项目开发和文档制作方面考核。

(3)考核人员的参与多样化。为了激发学生考核的积极性和表现力,让教务督导、教学团队教师、企业工程师和学生共同见证考核过程,实现考核公开性,学生也会提前感受类似面试、毕业答辩的场景。例如,让学生现场演示Java程序模块,现场讲解模块功能,参评人员当场评价。

4.3 教学效果

为了深化融合课堂教学和企业项目实训教学改革的教学效果,本文在2010年至2016年共六届软件工程(服务外包方向)专业学生中进行了Java课程教学改革实践,并与同级的计算机科学与技术、软件工程专业未进行Java课程教学改革教学效果进行了比较。

(1)就业率

学生就业一直是学校最为重视的教学工作。近年来,基于Java技术的项目开发在IT行业方兴未艾。本文调研了在校期间专研Java开发的2010、2011和2012级学生的就业率,图1显示了参与本文教改计104、计114、计124和未参与本文教改学生计101、计103、计111、计113、计121,计123班的就业率。由于参与教改的学生在学习过程中提前感受到企业所需要的人才特征并且预先进行了演练,积累了与企业进行沟通的经验,就业面试是就能够与企业人力资源总监进行从容交流,获得更多offer的机会。从图1中可以看出,参与本文教改的学生就业率明显高于未参与本文教改的学生就业率。

(2)创新创业率

在“大众创业、万众创新”大背景下,如何激发学生创新灵感、提高学生创业激情是学校教育的力量源泉,基于Java技术的项目开发在校园内越来越成为致力于IT项目学生的新起点。由于学校开设Java课程是在大二的下学期,自2010级学生实施Java课程教改以来,从2012年的暑假开始,本文连续四年调研了在校期间专研Java程序开发的2010、2011、2012、2013、2014和2015级学生大二和大三时期的创新创业率(为突出重点,大一和大四以0统计),图2显示了参与本文教改计104、计114、计124、计134、计144班和未参与本文教改学生计101、计103、计111、计113、计121、计123、计131、计133、计141、计143班的创新创业率。从图2中可以看出,参与本文教改的学生创新创业率明显高于未参与本文教改的学生创新创业率,其中参与本文教改的2012级学生的创新比赛参与率达到了100%,极大地促进了学风建设,此班的当年考研率名列同级第一。

5 结束语

java课程精品培训篇4

【关键字】Java语言;教学方法;教学理论;考核方式

Java语言是目前最为流行的编程语言之一,近年来在各大高校列为计算机专业主干课程。培养学生面向对象编程技巧、动手实践能力和积累项目开发经验,从而使学生尽快适应企业需求是Java教学的主要目标。在教学过程中如何提高学生的学习兴趣,培养学生自主创新学习能力,提高教学效果是Java任课老师需要考虑的问题。文章通过对目前Java教学过程中存在的几个问题进行分析,提出合理的教学建议,并对Java任课教师提出了几点要求。

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

1.课程内容缺乏实用性,学生学习兴趣不浓。

Java语言课是实践性强的一门课程,但各种参考教材都偏重基础理论知识的讲解,实验

内容都是验证型的,且与实际应用脱离严重,学习起来枯燥乏味,学生在学习过程中渐渐失去兴趣。

2 课堂理论教学为主,实践教学相对薄弱

由于课程学时压缩,Java课的学习基本在一学期的60学时以内就结束,课时安排较少,并且课堂教学多于实践教学。再加上Java教学内容涉及面广,所以目前还主要是作为一门普通的语言课进行教学,如重点放在基础理论知识的学习,课程实践环节强度不大。由于实验课少,导致学生理论知识的掌握浮于表面,并且缺乏实践中各种宝贵经验的积累。

3 考核方式单一,偏离教学目标,影响教学过程实施

目前考核方式主要是笔试为主,重点是考核学生掌握知识的多少,学生为了应付考试主要放在基础知识的死记硬背上,不利于学生实践能力的锻炼。同时,对于动手能力强的学生不能真实地反映真实成绩,从而打消学习的积极性,阻碍了学生综合素质的培养。

2 对Java课程教学的建议

下面结合笔者总结的Java教学经验从教学内容,教学方法及考核方式三方面提出几点教学建议。

2.1 教学内容的选择和组织

2.1.1 参考教材选择

选择一本实用的教学参考教材是教学成功的第一步。参考教材是学生获取知识的主要学习资料,也是最方便最直接的学习资料,对于初学者是最适用的。主要参考教材的选择首先要符合专业培养目标和认知规律,便于自学和具有创新性。其次要“新”,由于计算机学科是发展很快的学科,新旧技术更新周期变短,为了适应新技术,Java语言教材版本更新加快。另外,最好有配套的实训材料,包括验证型实验,综合型、创新型实验,特别是面向工程应用的实验。

2.1.2 实验材料的组织

阅读足够的典型程序的源代码和充分的动手实践训练才能真正理解和掌握Java语言的编程思想和技巧,并很好的应用于解决实际问题,因此实验内容应包括大量的基础与验证型实验,并在此基础上增加小型综合实例和综合探究型案例材料。试验内容在教学过程中分层次分阶段组织进行。

试验材料和案例选取首先要具有教学性和代表性,选择趣味性实例或比较接近学生本身的案例,能很好的调动学生积极参与的热情,达到更好的教学效果。比如计算器,动画制作等可以“寓教于乐”,激发学生的学习兴趣;学生成绩管理系统是学生比较熟悉的案例,可以对其进行分解和重组形成典型的小型综合实例,例如可以分为登陆界面,成绩录入界面,成绩查询界面等。

2.1.3 提供网络学习资源

网络资源为学生提供了开放的学习形式,可以开阔学生的视野,是学生自主学习的最好途径。为学生提供权威的Java 语言网络学习材料,如精品课网站,Java论坛等,使他们能够按照自己的时间、学习进度和兴趣进行自主辅助学习。特别是对于水平较高的学生,可以弥补学校教学过程的限制,能够接触到更深刻的学习内容。

2.2 采用多种教学方法实施教学内容

教学过程中根据教学内容的特点应用多种教学方法相结合,充分调动学生的学习兴趣和积极性,主动性。借鉴建构主义和任务驱动式学习理论,将理论知识和实践锻炼进行有机的结合,合理实施教学内容。

2.2.1 理论知识采取三步骤教学法

基础理论知识的学习是教学过程必不可少的部分,由于比较抽象,学习起来枯燥乏味,而且学生难以发挥主动性,理解比较困难。理论知识的学习主要通过“理论讲授――例题解析――模仿解题”三个步骤来完成。首先,理论讲解可以把抽象的概念形象化,具体化,比如列举与现实生活相关的例子,如果讲继承技术的时候结合生物学的遗传变异现象进行解释,并制作图文结合的多媒体课件直观表达,能更利于帮助学生对概念的理解。其次,对相应的例题进行详细解析和演示,实现理论知识到代码实现的转化过程。最后,以例题为模板引导学生模仿类似问题的解决策略,最好提供具体题目,引导学生完成思路设计和关键代码的实现,直到学生能最终写出可以运行的代码。

2.2.2 实践教学分阶段分层次实施

基础与验证型实验:作为各部分的教学环节的上机实践材料,主要特征是与课堂教学密切结合,帮助学生理解和掌握各部分的基础知识。同时可作为教材的扩展材料,提高学生程序阅读和理解能力,是学生动手实践的基础。

小型综合实例:以作业或任务的方式在教学过程中阶段性提出并选讲,学生主要自主设计完成,可以帮助学生完成从理论学习到动手实践的过渡,并为综合探究型案例提供基础。

课后作业可以巩固和深化课堂知识,小型案例可以综合掌握知识模块,这部分教学可以锻炼学生动手操作能力和独立解决问题的能力。

综合探究型案例:给定或自选项目方式进行,综合运用所学的知识,可以培养学生项目开发的基本流程,积累项目开发相关的经验,尽早适应软件开发的工作。

这部分内容在教学后期基础理论知识学习完成时进行,采用小组协作学习模式为学生构建一个基于任务的、以学生为中心的学习环境,学生模拟软件开发流程通过协作交流共同完成任务。教师适时给出案例的开发流程、相关案例等必要的引导,可以培养学生解决问题的能力和团队合作精神。

2.3 考核方式体现知识与能力并重的过程性评价原则

在Java教学中由于学生对语言学习的悟性、学习策略等存在差异,因此接受各方面知识的能力不同,有的理论强一点善于设计,有的实践强一点善于实现。例如案例教学中从项目需求分析到设计及实现的各个环节需要发挥学生各方面的不同的优势才能完成整个任务。所以单纯的卷面考试已经不能真实全面的反映学生掌握水平。

最终成绩应体现理论知识兼顾实践能力,注重教学过程的过程性评价,主要包括下面几部分考核:

1 课堂提问和课堂作业等随机考查情况有时候更能真实反映学生的水平。

2 课后作业及案例任务的完成情况,按时独立完成,并能通过调试运行。

3 项目实现过程中从需求分析到设计及实现的各个环节进行相应的考核。

4 期末卷面考查,对于各知识点全面的测试。

3 对Java教师提出的几点要求

3.1 不断学习,全面把握教学内容及更新。

俗话说,教给学生一碗水,老师需要一桶水。Java教师要充分的把握教学内容才能在教学中有充分发挥的空间。计算机学科不同于其他基础学科,技术更新速度快,因此Java教师需要不断地学习才能把握最新的理论和技术。随着网络教学的发展,各种学习资源如多媒体课件,电子教案,视频教学录相等不一而足,为获取知识提供了极大的便利。Java教师应积极获取相关知识进行学习,并善于加工整理新知识来充实教学内容,弥补参考教材资料的不足。

3.2 积极参与各种项目培训及实际开发,提高自身实践能力。

学校的教师知识结构和专业素养存在差异,一般专业知识扎实,但缺少实际开发经验,所以不利于Java实践教学环节的进行。因此Java教师需要从自身出发,打破能讲清课本内容为目标,积极参加各种实践培训活动,参与实际项目的开发,提高自身实践能力,成为既能讲授理论知识,又能组织项目实践的“双师型”教师人才。

3.3 学习先进的教学理论和教学技能并应用于教学。

传统的“知识型”教学模式以教师为中心的知识灌输型教学,使学生学习的主动性、积极性难以发挥,不利于创新能力的培养,已经不适应现代教学的特点。随着多媒体技术和网络应用的发展,建构主义理论发展起来,其特点是:以学生为中心,强调学生对知识的主动探索、发现和对所学知识的主动建构过程。结合Java课程实践性强的特点,案例教学和项目教学中采取小组合作方式完成,充分利用建构主义理论进行设计和实施以提高教学效果。

现代多媒体技术应用于教学可以更好的激发学生的学习兴趣,增强教与学交互性,利于学生接受抽象、复杂的学习内容。所以Java教师应在多媒体课件、动画制作等多媒体教学方面多下功夫,并与传统的教学方法结合,对提高教学效果有很大的帮助。

5 结束语

Java语言程序设计是一门实践性很强的课程,重点培养学生面向对象编程技巧和动手实践能力。Java教师要把握教学过程实践的各个环节,理论与实践相结合,实践教学为主的教学原则进行教学。从提高自身教学技能出发,培养学生对Java语言的学习兴趣和主动性方面下功夫,提高Java教学效果。

参考文献

[1] 毋建军.Java实训课程体系构建研究[J].长江大学学报(自然科学版)理工卷,2010,3.

[2] 何可抗. 建构主义――革新传统教学的理论基础[J].电化教育研究,1997,4:25-27.

[3] 沈维政,苏中滨,赵洁.项目驱动教学法在Java语言程序设计教学中的应用[J].东北农业大学学报(社会科学版), 2010,2:49.

java课程精品培训篇5

一 Java程序设计教学存在的问题

高校的Java课程很多还在沿用传统的授课方法:板书+讲解,教学效果不甚理想。具体表现有,一是课堂教学内容繁多。对于Java教学内容侧重点不突出,每个知识点都讲解,重点不突出,造成教学内容重复,学生学习效果不佳[3]。二是实践环节脱离实际。对Java课程安排的实践课课时较少,无法系统地训练学生的实践动手能力,尤其缺乏大型系统性项目的训练。三是考核方式设计不合理。传统教学对学生的考核是通过笔试完成的,只要掌握了课本知识,通过记忆,考试就能够取得好成绩。这样的考核方式,鼓励的是理论的学习,完全忽略了实践环节的考核,培养的是只能纸上谈兵的人才。

以上诸多问题究其根源是学生学习缺乏动力,解决的办法就在于激发其学习兴趣和信心,最好的途径就是能够让学生自己动手解决实际问题,使其能力得到肯定和承认,体会到成功的快乐,从而增强学习动力。鉴于此,有必要对传统的课程教学模式进行改革。经过不断实践,笔者在教学中总结了一套行之有效的分阶段迭代式教学方法。

二 分阶段迭代式教学与Java课程设计的结合

针对Java教学中存在的问题,对教学的每个环节进行改进,将案例教学贯穿其中;增加Java实践课学时,将项目驱动教学法融入实践环节,让学生带着任务去学习,效果会更加理想;对于目前的考核方式进行改进,引入丰富的考核方式,加大实践环节考核的比例,使最终成绩更能反映学生的Java编程能力。

1 改进理论教学,提高教学效果

(1)教材的选择

针对Java教材较多的特点,选择理论知识讲解扎实、实例较多、更加符合学生实际需求的教材。同时,指定1~2本参考教材,满足有更高要求的学生[4]。

(2)教学内容的重组

针对Java语言的语法基础部分要难易区分,详略得当。采用提问、分组教学等方式提高课堂学习的效率,避免学生产生审美疲劳。同时,教学内容区分为基础知识和扩展知识,把基础部分讲解透彻,对于扩展知识部分详略有别,满足不同层次学生的需要,能最大限度的调动学生的积极性[5]。在课时安排上对实践性强的课程适当增加课时。同时增加一个大项目进行系统训练,并将任务分解到各个章节,具体安排如表1所示:

表 1 Java课程教学、实践内容

(3)教学方法的多样性

在教学过程中,教学思路融“教、学、做”为一体的,以项目为导向,精心选择课程内容、设计教学环节,并采用“启发式”“交互式”“任务驱动”“案例分析”等不同的教学方法,让学生积极参与其中,有参与感才能主动地学习。例如,讲到GUI图形用户界面时,组织学生分组讨论如何设计界面,如何布置窗口,通过构建原型提高学生的兴趣,发挥他们的能动性,课堂效果会更好。

2 加强实践环节教学,培养学生编程能力

对于实践环节,需要重视课本上的例题,先调试例题,有助于学生理解理论知识,对学生的早期编程有着重要的意义。同时,还应该加入实际项目的开发,选择学生熟悉的有典型代表性的项目,比如图书管理系统,学生对于系统的使用比较熟悉,知道目标系统有哪些功能。把系统的细节穿插于Java教学中,如表1中的“实践内容”部分。教师先分析系统的需求,一步步引导学生实现各个模块,最终开发出完整的系统。

3 回归理论,深谙知识内涵

通过课堂中的项目,已经覆盖所学的主要知识点,对理论知识已经有了一定的理解。实践以后再重新回顾,串联起各个模块用到的知识点;整合实践中遇到的复杂算法,理清知识头绪,使学完的知识点在今后的实践中应用,真正理解和掌握理论知识,达到升华理论知识,提高实践能力的目的。

4 再实践,提升实践能力

此阶段,运用软件工程的思想进行开发,选择合适的完整的案例或项目,让同学自己查找资料、自己规划设计方案。以项目功能模块为单位进行小组划分,组内成员担任不同角色,并选定小组负责人,培养团队精神。在项目进行过程中,主要依靠学生自身的能力和团队的协作,通过查阅资料及网络自主学习,以团队为单位独立解决遇到的困难。教师要定期对完成的较完整的项目进行检查与评价,根据各小组的项目准备、具体设计、测试过程中碰到的各种疑难问题解决的手法、总结团队合作的感受等方面,对小组负责的模块的运行效果加以点评,给与评价。具体步骤如图1所示。

图 1 “再实践”教学法的操作步骤

通过实践笔者发现,该方法的实施使学生编写代码的数量和质量有了质的提升,对于一些较为抽象内容也能主动涉及和研究。同时,该过程还培养了团队协作精神和集体荣誉感,锻炼了沟通能力和合作意识。对于设计过程中出现的新问题和新思路,也促使教师加深思考,根据学生的疑问补充新的教学内容,教学相长。

三 分阶段迭代式教学中应注意的问题

1 改善考核环节,提升评价水平

要提高考核方式实践环节成绩在期末考试总成绩中的比重。笔者采用期末笔试成绩占40%,实践教学平时成绩30%,大项目的比重占30%。对于大项目的验收,采取学生进行答辩的方式进行。首先每个小组选一个代表和教师共同组成评价团队,然后由每一个小组派出一个代表进行第一轮答辩,回答同学们和教师的问题,最后由评价团队共同为这个小组打成绩。小组的每个成员都参加第二轮答辩,阐述自己所做的工作,在小组成绩的基础上,对每个成员进行打分给出成绩,要求整个小组的平均成绩为小组的分数。这样,既可以培养学生的团队精神,让他们明白没有团队就没有个人的道理,又能发挥他们的积极性,每个人的最终成绩是和自己的努力息息相关的。

2 创建网络学习平台,方便师生交流

为了方便师生交流,配合课程教学,创建了网络学习平台。我们开设有Java精品课程网络平台,学生可以查看授课资料、下载相关资源、在线测试、师生交流,为课余学习提供新的方式。教师可以根据教学情况,在平台上发起相关知识的讨论,学生参与讨论,通过互动交流,教学效果会更好。

此外,QQ、微博、微信、Email等媒体也为师生互动交流提供了很好的平台,学生也可以通过这些通讯软件与教师进行沟通,有问题随时交流,解决学习过程中遇到的问题,同时也可以消除部分学生在大家面前羞于提问的顾虑。

总之,本文针对Java教学中存在的不足和问题,提出了分阶段迭代式教学模式,把优秀的教学理论引入Java教学过程,采取多样化的教学方法,提高学生的兴趣度,让他们积极参与到Java的教学中;同时引入案例教学法,在老师的指导下,使学生熟悉实际项目开发流程;通过重新回归理论,使学生深谙知识内涵,能串联起各个知识点;经过再实践环节,运用软件工程理论,按功能划分不同的小组,各小组合作完成模块功能,让学生有更强的参与感,也能培养团队协作精神和实际解决问题的能力。另外,对考核方式进行改进和完善,考核中要体现出实践能力的重要性;最后通过多种教学手段进行交流、答疑解惑。实践证明,该方法能培养学生的学习兴趣,提高学生的Java编程能力,值得借鉴使用。

参考文献

[1]刘建伟,时华. Java程序设计教学改革的新思路[J]. 陕西教育,2012(11):56-57.

[2]汤海蓉,李锡辉. 基于项目驱动的JAVA程序设计教学改革[J].教育与职业, 2012(6):140-142.

[3]王威.项目教学法在软件工程课程中的应用研究[J]. 教育理论与实践,2011,31(9):53-54.

java课程精品培训篇6

Java语言具有跨平台、开源、简洁等优点,已成为21世纪首选的程序开发语言。但作为应用型软件人才培养的基础课程,Java课程教学方法的改革显得尤为重要。

参考文献介绍一种Java新的教学模式,提出改进课堂教学;

参考文献提出要紧抓实践教学。这些方法都有独到之处,但是却忽略了Java课堂教学和实践教学的整体性。本文提出一种“分阶段迭代式”的教学模式:理论一实践一再理论一再实践。以案例教学贯穿于课堂教学,使学生熟悉基础知识;以项目实战贯穿于实践,使学生掌握编程能力;再回到理论,让学生重新理解知识,使知识得到升华;最后再实践,使编程能力得到深化。实践证明,新的教学模式应用以后,教学效果良好。

一 Java程序设计教学存在的问题

高校的Java课程很多还在沿用传统的授课方法:板书+讲解,教学效果不甚理想。具体表现有,一是课堂教学内容繁多。对于Java教学内容侧重点不突出,每个知识点都讲解,重点不突出,造成教学内容重复,学生学习效果不佳。二是实践环节脱离实际。对Java课程安排的实践课课时较少,无法系统地训练学生的实践动手能力,尤其缺乏大型系统性项目的训练。三是考核方式设计不合理。传统教学对学生的考核是通过笔试完成的,只要掌握了课本知识,通过记忆,考试就能够取得好成绩。这样的考核方式,鼓励的是理论的学习,完全忽略了实践环节的考核,培养的是只能纸上谈兵的人才。

以上诸多问题究其根源是学生学习缺乏动力,解决的办法就在于激发其学习兴趣和信心,最好的途径就是能够让学生自己动手解决实际问题,使其能力得到肯定和承认,体会到成功的快乐,从而增强学习动力。鉴于此,有必要对传统的课程教学模式进行改革。经过不断实践,笔者在教学中总结了一套行之有效的分阶段迭代式教学方法。

二 分阶段迭代式教学与Java课程设计的结合

针对Java教学中存在的问题,对教学的每个环节进行改进,将案例教学贯穿其中;增加Java实践课学时,将项目驱动教学法融入实践环节,让学生带着任务去学习,效果会更加强想;对于目前的考核方式进行改进,引入丰富的考核方式,加大实践环节考核的比例,使最终成绩更能反映学生的Java编程能力。

1 改进理论教学,提高教学效果

(1)教材的选择

针对Java教材较多的特点,选择理论知识讲解扎实、实例较多、更加符合学生实际需求的教材。同时,指定1—2本参考教材,满足有更高要求的学生。

(2)教学内容的重组

针对Java语言的语法基础部分要难易区分,详略得当.采用提问、分组教学等方式提高课堂学习的效率,避免学生产生审美疲劳。同时,教学内容区分为基础知识和扩展知识,把基础部分讲解透彻,对于扩展知识部分详略有别,满足不同层次学生的需要,能最大限度的调动学生的积极性。在课时安排上对实践性强的课程适当增加课时。同时增加一个大项目沸行系统训练,并将任务分解到各个章节,具体安排如表1所示:

(3)教学方法的多样性

在教学过程中,教学思路融“教、学、做”为一体的,以项目为导向,精心选择课程内容、设计教学环节,并采用“启发式”“交互式”“任务驱动”“案例分析”等不同的教学方法,让学生积极参与其中,有参与感才能主动地学习。例如,讲到GUI图形用户界面时,组织学生分组讨论如何设计界面,如何布置窗口,通过构建原型提高学生的兴趣,发挥他们的能动性,课堂效果会更好。

2 加强实践环节教学,培养学生编程能力

对于实践环节,需要重视课本上的例题,先调试例题,有助于学生理解理论知识,对学生的早期编程有着重要的意义。同时,还应该加入实际项目的开发,选择学生熟悉的有典型代表性的项目,比如图书管理系统,学生对于系统的使用比较熟悉,知道目标系统有哪些功能。把系统的细节穿插于Java教学中,如表l中的“实践内容”部分。教师先分析系统的需求,一步步引导学生实现各个模块,最终开发出完整的系统。

3 回归理论,深谙知识内涵

通过课堂中的项目,已经覆盖所学的主要知识点,对理论知识已经有了一定的理解。实践以后再重新回顾,串联起各个模块用到的知识点;整合实践中遇到的复杂算法,理清知识头绪,使学完的知识点在今后的实践中应用,真正理解和掌握理论知识,达到升华理论知识,提高实践能力的目的。

4再实践,提升实践能力

此阶段,运用软件工程的思想进行开发,选择合适的完整的案例或项目,让同学自己查找资料、自己规划设计方案。以项目功能模块为单位进行小组划分,组内成员担任不同角色,并选定小组负责人,培养团队精神。在项目进行过程中,主要依靠学生自身的能力和团队的协作,通过查阅资料及网络自主学习,以团队为单位独立解决遇到的困难。教师要定期对完成的较完整的项目进行检查与评价,根据各小组的项目准备、具体设计、测试过程中碰到的各种疑难问题解决的手法、总结团队合作的感受等方面,对小组负责的模块的运行效果加以点评.给与评价具体步骤如图1所示

通过实践笔者发现,该方法的实施使学生编写代码的数量和质量有了质的提升,对于一些较为抽象内容也能主动涉及和研究。同时,该过程还培养了团队协作精神和集体荣誉感,锻炼了沟通能力和合作意识。对于设计过程中出现的新问题和新思路,也促使教师加深思考,根据学生的疑问补充新的教学内容,教学相长。

三 分阶段迭代式教学中应注意的问题

1 改善考核环节,提升评价水平

要提高考核方式实践环节成绩在期末考试总成绩中的比重。笔者采用期末笔试成绩占40%,实践教学平时成绩30%,大项目的比重占30%。对于大项目的验收,采取学生进行答辩的方式进行。首先每个小组选一个代表和教师共同组成评价团队,然后由每一个小组派出一个代表进行第一轮答辩,回答同学们和教师的问题,最后由评价团队共同为这个小组打成绩。小组的每个成员都参加第二轮答辩,阐述自己所做的工作,在小组成绩的基础上,对每个成员进行打分给出成绩,要求整个小组的平均成绩为小组的分数。这样,既可以培养学生的团队精神,让他们明白没有团队就没有个人的道理,又能发挥他们的积极性,每个人的最终成绩是和自己的努力息息相关的。

2 创建网络学习平台,方便师生交流

为了方便师生交流,配合课程教学,创建了网络学习平台。我们开设有Java精品课程网络平台,学生可以查看授课资料、下载相关资源、在线测试、师生交流,为课余学习提供新的方式。教师可以根据教学情况,在平台上发起相关知识的讨论,学生参与讨论,通过互动交流,教学效果会更好。

此外,QQ、微博、微信、Email等媒体也为师生互动交流提供了很好的平台,学生也可以通过这些通讯软件与教师进行沟通,有问题随时交流,解决学习过程中遇到的问题,同时也可以消除部分学生在大家面前羞于提问的顾虑。

总之,本文针对Java教学中存在的不足和问题,提出了分阶段迭代式教学模式,把优秀的教学理论引入Java教学过程,采取多样化的教学方法,提高学生的兴趣度,让他们积极参与到Java的教学中;同时引入案例教学法,在老师的指导下,使学生熟悉实际项目开发流程;通过重新回归理论,使学生深谙知识内涵,能串联起各个知识点;经过再实践环节,运用软件工程理论,按功能划分不同的小组,各小组合作完成模块功能,让学生有更强的参与感,也能培养团队协作精神和实际解决问题的能力。另外,对考核方式进行改进和完善,考核中要体现出实践能力的重要性;最后通过多种教学手段进行交流、答疑解惑。实践证明,该方法能培养学生的学习兴趣,提高学生的Java编程能力,值得借鉴使用。

参考文献

[1]刘建伟,时华.Ja、7a程序设计教学改革的新思路[J].陕西教育,2012(11):56-57.

[2]汤海蓉,李锡辉.基于项目驱动的JAVA程序设计教学改革[J].教育与职业,2012(6):140-142.

[3]王威项目教学法在软件工程课程中的应用研究[J].教育理论与实践,2011,31(9):53-54.

java课程精品培训篇7

论文关键词:Java,教学模式,实践教学,编程习惯

 

引言

Java作为一种面向对象编程语言,自1995年推出以来,由于其具有简单、面向对象、分布式、可移植性、安全可靠等特点,深受业界的推崇,现已成为软件开发领域最主流的设计语言之一,随着近年来嵌入式人才需求量的增加,许多高职院校都开设了《Java语言程序设计》课程,因此如何培养符合企业要求的Java人才便成为计算机教学中一个值得探讨的问题。

1 提高教师自身技能

所谓“工欲善其事,必先利其器”,要想培养出适应市场需求的高素质技能型人才,必须要有一批专业基础扎实、实践开发经验丰富的优秀教师。然而目前许多高校都存在这一共性问题,学校的教师多数毕业后直接走上教学工作岗位,没有实际的Java开发经验,而软件开发人员可能又不太适合教学工作,这就要求教师必须通过不断学习,积极参与企业实际项目的开发,努力提高自身实践技能。

2 培养学习兴趣、因材施教

在教学的过程中笔者发现,和其他的程序设计语言一样,学生普遍感觉枯燥乏味,缺乏学习动力,因此要想提高教学质量,必须让学生从心里改变对课程的厌烦情绪。

(1)培养学习兴趣。对于初学者而言,由于对编程缺少认识教学模式,很少会有学生因为爱好编程而学习Java。而程序设计不仅要求计者具有很强的逻辑思维能力,思路清晰,还要求设计者能不断自我学习,适应现代编程技术的变化。这对一些学生造成了学习压力,进而导致他们畏难的情绪,害怕编程。在教学中,首先,让学生认识到Java的应用普及程度及其就业前景,以此激发学生的学习欲望。其次,向学生展示一些比较有意思的Java小程序,典型的像手机中的小游戏,让学生更加直观地认识到Java编程的实际意义,激发学习兴趣。

(2)分析学生的学习能力。课前要充分了解学生之前是否学习过其他的编程语言,班级中文理科学生的比例等,在此基础上对课程教学内容的侧重点做一个整体的把握,还可以适当调整理论课与实践课的课时比例,针对学生实际情况选择合适的教学方法,让学生在轻松愉悦的氛围中获取知识。

3 改进教学模式、强化实践教学

传统的教育模式主要侧重教师的讲解,如今多媒体虽已经广泛应用于教学中,但大多数仍局限于幻灯片放映,缺乏教与学的互动。为了提高教学质量,可以在教学中采用任务驱动与案例教学相结合的教学方法,教师针对每个知识点设计工作任务,每个任务中又包含有几个典型案例,每个案例将知识点讲解与技能训练有机融合论文格式模板。这些案例之间既相对独立,又有着一定的联系,而每个案例的讲解经历“提出目标―制作演示―模仿练习”三个过程,让学生深刻理解案例的完成过程,充分体现了“教师引导,学生主导”的教学理念。同时,在讲解过程中要善于把复杂的问题简单化,抽象的概念实例化、具体化。

加强实践教学, 实行工学结合的育人模式, 是目前高职计算机专业教学改革的一个突破点。程序设计类课程最终的教学目标就是要提高学生的程序设计能力,这需要培养学生分析问题能力、逻辑思维能力和创新能力。因此,教师在教学中一定要加强实践教学,可以根据学生对课程掌握的实际情况适当增加实践课程。全部理论课程讲授完后,要精心设置几个综合项目,将所学知识点贯穿进去,同时又能锻炼学生的编程能力,对学生进行集中强化训练,使学生能够将所学的理论知识应用到实际编程中,从而提高程序设计能力。对于难度较大的项目可让几个学生分组协作完成,培养学生的团队协作精神。

4 培养编程思想、养成良好编程习惯

学习编程语言,核心就是掌握其编程思想,只要掌握了编程思想,当我们再学习新的编程语言时便可触类旁通。为了培养学生的编程思想,教师可以以解决实际问题的程序设计思想作为教学的切入点,例如在讲解选择结构时以学生成绩等级评定为例教学模式,让学生切实感受的编程思想在解决实际问题中是如何体现的,同时启发引导学生用程序的方式来解决生活的实际问题,在教学过程中要注意循序渐进,先让学生运用常用的结构和方法去解决一些简单的实际问题,然后由浅入深,最终达到学以致用的目的。同时,多读一些典型的源代码,分析别人解决问题的思路,这对初学者提高编程意识、开阔视野非常重要。

另外,在编写代码时一定要养成良好的编程习惯。虽然Java是一种自由格式的语言,但是在教学过程中,绝对不能够让学生养成随心所欲的习惯。对于初学者而言,一定要从开始就养成良好的编程风格,特别是要注意代码的规范性。其次,对于较复杂的程序,要让学生编写注释,这样可以提高程序的可读性和可维护性。

结束语

Java程序设计语言是当前应用非常广泛的主流语言,教师要在培养学生学习兴趣的基础上,采取适当的教学方式,加强实践教学,注重面向对象编程思想的培养,当然教学关键在于因材施教,教学过程中需考虑存在的问题,同时应结合学生的特点,探索出一条适合本校教学的新路,取得更好的教学效果。

参考文献:

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

[2]樊伟,周正国,张永瑞.Java 语言课程教学中的问题及对策[J].现代教育技术,2010(07):122-123.

java课程精品培训篇8

关键词:Java课程;理论与实践并重;工程和创新;教学模式

文章编号:1672-5913(2013)03-0093-04

中图分类号:G642

强化培养学生的工程和创新能力是“卓越工程师培养计划”的特点之一。工程能力亦称生产技术能力,是人们将科学知识或技术发展的研究成果应用于生产过程的能力。创新能力则是探索未知领域和对已知领域破旧立新的研发能力。因此,“卓越型人才”必须兼具应用与研发能力。当前基于“卓越计划”的课程改革往往过于侧重应用型人才培养,在课程设置上也过于案例化、项目化和实践化,导致学生在实践应用过程中知其然而不知其所以然。然而,创新的过程是基于客观规律和科学理论的,扎实的理论基础才是学生进行创新研究的原动力。如何令实践应用充分围绕理论知识并权衡实践与理论教学的尺度,是笔者针对Java课程改革所要讨论的问题。

1 理论型与实践型教学的对比

为了实际了解理论教学与实践教学的授课效果,笔者以上海应用技术学院软件工程专业2个班级的82名学生为调查对象,对Java课程同一章节的2种教学方法产生的教学效果进行对比。此章节为Java程序语言中具有代表性的面向对象编程技术。教学方法是教师对其中一个班级(理论班)进行传统的课堂理论授课,详尽讲述继承和多态的概念并布置相关内容的课后作业;对另外一个班级(实践班)则采用实践教学的方法,以银行账户管理系统为项目案例,讲述继承和多态的概念并让学生完成程序的编写和调试。教学效果的对比采用在不提前告知学生的情况下布置小型项目以测试学生掌握情况的形式。测试项目为继承和多态的典型应用案例,如编写形状父类并派生出矩形、圆及三角形子类,然后使用多态的方法计算各形状的面积,规定完成的时间为1课时。测试采取闭卷的形式。

根据测试结果,学生掌握的情况大致可分为完全掌握(完整可运行程序)、部分掌握(能写出父类、子类或多态的方法,但程序无法正确运行)和没有掌握(无法正确写出任何程序)。教学情况统计如表1所示。

完全掌握的学生中,实践班的人数多于理论班。我们进一步分析这些学生的答案后发现,实践班15名学生基本以课堂案例为模板进行程序功能的修改,因此程序相似度很高;而理论班的5名学生运用继承和多态的概念,从项目要求出发编写具有个人特色的程序,因此程序相似度很低。显然,从教学效果上来说,理论教学相较实践教学更适合培养具有应用创新能力的人才;而从对比的数据结果来看,理论教学只适合少部分拔尖学生,实践教学则更易于被学生接受。

部分掌握的学生中,理论班的人数多于实践班。从这部分学生的答案中发现,理论班中的大部分学生能够正确地定义父类、子类或多态,却无法根据项目要求写出完整的程序;而实践班学生的错误大多是由于死板或错误地套用课堂上的案例所造成的,学生对于案例背后的理论知识一知半解。完全没有掌握的学生出现问题的原因与部分掌握学生出现问题的原因类似,即实践应用缺乏理论支撑,理论运用缺乏实践指引。

由上述对比结果可见,2种单一的教学模式均无法获得良好的教学效果。那么,是否结合2种教学模式就能取长补短并提升教学效果?笔者就此问题进行如下探索。

2 理论结合实践教学的探索

理论结合实践的教学模式已被广泛应用于Java课程的教学。使用较广泛的模式有以下2种。1)非项目模式。教学以理论授课作为主要内容,结合幻灯片等多种手段分析小型案例,进行代码的演示与讲解,并在理论课之间穿插实践上机课程,以帮助学生巩固课堂理论知识并进行实际应用。2)项目模式。教学以实际项目作为驱动,从开始授课就为学生布置项目任务并根据Java课程的各部分理论将项目划分为模块,结合教学进度让学生分阶段进行各模块的开发,逐步完成整个项目。

2.1非项目模式教学

非项目模式教学是理论型教学模式结合实践教学的一种改进,采用的教学方法依然是以教师为主的讲授式教学,辅以实践课程帮助学生理解和应用理论知识。Java语言课程理论知识众多,在非项目模式教学中,理论课与实践课的课时比例一般为2:1或3:1。充足的理论课时使任课教师能够详尽地讲解Java的各类基础理论,可以为学生应用Java程序语言完成各类Java软件开发打下扎实的理论基础。然而Java程序语言中必然存在枯燥且抽象的语法、定义和概念等,一些自制能力较差和对困难准备不足的学生在面对不断出现的抽象知识时会产生厌烦和畏缩心理。

此外,由于实践课时的限制,在实践项目的安排上,非项目模式教学一般以课本例题或具有理论针对性的案例为主。虽然此类实践项目具有理论针对性强以及答案可控性高的优点,但由于案例的片面针对性,使实践项目缺乏实用性。学生学会的只是简单应用某特定知识点,对于相对复杂且综合性知识要求高的系统开发依然无从人手,从而产生“学习这门课程做不出任何有用软件”的挫败心理,打击了学习积极性并产生应付考试的不良学习态度。

2.2项目模式教学

针对上述问题,笔者对上海应用技术学院卓越工程师试点班的38名学生采用项目模式的试点教学,期望通过开发具有实际应用价值的小型项目让学生了解Java程序语言的实际用途,激发学生的兴趣并帮助学生明确学习目标,从而改善非项目模式存在的问题,探索适合培养“卓越工程师”的教学模式。

在试点教学开始前,笔者首先需要确定实践项目的内容。考虑到试点班学生将在最后1学年进入合作企业(塔塔信息技术股份有限公司)接受培训,因此实践项目小规模地模拟了该企业的主要开发产品——ERP系统,名为企业货物进销存管理系统。该项目涵盖Java程序语言的主要知识点,包括程序流程控制、数组、类和对象、系统类、输入输出系统、GUI图形界面设计、数据库操作等。同时,该项目各模块关联教材各章节的知识点,也为学生明确了各阶段学习的目标。

在课时安排上,为了保障项目开发所需的时间,笔者将理论与实践课时调整为各占50%;同时,考虑到学生已具备C++、数据库等先修课程的基础,因此在理论课中尽量减少纯理论知识的讲解,着重以项目和程序案例代码讲解为主。目的是让学生对案例化的理论知识产生直观的应用感受,进而逐步将代码中具有特例性的知识内容泛化,归纳为教材中的抽象理论,从而使学生在知识转化的过程中学到知识,而并非单纯地记住知识。

值得注意的是,在试点过程中,笔者发现项目模式的授课计划不能依照教材中的目录顺序制订。以试点项目为例,完整的管理系统开发一般从数据库操作出发创建项目,进而设计系统的模块类和GUI图形界面,并在开发过程中使用流程控制和数组等一系列Java程序语言内容。因此,项目模式的教学必须根据项目开发的流程,安排教材中各章节内容的先后授课次序。实践证明,这样的授课计划有利于实践课程的顺利开展,减少学生由于学习枯燥理论而产生的厌烦情绪。根据试点班学生的反馈得知,在实际开发项目的过程中,许多具有创造性的想法是无法通过套用案例实现的。此时,他们会回顾理论课的授课内容并通过教材或互联网探索适用的理论知识,每当成功运用理论知识实现想法时,都会产生豁然开朗的感受,从而对融会贯通并灵活应用理论知识的重要性有了更深刻的认识。

项目开发需要团队,更需要积极向上的团队,不合理的团队组合会造成学生的依赖性,甚至有些学生根本不动手实践。在试点中,考虑到同寝室学生交流机会多和生活规律类似的特点,笔者将团队以寝室为单位进行划分,同时根据个别学生的要求进行微调。为了调动团队每位学生的积极性和责任心,笔者采用根据项目模块轮换组长的机制。每次轮班的组长负责安排各组员的职责和工作,组织讨论模块需求和设计方案,统筹书面的工作计划、设计方案和模块代码。学生在组长和组员角色的轮换中,纷纷感受到作为组长的压力和责任、作为组员协同合作的重要性以及自身努力对于整个团队的影响。在每一次的模块开发中,组员间相互激励并相互约束,分享成功的喜悦,增进了集体荣誉感以及学习的主观能动性。

当然,除了学生自身的努力以及团队的协作外,教师的指导和引领也至关重要。笔者在试点教学过程中发现,对于一些知识点涵盖量大和逻辑性强的模块,教师需要启发学生思路,指导学生运用知识,准备相关的资料并及时与学生进行交流,从而时刻掌握项目开发的进度,避免学生犯不必要的错误。此外,在理论授课中,教师应根据项目开发进度对内容作针对性的调整,着重纠正开发过程中出现的错误,从理论层面分析错误的原因,配以相关案例启发学生找到正确的解决方案。

项目的考核采用教师模拟客户的形式,从程序的强壮性、功能性以及友好性等方面对软件的质量进行评判。从项目的整体质量评判团体分,并参照各模块中分工和职责的难易度评判个人分,进而得出综合分。在总评分方面,将项目分纳入考核成绩中,并将其所占分数比例提高到50%,真正在成绩上反映出实践和理论的并重。

3 项目式Java程序语言教学的关键环节

通过实践探索,笔者可以对本文第1节最后提出的问题作出肯定回答,即实践结合理论的教学方式可以提升教学效果,但前提是必须把握如下几个重点环节。

1)实践项目内容的选取。Java程序语言的应用极为广泛,案例项目众多。在项目的选取上必须注重内容的实用性和趣味性、知识的涵盖量以及开发的周期。选取合理的项目,可以激发学生的兴趣,加深学生对理论知识的理解,为学生运用创新思维创造空间。

2)授课计划和课时的安排。多数情况下,项目模式教学方法需要更长的实践课时,这就导致理论课时的缩减。因此,在授课计划的制订过程中必须精炼理论课的内容。教师可以根据学生对于C++等类似于Java程序语言的课程掌握情况以及理论与实际项目的关联程度,针对性地筛选授课内容,并在理论课中通过案例教学加深学生对抽象理论的理解,在实践课中培养学生从项目开发中归纳泛化理论知识的能力。

3)团队的组织。由于学生之间存在着学习习惯、生活习惯、兴趣爱好等差异,团队的组织应从学生的主观意向出发,让关系较亲近的学生组成一个团队,这样有利于团队凝聚力的培养。此外,教师可在项目开发过程中创造客观条件,培养团队中每位组员的主观能动性,安排每位学生轮流扮演组长和组员的角色,让学生感受组长工作的难度,体会组员协同组长工作的重要性,在团队工作中培养集体荣誉感和责任心。

4)教师的作用。Java程序语言是一门应用性强和理论多样的课程。学生容易对日渐增多的理论产生厌烦情绪,更容易在屡次失败的实践中丧失学习信心。因此,教师需要把控课程的进度,突出每一次授课的重点,避免照本宣科。对于较难的抽象理论,教师需结合趣味性强且实用性高的案例以帮助学生理解。同时,教师必须及时对学生遇到的困难和问题进行指导,可用相似例子或相关理论启发学生思路,鼓励学生通过自己的努力解决问题。此外,对于授课的内容,教师应根据学生对于实践和理论的掌握情况进行调整,尤其应针对学生对理论理解的偏差以及在实践中出现的错误,及时进行分析和纠正。

5)考核的方式。除了传统的以试卷形式考核学生对于理论知识的掌握情况,实践项目的完成情况同样应作为考核重点。实践项目的考核应合理评估学生的实践应用能力,让学生理解实际应用的重要性。教师在考核中需大幅增加实践成绩的比例,在实践评分中除了需要根据项目的完成情况给出团队成绩外,还需要根据每一位学生阶段性的工作量、工作难度、团队贡献等,综合评判学生的个人成绩。

4 企业参与的合作人才培养

检验上述教学模式好坏的最好方式是让学生面向社会,接受企业对他们能力的检验。“卓越工程师培养计划”也重点提出学校与企业合作培养的要求。利用企业资源,将企业培养纳入教学环节是提高Java程序语言课程质量的关键。

以上海应用技术学院的合作企业(塔塔信息技术股份有限公司)为例,该企业以Java作为主要程序开发语言,具有众多的项目开发小组,是学生检验和发挥所学知识的理想平台。合作过程中,企业培养由专任的培训人员负责,根据企业项目的需求,对学生Java程序语言的应用能力进行强化培训,采用面试的方式对学生进行考核。只有符合企业能力要求的学生才能直接进入项目小组进行程序开发,而不符合要求的学生则需要接受进一步的培训。这种“优胜劣汰”的模式能够让学生提前感受到社会的竞争压力,对于实现学生从毕业到就业的“零过渡”具有很大益处。

此外,与学校的项目开发方式不同,企业化的项目管理涉及一系列的需求文档、规格说明、测试准则等,具有高度的规范性和严谨性。小组中每一位项目组长均由经验丰富的开发人员担任,对于组员的管理、工作职能安排、开发进度跟踪均有独到之处。学生通过比较自己在校内项目中的管理和开发方式,很容易就能找到自身的不足之处,迅速明确努力的目标和方向。同时,企业中的学生也是员工,需要对自己编写的程序和工作进度负责。对于无法完成工作安排的学生,企业除了进行培训指导以外,还必须根据企业的相关条例对其进行相应的处罚。严格的企业化管理会给学生造成压力,但同时也促进学生自学、自律、团队合作等综合能力的培养。

笔者从企业的反馈中得知,相较于传统教学模式培养的学生,新教学模式培养的学生能够迅速理解开发项目的需求,掌握相关知识的应用,明确自身在团队中的职责,完成项目开发的任务。更可喜的是,多名学生在完成培训后直接被合作企业聘用,这是对学生能力最有力的证明,更是对教学模式改进效果的肯定。

java课程精品培训篇9

关键词:迭代;项目教学;教学设计;编程逻辑;Java程序设计

在传统的计算机教学过程中,高职类学生软件课学习的知识面过于庞大,且知识点分散在不同教学单元,知识点之间的衔接也不够紧凑、不够连贯,这不仅影响学生的学习效果,也使教师在传授知识时缺乏整体感,这样的教学难以培养学生发现问题、分析问题、解决实际问题的能力[1]。

为了适应社会对高职人才的需求、适应计算机课程的教学要求,针对高职学生的特点,笔者将迭代开发法用于计算机软件课程的项目教学[2],在实践中取得了良好的教学效果。通过在课堂教学中营造软件项目开发环境,不断引导学生采用多次迭代开发的方法完成一个真实项目。课程的教学内容被分解到每一次迭代中,课程的教学目标在迭代中逐步实现。在项目由简到繁的迭代开发中,学生不仅学到了课程知识,设计出功能完善的软件系统,同时,对实际项目开发也有了切身体验和实践,开发技能得到了充分的训练。

1应用迭代开发方法进行项目教学的概述

1.1迭代开发方法

迭代是数学上的一种求解方程的方法,也叫逐次逼近法,是一种通过求近似根的序列收敛,最终得到较为精确解的过程。迭代的过程是不断重复的,但每次迭代的初值不同。

现代软件工程中的迭代开发法原理同样采用多次重复开发的方式,每次递增地实现开发任务[3],直到最终产品被完成。迭代开发中,开发任务被分解成一些更容易实现的阶段性目标,每个目标有其定义明确的阶段性评估标准,迭代就是为了完成给定的阶段目标。通过渐进的开发过程,阶段目标形成一系列功能递增的软件版本,在循环往复中逐步完善软件系统。

1.2迭代开发方法在项目教学中的运用

在项目教学中采用迭代开发的方法的关键是根据课程目标选取一个典型而功能完善的教学项目。通过将该教学项目划分为能够覆盖课程主要知识点的一系列迭代案例[4]。课堂教学中模拟软件项目的开发流程,以迭代案例为阶段目标,由浅到深、由易到难循序渐进的推进教学进度,不断实现阶段性案例,增强软件项目的功能,最终实现软件开发的阶段目标和教学目标的同步进行直至教学任务和软件最终版本的完成。

2迭代项目教学的设计

2.1迭代项目教学的设计要求

在计算机软件类的项目教学中,项目要体现出迭代特征,从最初的雏形经过一系列迭代演化,由部分到整体,最终形成一个功能完整的系统。项目教学作为高职院校实践技能教学的重要方法,不仅要满足真实性和典型性,还要符合以下要求。

(1) 项目的可分解性。采用的教学项目可分解成多个独立的案例,可以映射教学目标中不同教学单元的主要知识点。在整个教学过程中始终以教学项目为导向,根据项目分解的案例进行相应教学单元的教学,能够激发学生的兴趣,引导学生深入思考,启迪学生的思维,加深教学内容的理解。

(2) 项目的迭代性。在采用的教学项目分解为独立案例的前提下,要求多个独立案例之间呈现出功能从弱到强的特征,随着该顺序推进教学进度,形成的案例功能越来越完善,直到课程教学任务的完成,完整的教学项目才最后实现。同时,学生通过对教学项目的亲身实践,能够体会到知识的连贯性和螺旋上升性。

2.2迭代项目教学的设计原则

运用迭代项目教学法,要遵循如下基本原则:在宏观层面,案例的迭代渐进与教学单元的安排次序相对应;在微观层面,案例的阶段目标与覆盖了教学单元的主要知识点。设计原则如图1所示。

3迭代项目教学方法的实施过程

本文以编程逻辑-Java程序设计教学为例,选取“超市购物管理系统”作为迭代式项目教学法的开发项目,说明在高职计算机软件课程教学中迭代项目教学方法的实施过程。

3.1 “超市购物管理系统”教学项目功能的分析

超市购物是学生接触的真实环境,在学生熟悉其功能的前提下让学生自己动手开发一个超市购物管理系统,很容易引起学生的好奇,并提高其对课程的学习兴趣。同时,该项目涉及编程逻辑中的核心知识要点,经分解和细化各项功能,可作为迭代开发的教学项目。

超市购物管理系统功能分解如图2所示。

3.2编程逻辑-Java程序设计的教学目标分析

编程逻辑-Java程序设计的教学目标是:让学生掌握基本的Java Application的基本结构,熟练运用各种运算符、表达式以及常用流程控制语句和数组的使用,注重培养学生分析问题、解决问题的能力,养成良好的编程规范,提高学生的职业素养。因此,编程逻辑-Java程序设计课程的主要教学单元是:(1)Java起步;(2)Java变量;(3)Java操作符;(4)Java表达式、语句和代码块;(5)Java流程控制语句;(6)Java数组。

3.3 “超市购物管理系统”与编程逻辑-Java程序设计课程的关联

超市购物管理系统的6个子模块涵盖了编程逻辑-Java程序设计课程的核心知识点,因此,教学项目与课程教学目标的总体思路是基本一致的。

根据迭代开发的原则,项目分解为更易实现的独立案例。下面介绍项目的分解及迭代开发过程。根据“超市购物管理系统”的设计,编程逻辑-Java程序设计课程的教学过程中实现进行了六次迭代。每次迭代开发均涉及不同的教学单元和知识点,并逐步推进课程教学,实现的“超市购物管理系统”功能也在不断增强。

(1) 第一次迭代,案例目标(任务1):超市小票的打印功能,对应“Java起步”和“Java语句”教学单元,涉及主要知点:Java Application的基本结构和Java开发工具包的常用命令。

作为项目迭代的启动阶段,要通过“超市购物管理系统”的实际演示来让学生对教学项目有个总体认知,同时了解课程总体的教学目标。然后师生共同分解出第一次迭代案例的任务,打印输出超市小票。将学生引入编程领域,熟悉Java Application的基本结构,会根据真实的超市小票进行打印输出,会使用Java命令编译程序,会使用Java命令执行程序。

同时,在实践过程中要提出程序名的行业命名规则和程序代码的编写规范。

(2) 第二次迭代,案例目标(任务2):超市购物结算功能,对应“Java变量”、“Java运算符”和“Java表达式、语句和代码块”教学单元;涉及主要知识点:使用变量的三个步骤、基本的数据类型(String、int、double、char)、基本的算术运算符(+、-、*)、赋值运算符(=)。

在这一阶段,教师引导学生学习变量的作用及其使用的三个步骤,使用算术运算符对超市购物进行简单的逻辑计算,无形中学会运用表达式,使第一次迭代中超市小票的输出具有一定的现实意义。这样,让学生先体会到原来在超市管理系统中的结账功能用很简单的算术运算就可以实现,再辅以形象生动的多媒体动态演示,让学生轻松掌握数据类型的作用以及变量存在的必然性及变量使用的三个步骤。

同时,在实践过程中要强调变量的行业命名规范和提出对程序编码规范的要求。

(3) 第三次迭代,案例目标(任务3):录入会员信息功能,包含“Java起步”、“Java运算符”、“Java表达式、语句和代码块”和“Java流程控制语句”教学单元;涉及主要知识点:算术运算符(/、%)、比较运算符()、逻辑运算符(||)、在命令行模式下与程序互动(Scanner)、next()、nextInt()、nextDouble()、if-else语句。

在这一阶段,我们引导学生可以对程序输入一些数据,作一些傻瓜式的互动。在Java SE 5.0以后,可以使用java.util.Scanner类取得使用者的输入,要求录入会员的卡号和积分。

在该阶段,要求会员的卡号为四位整数,引导学生会对变量和字面常量进行简单的比较、会使用简单的if-else流程控制语句。

在第一次迭代中,学生对给变量赋值在程序的情形不符合现实生活中的情形发生质疑,此时应该引导学生将固定值升级为用户与程序的互动,而且引导学生使用/和%计算出会员卡号的所有数字之和,复习刚刚学过的比较运算符,如果卡号所有数字之和大于20,可以获得超市的精美礼品一份。

(4) 第四次迭代,案例目标(任务4):真情回馈抽奖功能,“Java起步”、“Java运算符”、“Java表达式、语句和代码块”和“Java流程控制语句”教学单元;涉及主要知识点:if-else语句、switch语句、Math.random()函数。

根据超市为了鼓励顾客使用会员卡,对会员积分的不同等级设置相应的打折优惠,此时引导学生编写复杂的if-else语句,并且学习switch语句实现同样的功能。

在第三迭代的基础上,引入Math.random()函数生成一个0-9之间的随机整数,判断顾客卡号十位数字是否等于随机生成的整数,如果相等则赠送精美礼品。这样就降低了获得赠品的几率,既符合现实生活中的实际情形又能使得学生很容易接受新的知识点。

(5) 第五次迭代,案例目标(任务5):读取物品条码模块,对应“Java起步”、“Java运算符”、“Java表达式、语句和代码块”和“Java流程控制语句”教学单元;涉及主要知识点:switch语句、while语句、for语句。

因为超市的物品都是通过读取条形码来获取物品的名称和价格,所以在第五次迭代中引导学生使用while语句和switch语句的结合来模拟通过用户连续输入物品的条形码来获取物品的名称和价格。然后,演示for语句、do-while语句也可以实现同样的功能。

(6) 第六次迭代,案例目标(任务6):系统管理菜单,对应“Java起步”、“Java运算符”、“Java表达式、语句和代码块”和“Java流程控制语句”教学单元;涉及主要知识点:do-while语句、for语句、boolean类型。

在前面迭代的基础上,使用do-while语句、if语句结合随机函数编程实现礼品馈赠的活动。要求使用if语句和for语句来编程实现超市会员中年龄超过30的会员数量的统计。

同时启发学生使用do-while语句和if语句编程实现相应的系统管理菜单,根据用户选择不同的菜单,执行相应的功能。

该授课理念避免了注重学习的循序渐进和积累的老套路,不再按照教学内容的从易到难的顺序,而是以完成一个又一个紧密相衔接的任务来驱动学生学习,从而达到教学目标。这样,随着教学内容的逐步深入,学生在课堂上经历了项目的迭代开发过程,逐步实现了一个功能完整的“超市购物管理系统”。

4迭代项目教学方法的作用

4.1促使学生循序渐进的掌握知识点

在迭代式项目教学中,课程的教学内容紧紧围绕着项目的迭代案例开发而逐步展开。每一个迭代案例的初期,可促使学生温习已掌握的知识点,同时在本次迭代开发过程中,案例即将完成的新功能能够激发起学生的求知欲和创新意识。通过循环渐进的阶段案例教学,学生能够充分熟悉所学内容,了解教学内容在教学项目中的作用。

4.2提高学生的实践动手能力

教学项目在不同教学单元中反复出现,能进一步加深学生对所学知识的理解和掌握,并不断强化学生采用Java进行软件开发的技能。

5结语

高职教育就是就业教育,面向市场、面向社会办学是高职教育的立足之本。近几年来的教学实践表明,通过对引进的模拟企业项目实现过程中运用迭代教学法,使知识、技能、思维方法循序渐进、环环相扣,形成了一条合理的认知链。从对施用不同教学方法的两届学生相关信息的跟踪对比结果看,适用了项目迭代法的学生对以往枯燥的编程课程产生了浓厚学习兴趣,更为重要的是潜移默化地滋养了学生的编程逻辑思维,提高了专业实践能力,尤其是对后继课程以至整个专业课程的学习都产生了非常重要的影响。

参考文献:

[1] 姜大源. 职业教育学研究新论[M].北京:教育科学出版社,2007.

[2] 曾爱民,蒋丽波,于顺达. 采用项目教学法培养学生职业能力的研究与实践[J]. 职业技术,2009(9):37.

[3] 蒋庆斌,徐国庆. 基于工作任务的职业教育项目课程研究[J].职业技术教育,2005(22):46-50.

[4] 张家军,靳玉乐. 论案例教学的本质与特点[J]. 中国教育学刊,2004,1(1):48-50.

The Design and Implement of the Basis of Computer Applications Teaching System Based on Campus Network Research and Practice of Apply Iterative Development Methodology in Project Teaching

CHEN Zhan-sheng1, WANG Ting-mei1, LI Ming2

(1. Applied Science and Technology College, Beijing Union University, Beijing 102200, China; 2.Special Education College, Beijing Union University,Beijing 100041, China )

java课程精品培训篇10

关键词:Java语言程序设计;课程设计;考核方式

Java语言程序设计是软件工程、信息与计算科学、计算机科学与技术等专业的专业核心课,是JSP程序设计、Android开发、J2EE框架技术等课程的前导课程,也是一门实践性强,对培养学生的学习能力、问题分析能力与解决能力、实践创新能力起着非常重要作用的课程。

一、JAVA语言程序设计考核现状

目前,JAVA语言程序设计课程的考核形式普遍单一,从考试内容的挑选、考试时间的安排、考试形式的确定、考试标准的制定到考试分数的给出都是由授课教师一人规定。存在考试闭卷形式多、开卷形式少;笔试形式多、机试、口试、答辩形式少;理论考核多,技能操作实践能力考核少的情况。这样,不但不能调动学生学习的积极性,反而将学生放在一个比较被动的位置,没有给学生对于知识进行探索和创造的空间。所以,非常有必要对现行的课程考核方法进行改革。

二、课程设计概念

在本案中,课程设计取定义:大学某一课程的综合性实践教学环节,如:计算机程序设计课程的课程设计,一般是完成一项涉及本课程主要内容的综合性、应用性的计算机程序开发题目[1]116-118。以学习者为中心的课程设计是以人为中心的哲学思想的产物。这种课程设计强调个别发展,强调课程的组织形式要产生于学生的需要、兴趣和目的。这种设计的典型例证就是“活动——经验”设计,其主要特征为:课程结构由学习者的需要和兴趣来决定;在解决学生在追求兴趣的过程中,会碰到某些必须加以克服的困难和障碍,这些困难构成真正的、学生渴望以挑战而接受的问题。在攻克这些难题,寻找解决它们的办法时,学生实现了体现着这一课程的主要价值——真实性、意义性、直接性、主动性,以及活动与经验的相关性。这种课程观突破了课程局限于课堂教学中,把范围拓展到整个学校教育环境中加以界定,突破了以往只注重知识、经验的积累的局限,把积累、迁移、促进学生发展等多方面因素作为指标。

三、课程设计的考核方式在JAVA语言程序设计课程中的应用

(一)课程设计实施方案

整个课程设计过程包括选题、课程设计实现过程和成绩评定三个环节。1.选题工作。选题是课程设计第一步,也是关键一步。选题采取学生自拟题目和导师指导相结合方式。课程设计实施前,学生根据自己的Java能力水平和兴趣爱好,自拟一个基于桌面的应用程序题目。导师则要对学生的选题进行指导,指导要从三个方面考虑:首先选题要符合人才培养需求和教学大纲的要求,应尽量满足应用型人才培养目的;其次选题应尽量贴近学生实际生活、学习,比如消消乐、拼图游戏、图书管理系统、扫雷小游戏、模拟Windows记事本等都可以作为选题;最后,选题还要考虑难易度,可操作性和可实现性,要确保学生能够在规定的课程设计时间内完成任务[2]73-75。2.课程设计实现过程。课程设计的具体执行过程是学生作为主体利用课程设计时间对自己的选题进行设计实现,指导教师在这期间指导学生如何解决课程设计实施过程中在遇到的问题。通过这样的方式,每一位学生需要从项目的选题、项目功能分析、项目功能实现、项目界面设计、代码编写和数据库操作等多方面综合实践独立完成自己的课程设计,这过程促使学生不断去搜索、研究、学习问题的解决办法,这个过程帮助学生从被动接受知识到主动探索实践的转变,提高他们的编程实践能力,激发他们的主动性和创新性[3]67-73。指导教师是课程设计过程的主导,通过指导和答疑方式参与到课程设计过程中,课程设计期间,教师每天至少5学时在实训室进行集中指导。通过这样的方式,教师参与到学生的项目实施过程中,了解学生思路、能力水平和存在的问题,引导学生如何解决问题,发掘学生的潜能,纠正学生的不合理设计。对于基础较差的同学,帮助其加深对课堂理论知识的理解,引导其完善设计;对基础一般的同学,引导其挖掘自己的潜能,加强基础知识的应用能力;对于学习能力较强的同学,鼓励其进行创新性设计,推荐应用新技术。教师深入实训室,也是对整个课程设计过程起到监督和管理作用,提高课程设计质量和效果。同时通过课程设计的指导,教师更能深刻认识到Java课程教学过程中存在的优劣,不断积累经验,改进教学方法和手段。3.成绩评定。成绩评定是对学生完成的课程设计进行考核,根据平时考勤、课程设计成果质量按三七比例方法评定。平时考查主要检查学生的出勤情况、学习态度、是否独立完成设计、是否有抄袭网上代码等几方面。课程设计成果的检查,着重检查应用程序UI界面的设计、系统的分析与实现、关键技术与算法和程序能否正确运行等。课程设计成绩的评定要按课程的目的要求,突出学生独立解决工程实际问题的能力和创新性的评定。其过程由学生答辩、教师提问、学生回答提问和成绩评定3个环节组成。首先学生要对其成果从功能模块实现、算法原理、关键技术等方面边演示边讲解。然后由若干(一般为3名)答辩教师针对答辩人的作品从技术实现、应用价值、存在问题等方面进行提问。最后,学生回答答辩教师问题,答辩教师通过学生回答,综合学生的整个作品完成质量、答辩表现、创新精神和学习态度等进行综合打分,取所有评委的平均分为学生最后课程设计成绩。对于未达到要求的学生,则按照学院期末考试未通过方法进行处理,补考或者重修依然采取课程设计的方式;而对于整体表现优秀的学生,则给予表扬鼓励,号召其他同学向其学习。

(二)实施过程需要注意的问题

课程设计的实施过程中,需要注意以下几个问题:1.抄袭问题。一方面是课程设计实施需要在开放的网络机房里进行,方便学生查阅相关资料,随之而来的则是少数学生利用网络,抄袭网上代码问题;另一方面是每一届的每一位同学都要做课程设计,难以避免同专业或同年级之间有雷同的选题。如何避免这些同学的“不劳而获”,树立自主学习、实践创新的课程实训风气,需要指导教师在整个课程设计过程中加强监督管理才行。2.选题如何综合Java重点知识。Java是一门涉及UI界面设计、线程通信、数据库操作、IO操作、网络编程等多方面知识的综合性课程,教学目标要求学生都应很好地掌握这些知识点。因此理想的课程设计选题既要符合涉及所有的教学重点内容要求,又要项目功能符合实际应用需求,还要激发学生的兴趣,让学生灵活运用所学知识解决项目中的问题,还要保留创新的空间。因此,如何让选题的功能及尽可能多的包含重要知识点,又能保证学生在规定时间内完成一个实用性程序是一个值得思考的问题。3.教师指导能力的保证。教师指导能力是课程设计完成质量的保障。指导教师的能力尤其是教师所具备的程序设计能力、算法设计与实现能力以及激发学生实践兴趣的能力,对课程设计的实施具有重大的影响,因此,课程设计的考核方式实际是对教师的专业知识和能力提出了更高的要求。指导教师需要通过去企业进修学习、参加社会实践活动、自己完善知识结构等方法去增强自己的知识能力,为课程设计能够提供保障。

(三)课程设计考核方式应用效果分析

为了考评课程设计考核方式在Java语言程序设计课程中的应用效果,笔者对广西民族师范学院计算机科学与计算专业2013级(56人)和2014级(79人)进行了问卷调查,总共发放问卷135份,回收130份,有效回收率为96%,问卷统计结果如下表1所示。表1的统计结果显示,85%及以上的同学认为课程设计的考核方式,帮助学生加深了对理论知识的理解和掌握能力,提高了算法设计的技能,提高了综合编程能力,且这种考核方式体现公平,公正,非常认同该考核模式。我们分析认为,学生有如此大的收获,一方面是课程设计选题源于生活,游戏部分题目娱乐性强,学生有完成项目的兴趣,由原来的被动学习变为主动学习,学生肯下功夫去学习、研究、解决问题,在完成项目功能过程中,学生的理解能力、操作能力都有所提高。另一方面,课程设计给学生营造一种好的学习环境,足够的时间、开放的环境和专业的指导,为学生的创新性、自主性得到发挥提供助力。当然,课程设计的考核方式,需要严格把关每一个环节,尤其是指导教师要做好充分准备,才能获得较大效果;如果采取对学生进行“放羊式”的方案,则效果甚微。同时,我们教研室还需要对课程设计中遇到的各种问题进行讨论、研究和总结,不断完善和改进,促进应用型人才培养教学改革的发展。

基于课程设计的Java语言程序设计考核方式已经在广西民族师范学院计算机科学与技术专业的3届学生中进行了实践。实践效果表明,这种考核方式对计算机专业应用型人才培养效果非常好,主要体现在两个方面:一方面是运用课程设计的考核方式,能够激发学生的自主创新能力。作为主体的学生在实现课程设计项目过程中,需要完成包括项目的选题、项目功能分析、项目功能实现、项目界面设计和代码编写以及课程设计实训报告的撰写等一系列任务。在完成这一序列任务的过程中,学生真正地进入到“程序员”的状态,对如何完成一个软件的设计与实现有切身体会和认识。这种方式可以激发学生解决问题的兴趣,拓展学生的知识面,提高学生解决问题能力和创新能力,为后续课程的项目实施打下良好的基础;另一方面是运用课程设计的考核方式,更能体现学生的真实成绩。课程设计考核方式突破了以往期末笔试或者上机的考试形式,学生的成绩不再是由授课教师“一刀切”,而是采用若干评委评分,取平均分的方式,这种考核方式更能全面考察学生知识掌握能力,体现出公平、公正的原则。通过对Java语言程序设计采取课程设计的考核方式,对培养学生综合运用所学理论知识分析解决实际问题能力效果很好,加强了学生的自学能力和实际动手能力,缩小与企业所需要的应用型软件人材之间的差距,为学生今后走上工作岗位从事相关工作打下坚实的基础。该方式已经被广西民族师范学院的相关专业认同、借鉴并推广。

作者:李春青 单位:广西民族师范学院

参考文献:

[1]杨晶晶.浅析“课程设计”概念[J].内蒙古师范大学学报:教育科学版,2015(3).