java程序员实习范文

时间:2023-01-30 08:45:26

java程序员实习

篇1

中图分类号:G714 文献标识码:A 文章编号:1007-9599 (2013) 01-0022-03

1 引言

计算机专业是一个应用性很强的专业,企业对计算机人才的需求呈层次化分布的特点[1],对于既有理论又有很好的实践动手能力和创新能力的学生需求强烈,而独立学院人才培养重点是应用型本科人才,恰好满足企业的实际需求。

在计算机专业应用型人才培养课程体系中,java程序设计占据非常重要的地位。目前Java程序设计的教学现状是:理论课程枯燥、难懂;实验课又不能很好地提高学生应用实践能力。如何让学生在尽量短的时间内提高Java编程水平,使学生有更多时间在本科阶段提高编程能力?笔者认为,Java课程的教学方法将起到了决定性的作用。

一般来说,Java课程的教学方法必须根据Java编程语言的特点和Java课程的教学时间来制定,然而无论是传统的Java语言教学模式还是现在的项目教学法,都没有全面地发挥上述两点在教学中的重要作用。

依托于教育部“卓越工程师教育培养计划”,結合校企合作[2]的培养模式,应用型人才培养应该以社会需求为导向,以独特的教育思想和观念改革为先导,以深化教育教学改革为核心,注重研究与工程实践相结合,达到预期教学效果。基于计算机专业人才培养模式,在Java程序设计课程的教学上,从多角度、深层次分析,注重软件工程的开发思想,提出了一种一体化增量式Java项目教学法,该方法经过教学实践取得了不错的教学效果。

2 影响Java教学方法的因素

2.1 Java语言的特点

Java程序设计语言是一种可以编写跨平台应用软件的面向对象的程序设计语言,具有卓越的通用性、高效性、平台移植性和安全性。其广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。自SunMicrosystems公司于1995年5月推出以来,Java程序设计语言是当今最具代表性的面向对象编程语言之一,也是实际软件项目开发中所使用的主流编程语言之一。在全球云计算和移动互联网产业蓬勃发展的环境下,Java更具备了显著优势和广阔前景。Java语言主要具有以下几个特点:(1)Java语言的语法比较简单,并且Java的基本语法是建立在C语言语法之上,比如数据类型、控制语句、数组和函数等都与C语言基本相同。(2)Java语法中没有指针,与C语言相比,不需要程序员管理内存,程序员不需要担心内存的回收问题,也不需要担心由此引起的程序调试问题,程序员只需要集中实现事务处理的过程。(3)JavaJDKAPI提供了丰富的编程接口,编程人员很容易写出功能丰富、界面绚丽、贴近生活使用的软件。与C语言相比,使用Java语言用更少的时间就可以实现更多的功能,编程效率更高。(4)Java的学习资料非常丰富,由于Java的例子程序更加唾手可得,编程人员可以更容易参考到例子代码或者已经实现的软件源码,从而更容易理解Java学习的用途,树立语言学习的目标。

2.2 Java课程的教学

在应用型本科生的课程体系中,Java课程的教学一般安排在编程基础(如C高级程序设计)之后。也就是说,在学习Java课程之前,学生已经了解甚至掌握除面向对象之外的Java基本语法。所以,在Java课程的教学中应该加以利用学生已有的最基本的程序设计能力。

中山大学南方学院Java课程的教学一般由三部分组成:理论、实验和实训,其中理论和实验课程在同一个学期中完成,Java实训课程在下一个学期完成。笔者查阅了大量的Java程序设计理论、实验和实训相关的参考书,发现几乎所有的教材都没有综合利用Java程序设计理论、实验和实训间的内在关系,所以,间接导致了学生Java编程能力不能得到提高。除此之外,在计算机相关专业后续的课程中都会以Java作为编程基础,例如数据库应用、JSP和Web编程技术等课程。图1简单列出了Java程序设计课程与其它课程的联系,不难发现Java课程在计算机教学中的重要地位。

图3所示的一体化增量式Java项目教学法有三条主线贯穿Java教学始终:(1)第一条主线是图最上面一行的“按软件工程增量开发模式进行项目组织”。分理论学习、实验和实训过程,要求在每一个项目中增量应用一部分高级编程知识的同时掌握一部分Java基本语法。(2)第2条主线是图中间的由浅入深、由简到繁的项目驱动的Java知识教学过程。Java高级编程技术中的GUI编程、网络通信、多线程和数据库编程依次以分项目的方式完成,在每个分项目完成的过程中根据项目需求讲解不同的Java知识点。在项目的实施过程中要求学生主动查API和资料。分项目的选取以贴近学生生活、功能有趣为准,如聊天工具、小游戏等等。此主线与第1条和第3条主线按照学生的学习速度保持同步,既符合了学生学习的规律,又调动了学生的积极性。(3)第3条主线为图中最下面一行,在不同学期要求学生学习不同的知识、锻炼不同的能力。在第2学期,大部分同学都要通过单独完成项目掌握基本的Java编程技术,但由于学生的性格和特质不同,Java知识的掌握程度不同,在第3学期的综合项目中,要求学生分组完成一个大中型项目,每个小组尽量由不同性格不同特长的学生组成,在小组内分担几个不同角色,如项目负责人(项目经理)、数据库开发人员、软件开发人员、测试员等。通过人员分工合作,可以着重锻炼不同特长学生不同的能力。

5 总结

本文在对应用型人才培养探讨的基础上,重点对实践性强的Java程序设计课程进行了详细分析,提出了一种校企合作下的一体化增量式Java项目教学法。该方法已经在中山大学南方学院的Java程序设计课程中采用,经过09级和08级计算机专业两届学生共200多人的实践证明,采用图3所示的基于软件工程的一体化增量式Java项目教学方法能够很好地调动学生的积极性,提高学生学习兴趣并达到了很好的学习效果,培养锻炼不同特长学生的不同能力,尤其是学生能够很好地适应企业需求,达到用人单位的认可。

参考文献:

[1]李晓明,陈平等.关于计算机人才需求的调研报告[J].计算机教育,2004(08):11-18.

[2]李仁璞,邹海林等.基于校企合作的应用型人才培养机制探索[J].计算机教育,2011(20):26-28.

[3]崔亚楠.独立学院Java课程教学“策略”探索[J].中国科技信息,2011(16).

篇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进行企业级开发是一个很庞大的工程,作为一个有发展前途的程序员,必须用更高的眼光来看待软件开发,必须从总体上,从架构的角度来看待软件开发,从系统的角度来把握一个项目的开发。

篇3

1、Java课程的传统教学

目前,许多院校仍采用传统方式进行Java课程教学。传统教学方式通过概念与理论知识讲解来介绍Java程序编写案例,让学生进行Java程序编写练习,实施Java程序设计项目,通过该教学过程使学生掌握Java编程技术。但在实际教学中学生已不能适应这一教学过程,尤其是职业院校的学生,对Java概念和理论知识不理解,无法跟上Java编程案例教学进度,无法参与项目实践,学生失去兴趣,最终放弃Java程序设计课程。

基于学生的实际情况和课程特点及教学环境,改变传统教学方式,采用任务驱动教学,以学生为主体,提高教学实效。Java课程的传统教学改革势在必行。

2、基于互联网的Java课程教学模型

为体现以学生为主体的教学过程,笔者所在团队设计了基于互联网的Java课程教学模型,如图1所示。

该教学模型阐述教学过程的5个环节。(1)布置学习任务,通过互联网将学习任务向学生展示,提供相关参考资料和资料索引。(2)设计战车改进方案,学生根据任务书要求和参考资料通过Roboeode平台设计战车及改进方案。(3)实现改进方案,根据设计完成的改进方案,采用Roboeode平台提供的参数,编写Java代码实现设计方案。(4)检验、测试程序模型,通过Java代码编写,将制作完成的坦克模型程序在互联网上进行测试,检验战车模型的性能是否提高。(5)展示与讨论战车程序的改进效果。

3、Robocode平台介绍

Roboeode平台是2001年IBM公司在Web-AlphaWorks上的坦克机器人战斗仿真程序引擎,是MatNelson利用Java程序语言专为Java程序员设计的游戏半成品。与由键盘、鼠标控制的游戏不同,参赛者必须利用Java语言对机器人程序模型编程,通过编程设计实现智能操控。

Robocode平台成为从初学者到高级黑客程序开发者都可以参与的娱乐活动。初级Java程序员可学习基础程序语言,如调用API代码、阅读Javadoc、内部类、事件处理等。高级开发者可以在构建“最优品种”的软件机器人全球竞赛中提高其编程技巧。

Roboeode平台的教育特性被世界诸多从事Java程序教学的人员发掘利用,笔者在德国亲身体验了Java程序设计语言课程利用Robocode平台的教学方法。在网络上Robocode用户组、讨论列表、FAQ和Webring随处可见。Robocode为学生与Java工程师提供简便、有趣的游戏教学方式,释放他们的创造力。Robocode平台的出现给枯燥的Java编程学习注入了动力与激情,使学生在娱乐的同时提高Java技术。

我国Java-Robocode协会在湖南师范大学发起成立,2008年举办了湖南省Java-Robocode机器人大赛。我国高校教师逐渐开始采用Robocode平台进行Java课程教学,但为数不多。我国高校教师对Robocode平台的教学研究还远落后于国际水平。

4、Java课程的教学设计

通过Robocode平台学习Java,是非常有效的教学方法,该方法符合行动导向的教学理念,通过设计Java课程,介绍Java程序设计如何采用Robocode平台实施教学。

4.1 课程任务与环境要求

课程任务目标是调动学生对该课程的兴趣,学生能够独立创建机器人,学会调用RobotEditor和compiler程序,通过编写Java程序语言移动机器人、炮和雷达,并能够处理机器人避障、雷达目标出现、击中目标、自身中弹等事件。

软件和硬件环境要求,PC网络系统,JavaVM(JDK 1.3.x)、Robocode 1.6.2、Intemet可链接Robocode Battle online。

4.2 模型观摩与程序设计

教师通过Java编程指挥机器人的动作,让学生看到采用Java编程控制机器人并不难。通过编程演示创建战车的操作,使学生认识到自己可以通过Java编程创建战车并改变其战斗力,增强学生对Java编程的信心。

让学生设计自己的战车并能够初步战斗,包括行进、寻找目标、旋转火炮、射击、避障等。创建机器人,启动Robot Editor选择File-New-Robot,系统提示输入机器人名称,该名称将成为Java类名,可在提示符处输入KKStraight。下一步系统提示输入数据包前缀,它是Java文件的数据包名称,可在该提示符处输入KK。此时Robot Editor会显示机器人程序模型需要编写的Java程序代码。学生使用run、while语句,参照程序范例修改机器人程序代码、参数或采用程序代码缺省值,最后在Robot Editor菜单上选择Compiler-Compile对代码进行编译。

4.3 检验程序模型

测试创建完成的机器人程序模型。切换到主程序,选择程序菜单上的Battle-New,将机器人KKStraight添加到平台中,观察该模型的战斗过程。

通过Java程序代码tumRight(double degree)和tumLeft(double degree)移动机器人,使机器人转过指定角度。ahead(double distance)和back(double distance)使机器人移动到指定的像素点距离,以上方法在机器人遇到障碍物时即告完成。

转动炮和雷达,通过程序代码atrnGunRight(double degree)和tumGtmLe(double degree)使炮可以独立于坦克车的方向转动。ttmiRadarRight(double degree)和tumRadarLeff(double’degree)使雷达独立转动。

射击,fire(double power)和fireBuilet(doublepower)用来发射指定能量的炮弹。调用fireBulletO程序返回Robocode Bullet对象,程序提取一个引用,该引用可以用于高级机器人。

获取关于机器人的信息,getXO和getYO可以捕捉到机器人当前的坐标。getHeadingO、getGunHeadingO和getRadarHeadingO可以得出坦克车、炮或雷达当前的方向,该方向以角度表示。getBattleFieldWidtla0和getBattleFieldHeightO可以得到当前这一回合的战场尺寸。

至此,实现了Java程序代码的功能,形成战车程序模型,随着编程能力的不断提高,学生会逐渐提高战车程序模型的战斗力。

4.4 改进程序模型

处理机器人遇到障碍物、雷达目标出现、击中目标、自身中弹等事件;是改进模型最常见的方法。

当机器人在移动或转动时,雷达一直处于激活状态,如果雷达检测到有机器人在其范围内,就会触发事件。基本的Robot类中包括了所有这些事件的缺省处理程序。下面是一些较为常用的事件程序代码:

当雷达检测到机器人时,调用Scanned-RobotBvent通过覆盖onScarmed.Robot( )进行处理。当机器人被炮弹击中时,调用HitByBulletEvent通过覆盖onHitByBuUe( )进行处理。当机器人击中其他机器人时,调用HitRobotEvent通过覆盖onHitRobotO进行处理。当机器人遇到障碍,调用HitWallEvent通过覆盖onHitWall( )进行处理;所有这些事件、方法均通过Java编程对机器人的动作进行控制,学生熟练掌握Java程序代码的功能作用,提高自身Java编程技能。

4.5 展示与评价

篇4

 

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课程和课程评价方法,例如在高职教学中把“职业资格和等级证书”的获得作为教学目标。

篇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课程时的心声。

篇6

Java语言是时下首选的软件开发语言之一,《Java程序设计》是高职高专计算机网络专业、计算机应用专业的专业课和软件外包服务专业的专业核心课程。

1.Java语言的前景

诞生于1995年的Java语言以20世纪末和21世纪初网络科技和网络经济所特有的令人瞠目结舌的速度迅速发展,有人预言,未来90%的程序代码将用Java语言书写或改写,Java的跨平台特性、安全机制、可靠性、健壮性和内嵌的网络支持,使之成为网络时代最重要和最有前途的语言。

2.《Java程序设计》的教学目标

通过《Java程序设计》这门课程的学习,可以应用于:

(1)把静态页面转变为动态效果,使网站的功能更加强大和丰富。

(2)开发B/S模式和C/S软件,编写跨平台的GUI桌面系统。

(3)应用于嵌入式设备和消费类电子产品。

从而对应于该课程的培养目标应为:

(1)能力目标:能用Java编制基本的应用程序和动态页面、能用Java分析从现实世界到计算机世界的转换继而能用Java从实体到类的抽象、能够运用Java进行小型桌面系统的开发。

(2)知识目标:掌握Java语言基本概念、基本语句、基本语法要素,掌握继承、重载、覆盖、多态的含义和实现方法,掌握基本的常用类、图形用户界面的标准组件和事件处理机制。为后续课程的学习打下基础。

(3)素质目标:培养吃苦耐劳、团结协作的精神,养成踏实认真、终生学习、精益求精的工作习惯,增强责任意识、社会交流能力和工作应变能力。

这门课程的前导课程是《C语言》、《网页制作》和《计算机网络》,所以它一般放在第三或第四个学期开设,后续课程是面向服务器编程《JSP》、面向Web通信的《J2EE》、面向移动通信《J2ME》。

3.《Java程序设计》的课程设计

通过广泛调研,在充分了解Java程序员的工作任务的基础上,并参考程序员国家职业标准制订了本课程标准。课程设计编制了三种类型的教学载体:JAVA简单应用开发、基于数据库的桌面信息系统设计、JAVA网络应用程序设计。目的在于以工作任务为导向,将教学内容融入到载体中实施教学。即由任务驱动学习,打破传统学科体系的知识结构,从根本上改变过去存在的学生学习了各种技术后,仍然不会使用这些技术进行真实软件项目设计的局面。

本课程标准在设计上突出体现职业教育的技能型和应用型特点,着重培养学生的实践应用技能,力求达到理论方法够用,技术技能过硬的目的。

课程内容的选取是根据本门课的培养目标确定的。为了使知识目标、能力目标和素质目标得到落实,我们构建了基于工资管理的桌面信息系统和推进式的不确定性的动态页面设计为主线的课程内容。把整个课程教学内容分成五个模块13个单元,保证理论教学与实践教学融为一体。

五个模块13个单元的教学内容根据培养目标和载体进行了整合序化。表一是《Java程序设计》的教学内容与学时安排。

参考文献

[1]中国高等职业院校计算机教育改革课题研究组.中国高职院校计算机教育课程体系・2007[M].北京:中国铁道出版社,2007年7月第一版.

篇7

中图分类号:TP312.1-4 文献标识码:A 文章编号:1007-9599 (2012) 16-0000-02

1 引言

JAVA语言的简单性、安全性、面向对象、平台无关性、语言简洁、性能优异等特点给编程人员带来了一种崭新的程序设计理念。通过学习JAVA语言不仅可以学习怎样使用对象来完成某些任务,而且可以掌握面向对象编程的基本思想,为今后进一步学习设计模式奠定一个较好的语言基础。目前,JAVA语言已经获得了和C语言同样重要的语言地位,即不仅是一门正在被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言。于是JAVA语言在很多领域都得到了广泛应用。因此IT行业对JAVA人才的需求也逐渐增长,可以经常看到许多培训或招聘JAVA软件工程师的广告,因此掌握JAVA语言及其相关技术意味着较好的就业前景和工作酬金。

2 JAVA程序设计教学中存在的主要问题

随着前导课程《C语言》的开设,C语言枯燥繁琐的语法、抽象的概念、难以理解的程序设计思想还令许多学生望而却步,导致学生对编程语言类课程产生畏惧心理。加上JAVA语言的总课时一般为64学时,而要讲授的内容却很多,部分学生学习自觉性差,导致学是赶不上教学进度,久而久之,学生就失去了对JAVA这门课程的学习兴趣,直至放弃对这门课程的学习。课堂教学采用传统化的教学模式,单一课堂教学多,多样化实践教学少。实验教学沿袭程序设计课程的教学模式,实验内容围绕课堂教学内容的设置,用来验证前次或本次课堂教学中的重点内容,这种实验教学模式,割裂JAVA教学内容之间的有机联系,不能与学生已学的其他知识有效衔接,不利于学生编程能力的培养。

3 JAVA程序设计教学方法改革方案

3.1 上好第一堂课,激发学生的学习兴趣兴趣

为了提高学生对JAVA这门课程的好奇心,激发对该门课程的兴趣,上好第一次课很关键。首先要介绍学习JAVA语言的重要性及其在各个领域的广泛应用。JAVA作为一种优秀的面向对象程序设计语言,已成为软件开发领域中的主流技术,全球有450万名程序员使用JAVA开发软件,14亿部设备上运行着JAVA编写的程序。JAVA语言同C语言一样,已成为软件设计开发者应当掌握的一门基础语言。选取一个形象生动和实际生活紧密联系的例子进行演示,并详细讲解用JAVA语言开发应用程序的一般步骤。通过这些介绍让学生感到JAVA既有兴趣,又有难度,而且与他们的学习、工作和生活息息相关,只要通过自己的努力学习就可以把JAVA变成解决实际问题的有力工具。

3.2 课程的知识连贯性的设计

根据该门课程的教学大纲,把课程的教学内容划分为语言基础、技术基础和高级编程三个模块,其中技术基础这个模块是重点。在实际教学中,围绕重点展开教学,综合运用多种教学手段,采用“案例教学、项目教学、启发式教学、讨论教学”等多种教学模式。首先采用项目教学,寻找一个项目,使它的实现涵盖JAVA课程的所有的知识点。导入五子棋这个项目,分别用面向过程语言(C语言)和面向对象语言(JAVA语言)来实现。然后采用启发式教学,如类似“加入悔棋的功能,面向过程和面向对象编程语言分别如何实现呢?”这样的启发,然后教师给出参考答案。最后大家一起讨论“要把这个五子棋游戏改为围棋游戏,又该如何实现呢?”。五子棋是一种古老而又有趣的游戏,不仅能激发学生的学生兴趣,还很好地对比了面向过程和面向对象编程思想的差异,在项目实现的过程中,重点的知识点再采用典型案例进一步讲解,这个项目的设置很好地体现了同一门课程间和不同课程间知识的有机联系。

4 结束语

通过《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)任务实施。

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

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

篇9

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

Research on Java Language Teaching Reformation and Practice of Independent College

ZHANG Yin-qiong,DAI Xiao-peng

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

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

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

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

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

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

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

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

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

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

2.1改革教学方法

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

2.2合理调整教学内容

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

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

2.3分组教学,因材施教

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

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

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

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

3总结

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

篇10

中图分类号:G72 文献标志码:B 文章编号:1006-8228(2012)05-57-02

The study of java programming course

Xu Nianzu1,2, Chen Minnan1, Yuan Ming2

(1. The computer science department of tongji university, Shanghai 200092, China; 2. Sinian vocational college computer science department)

Abstract: As being an industry ludustry-specific tool, Java programming course has become a compulsory course of Electrical & Mechanical Engineering and Information Technology. Also Java is a prerequisite of IT professionals to join the workforce. The study of methods of teaching Java shows that introducing less Java grammars and structures analysis but more on case studies of Java on web application during the teaching process could better embody the applicability of Java as such a protocol.

Key words: Java; udustry-specific tool; web application; case study

0 引言

Java是一种有鲜明特点的行业工具,所以Java程序设计课程成为电类和IT各专业的必修课程;Java也是IT类各职业从业必要条件。研究Java教学方法,应该从该语言的特点出发,着重讲解Java在网络中的应用,少讲一点Java语法、结构方面的分析。传统的书面考查方法并不能体现Java作为工具的特色,改由学生分析、讲解Java应用项目取代传统的“程序设计语言”考试是一种能体现Java特色的教学方法。

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

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

⑴ 简单

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

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

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

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

⑵ 面向对象的

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

⑶ 安全

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

⑷ 与平台无关

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

正是由于Java的特点,形成了从移动通信行业到与网络有关的各行业把Java作为从业人员必须掌握的工具。在物联网的基础信息植入中Java更是成为不可替代的信息语言。由此可见,研究Java教学方法,使受教育者能够最有效地获得职业(行业)岗位所要求的Java基本技术是必要的。

2 Java程序设计教学现状

在过去6年中,笔者几乎同时在研究型本科计算机专业、业余教育(夜大电器自动化专业)、高等职业学院计算机应用专业(3种不同学生层次)进行了Java程序设计教学,对于3种不同层次的教学对象,从教学大纲的制定到实施贯穿了一条由精到简,由深到浅的主线。对本科学生课时安排少一点,要求高一点(例如学时数32,含上机、实验4学时),夜大学生(业余教学)教学时数多一点,考试要求低一点(例如学时数51,含上机、实验8学时);安排高职学生学时数再多一点,考试要求比夜大学生再低一点(例如学时数56,含上机、实验28学时)。三种不同层次教学对象教学内容基本相同,只是深入程度不同。例如本科学生要求掌握类的继承和多线程的编程,对于夜大学生多线程编程不讲了,对高职学生的授课会把许多时间用在语法、语义、变量等常识性问题的讲解上。从教学大纲看,不同层次学生的教学内容、教学方案不尽相同,但不同层次教学对象本质上是采用了同一教育体系。在教学内容中都从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教学研究任重而道远。

参考文献:

[1] 贾永江.计算机网络实用教程[M].机械工业出版社,2007.

[2] 董云铮.Java技术应用[M].北京交通大学出版社,2007.

篇11

信息管理是一个交叉性学科,既属于管理范畴又涵盖计算机技术,学生需要掌握计算机原理、基本算法、数据库、UI设计和程序设计等多项技能,并在此基础上学习信息管理以及信息系统分析、设计、实施、管理和评价等方面的基本理论。只有将管理与计算机结合,使计算机作为工具,信息管理才会更加有效和实用。但从问卷调查和访谈的结果中得知,目前我院信管专业学生学习计算机知识时,对JAVA 课程存在着“听起来好像懂,看起来大概明白,实践起来手足无措”的问题。具体来看,原因有以下几种:学生兴趣不大,导致投入学习时间有限;学生接收知识被动,学习到的知识不知道在哪儿用、怎么用,从而导致心理上对此有所排斥;教学内容较为陈旧,与最新互联网信息化技术脱节,教学效果得不到保证;教师授课零散,学生掌握的知识只能“画点”,无法“成线”,导致实践时无从下手。

JAVA面向对象程序设计是信管专业的核心基础课程,JAVA语言已经连续数年在编程语言流行排行榜上名列第一。在互联网、移动互联网高速发展的今天,JAVA从业者需求量空前增长。要想成为一名合格的JAVA程序员,需要掌握JAVA编程的知识和技能、JEE体系的知识、数据库的基本知识、Web开发的知识和技能、流行的STRUTS、SPRING、HIBERNATE开发框架、AJAX和EXT JS技术、JAVA设计模式等。

面对上述要求,笔者从2005年开始围绕社会需求从JAVA的岗位要求、课程结构体系优化、实践教学方法等方面对课程进行深化和改革,在最后的教学检验结果中可以看出,这些变革手段起到了较为积极的作用。

一、改进教学手段

根据JAVA课程的特点,笔者一改以往单纯的课本传授和代码解析的方式,在多媒体系统构建的教学环境下,结合演示、操作、讲解的方式,通过调动视觉协调听觉,激发学生的学习兴趣。

基于对课程教学大纲的充分理解,作者在课件的设计和安排上,以学生为主导对教材内容再创造,不完全按照教材内容布局安排,而更强调实用性和适应性。比如,在讲解JAVA的基本概念后,围绕JAVA的重点内容“类”,先讲解如何编写一个“类”。在学生充分理解的基础上,不再局限于课本讲授,将授课的重心转移到具体的实例分析上,将所要学习的知识点融汇到实例当中,并将其连点成线、画线成面,从而形成一个完整的教学系统,帮助学生更好更快地理解JAVA语言的特点,并掌握如何直接调用已有的“类”,达到提高编码效率、降低编码成本的目的。

不管何时,兴趣永远是学习最好的导师。想要调动学生的学习兴趣,提高教学效果,就该最大限度发挥学生学习JAVA的主观能动性,而树立“偶像”的方法是培养学生兴趣的一条“捷径”。随着新一波互联网浪潮的掀起,IT界不再缺乏偶像,诸如乔布斯、雷军、李彦宏,特别是与信管专业同系的电子商务领域偶像马云,都是学生在日常生活中接触最多、关注最多的对象。因此,对JAVA 教学的改进可以从此处入手。要想不断激发学生的好奇心和学习兴趣,可以不断创造新鲜感,在课堂上举一些与生活息息相关的偶像成长经历的例子,使学生能够感同身受,从中窥探出JAVA语言的实用性和趣味性,从而提高学习兴趣。

另一方面在教学过程中,“演示+操作+讲解”相结合的手段,不是学生被动地接受知识,而是通过一些有趣的JAVA程序,带动学生的积极性。例如,对图形、五子棋的绘制等进行演示,让学生看到JAVA语言的作用,从而激发自主学习的积极性。

二、改进理论教学

在进行理论教学时,举一个贴近实际生活、学生感兴趣、典型又有实用价值的案例,比单纯通过课本知识传授更有说服力,更能取得好的教学效果。

笔者在第四章教学时,开始引入“网上书店系统”案例,这与图书馆的选书系统相似,使学生对JAVA的用途有直观深入的了解。在接下来的课程教授中,将教学案例分解成若干简单的学习任务,分布于整个课程中,使学生能通过案例的学习,了解JAVA的基础知识。整个案例分析的过程中,学生自己发现问题,并结合所学知识尝试解决问题,从而得到自身能力的提高。每章在介绍新概念的同时,对功能和结构都进行了优化和改进,知识点由简到难,层层加深,逻辑清晰,取得了良好的教学效果。

同时,在理论教学方面,及时对学生掌握知识的情况和思维方式及思维过程进行了解,依据思维过程对课程进行调整,并设计相应的问题,启发学生思考并解决问题,从而过渡到让学生自己提出问题和解决问题。另一方面,着重突出基本概念的讲解与传授,基本概念理解不透,容易导致学生无法理解程序。理论与技术既相互区别又相互联系,理论是用来指导实践的,而技术是实践的工具。通过案例贯穿整个理论教学,能消除学生对理论知识学习的畏惧情绪。

面向对象的四大特征(封装、继承、多态和抽象)对学生而言极其晦涩,容易让学生产生畏惧心理抗拒学习,讲解这些知识时要用通俗易懂的语言简单明了的介绍,同时展示程序案例,先让学生明白这些知识是什么,再掌握为什么这么用,最后学习怎么用。

三、加强实践教学

上机实验是JAVA程序设计课程不可或缺的实践环节,我系JAVA课程共64学时,其中理论教学40学时,实践24学时,再加一周的JAVA课程设计。实践教学分为案例教学和模拟教学两个部分。

案例教学以理论教学中使用的完整案例为主线,结合该章节的理论知识进行层层分解,可以让学生通过分解练习,逐个掌握相关知识点,进而完成对整个知识体系的掌握,达到掌握知识、提高能力的目的。特别需要注意的是,学习过程应与案例分析的思维过程相互交替,通过此方式提高学生的学习兴趣和信心,培养学生用所学知识寻找、解决问题的能力。教学过程中加入实例,能引导学生循序渐进地掌握JAVA语言,并真正运用到实践中去。

模拟教学时,首先把学生分成若干小组,模拟软件企业的项目开发,指导学生从零开始搭建一个“真实”的项目。从需求分析、系统和代码设计、数据库分析和设计、界面设计、系统测试和到文档的撰写,严格按照正规的软件工程过程,进行真实的开发指导。需要注意的是,在讲解理论课程时,要对学生的基本水平和具体情况作充分了解。在项目案例确定之后,把任务布置给学生,让他们课后去收集资料,了解项目所涉及的内容。当学生对项目有完整的认识后,通过回顾理论课程内容,做到课程内容服务于案例,使学生对重点知识有了详细的了解,提高了课程的实用性。在此过程中,真正占主导地位的是学生,教师成为学生在整个学习过程中的引导者和督促者,从而大幅度提高学生的学习能力。结合信管专业其他的计算机课程,规定每学年每组至少完成一个完整的项目。

四、注重实习演练

为了让学生能真正理解和掌握JAVA,笔者假期带学生参观训练营并参与程序设计,申请去正式的软件公司实习,使学生真正熟悉软件的开发流程。学生在公司实习时教师也不能放任不管,如有名2008级的学生,参加实习前的摸底考试在40人中排第三,两个月实习结束后再次考试却排倒数第二。究其原因,是笔者忽视了学生跟着软件公司员工学习的过程,整个实习没有落到实处。

2013年,笔者尝试了另一种形态的实习,即搭建学习平台,为学生的活动提供场地、软硬件环境、指导和咨询。笔者邀请了著名IT公司的高级项目经理和高级程序员分阶段给平台内的学生讲授项目开发过程中的故事与经验教训,鼓励学生参加省内外的计算机软件技能大赛及企事业单位的项目研发。小组同学共同学习、互相学习,开拓学习视野,不再拘泥于课本知识,知道如何学习、学习什么以及如何使用,避免走弯路。平台内成员相互讨论、互相促进,加快了成员对新知识的接受速度。如此一来,学生的学习积极性得到了提高,学生能真正感受到自己是学习的主人,对知识的理解也更为深刻透彻。另一方面,在团队学习和生活中,成员能相处得更为融洽,在相互竞争中完善自己,并学会依靠团队力量,增强了团队合作意识和团队精神。

五、结论

通过总结信管专业学生学习计算机技能出现的四大问题,推行以“实例教学”为主导,结合案例分析和演示的教学,学生“边学边做”,围绕整个学习逻辑线设计教学单元,教学效果明显得到改善。通过对2008级?2011级四届学生的学习效果调查,每届信管专业的学生毕业后从事JAVA程序设计工作的人数占25%,2010级和2011级连续两届学生获得全国大学生软件设计大赛二等奖和三等奖。这说明针对信管专业的特点,结合社会需求,从JAVA程序课程的设计到课程内容的完善,从实践案例的选择到教学手段的改进等进行的整合和优化,获得了学生、教育单位和社会的肯定与认可。

参考文献:

[1] 李晓辉.“Java程序设计”课程的教学改革与实践[J]. 长春大学学报,2011(8).

[2] 刘宏,宋久科.Java语言程序设计教学改革探析[J]. 教育与职业,2013(3).

[3] 陈涛.基于案例教学的Java语言课程改革研究[J]. 教育研究与实验,2009(3).

[4] 贾厚光,彭峥. 信息管理专业实验课程体系改革及创新人才培养研究与探索[J]. 实验技术与管理,2007(10).

[5] 刘高勇. 信息管理专业人才培养与社会需求的差距分析[J]. 科技情报开发与经济,2006(12).

篇12

1 背 景

OBE(outcome-based education),中文翻译有多种,如以结果为基础的教育[1]和基于学习结果的教育模式。OBE模式起源于西方国家的教育改革,20世纪90年代在北美兴起,相关学者认为:在以学习结果为基础的教育模式下,老师能够很好地按照学生要实现的目标制订教学计划,并根据学生自身的特点予以区别对待,以实现特定的教学目标;整个教学过程都是以实现学习结果为目的规划学生的学习方案,驱动整个学习过程。学生产出作为驱动教育系统运作的动力,而非教科书或教师经验,这与传统的内容驱动和重视投入的教育模式形成鲜明对比。通过结果的引领,学生和老师能够快速达到要完成的教学目标,实现真正意义上的学以致用[2]。

Java程序设计是大学本科计算机专业的核心课程,具有很强的实践性和应用性,要求学生具备一定的程序编写能力和创造能力,对计算机专业应用型人才的培养至关重要。然而,当前的Java教学课程大多停留在传统的授课模式,主要讲解Java的基本概念和简单应用,忽视学生的学习基础以及学习目标,对所有学生设计的教学内容和评价内容都是一样的,从而限制学生更大程度的发展。为进一步提高教学质量,我们将OBE理念引入Java程序设计课程的教学中,基于学生学习目标和所要达成结果的不同制订不同的教学内容,实施不同的教学过程并进行有效的评价。

2 Java程序设计课程的特点及现状分析

2.1 Java程序设计课程的特点

(1)Java语言流行程度高,实用性强,其培养目标要与市场需求接轨。从2016年9月TIOBE编程语言排行榜前10位的排名情况以及TIOBE对排名前10的编程语言流行趋势分析[3]可以看出,Java语言除了在2004―2006年和2010―2015年出现过被C语言赶超的历史外,其余时间一直名列TIOBE编程语言排行榜第一位,由此也可以看出Java语言的受欢迎程度和流行程度。计算机科学与技术专业的本科生掌握Java程序设计语言必不可少,这也是学校培养人才与社会人才需求相接轨的必要条件之一。

(2)Java语言涉及内容广泛,参考资料丰富,因此课程目标设定和课程内容提炼非常重要。Java程序设计涉及的知识点多,包括GUI设计与事件处理、输入输出流、多线程机制、数据库操作、网络通讯等;囊括的参考资料丰富,包括教材、在线课程、培训视频、技术论坛等。在如此多参考资料的影响下,初学者如何选择合适的参考教材,从何处入手开展学习,做好这一点也非常重要。教师要在有限的课时限制下完成Java教学,这对教学目标的设定要求严格;而在确定教学目标的情况下,合理设置课程内容也非常重要。

(3)Java语言的扩展繁多,如何培养可扩展性学习人才是关键。JSP、Android和J2EE的三大框架Struts、Hibernate、Spring均建立在Java程序设计课程基础上,且Java及其扩展技术的更新日新月异。对计算机专业的学生来说,仅仅掌握一门技术已经远远不够,如何在飞速革新的互联网时代中稳步前行,拥有可扩展性的学习能力才是学习的核心。讲授Java语言时,如何让学生打牢技术基础并为后续基于Java知识的扩展学习奠定基础,如何培养可扩展性学习人才,这些才是Java教学的关键和教师应该重点考虑的问题。

2.2 传统Java程序设计课程教学中存在的问题

(1)强调教学进程和课堂教学效果,要求学生按既定的教学计划、时间、进度等开展学习,要求教师的课堂教学深入浅出,既生动又能抓住学生的注意力,使课堂教学内容易于掌握和消化吸收,但传统的教学方式没有强调学生“学习结果”这一重要因素。

(2)强调以知识导向为主的教学模式,教师更多关注教学内容,而学生则更多关注对知识的总结、整理和应用,缺乏对学生自主学习、扩展性学习等多方面能力的培养以及对学生学习结果的有效评价。传统的基于考试的教学评估方法把学生的注意力集中在课本理论知识的学习,导致学生对Java课程无法形成一个完整的认识,不能解决实际问题,缺乏系统的分析能力和开发环境的操作能力,当遇到大型项目和工程时往往不能快速有效地进行构思、设计、实现与运行[4]。

(3)强调以教师为中心,学生按照教师的要求完成学习任务,达到教师规定的学习目标。这种教学方式没有考虑学生个体的差异,把大家视为具有同等能力和同等水平的对象进行教学,从某种程度上限制了对学生潜力的挖掘和能力的培养。

3 基于OBE的Java程序设计课程建设

3.1 基于OBE的课程教学改革

学习Java程序设计课程的学生一般来自计算机科学与技术、电子信息工程、通信工程、物网和信息安全共5个不同的专业。不同专业学生的学习背景不同,对Java语言掌握程度的要求也不相同,即使在一个专业中,不同学生对程序设计语言的兴趣和需求以及所期望达到的目标也不相同,有的学生仅仅希望对该课程有所了解,有的学生希望掌握一些基础知识,有的学生则希望能够进行深层次的学习。针对学生不同的学习目标,教师需要因地制宜地设计学习内容,对Java程序设计的内容进行模块化设计,即在学生选择学习目标后,可以给学生推荐相应的学习模块;在这些学习模块中,学生在一定的指导下进行选择,以达到各自的学习目标。对Java教学内容的模块化设计及各模块所对应的培养目标,如图1所示。

从图1可以看出,如果学生只是想简单了解Java语言,则学习模块1的内容就足够了,也就是说模块1的内容对应培养目标1。如果学生想要理解Java基础知识并能编写简单的Java代码,则可以选择学习模块2、3、4和5,同时教师须给学生的选择提供一些指导,如建议至少选择其中2个模块的内容进行学习。培养目标3“编写应用程序”,即理解Java基础知识,能编写简单的Java代码,该培养目标的实现对应学习模块6―11,教师须提供如下的学习指导:此处每个学习模块分别介绍不同的功能,学生可以根据自身的能力情况进行选择,建议学习全部模块。培养目标4“冲刺Java高手”,也是该课程所能达到的最高目标,要求学生对Java应用有更深入的理解,能够对所学知识进行扩展应用并为后续Java项目实践奠定基础,该培养目标的实现对应学习模块12、13和14,教师须提供的学习指导如下:每章内容各有侧重,请根据自身情况进行选择,建议学习全部模块。

每个班级中学生学习能力参差不齐,水平有高有低。教师如果要求每个学生都达到很高的Java学习水准,这是不现实的。根据每个学生的个性发展和学习能力的差异,确定不同的学习目标,划分不同的学习结果,让每个学生都能够学有所成,这才是基于OBE的Java课程教学核心理念。

3.2 基于OBE的实践教学环节改革

Java教学长期以来都偏重理论知识的教学,实践方面的锻炼非常有限,学生在学习Java语言的过程中,实践能力的培养严重匮乏。大部分高校的Java教学实践环节主要是以简单的实验为主,学生通过实验指导书即可大致完成实验操作和相关代码的编写,顺利通过考核。然而,这种实践环节与软件企业对Java程序员的基本技能要求严重脱轨,学生一旦离开指导书或参考书籍,很难独立完成复杂程序或者项目的编写,更谈不上对实践技能的培养[5]。教师应以产出导向作为教学成果评估的依据并以此促进专业领域内培养目标的实现,确保学生达到毕业要求。这种评价模式就是指高校在学生“输出”中,把他们对专业领域内技术创新的职业胜任作为高校教育的培养目标[6]。

若对学生的学习成果作统一要求,则实验计划的制订存在一定难度。因为在实验过程中,简单的实验对于能力强的学生没有挑战性,很难吸引他们的注意,挑起他们的斗志;而能力较差的学生在面对复杂实验时,往往会产生畏难心理,逐渐丧失学习Java的兴趣。因此,根据学生学习目标和预定学习成果的不同,因人而异开展实践教学环节的教学,可以提升学生的学习激情,提高学习结果的完成度。

教师可根据图1中的培养目标,设计相应的实验并确定实验目标、实验任务和需要解决的重难点问题。Java程序设计课程的学习重点之一是培养学生实际动手解决问题的能力,如果学生在学习过程中能带着具体问题和具体任务,那么学生的学习目的就很明确,知识点的应用场景就能得到实际操练[7]。以“GUI和事件处理”这一模块的实践环节为例,选择培养目标为“简单了解”和“理解基础知识”的学生,可以不进行此实践环节的训练。选择培养目标为“编写应用程序”或“冲刺Java高手”的学生,在进行此模块实践环节训练时,首先须根据各自能力的不同选择不同的难度:A表示难度最高、B表示较高、C表示一般、D表示容易;选择难度之后,将选择同一难度的学生分为一个大组,在大组里,大家自由搭档并分为若干个小组,小组中每个学生的实际能力是不相同的,学习能力强的学生在扩展学习的同时也能够带动其他学生的学习,学习能力较弱的学生在满足自身学习目标时又能够向深层次的学习模块拓展。

每个实验都是一个小的项目,需要各小组的学生齐心协力,协作完成,这样一方面可以锻炼学生的实践能力,另一方面也能锻炼他们的协作意识和协作能力。每组须定期向教师汇报项目进展,如对项目的功能、需求、已完成内容和待完成内容进行详细汇报。通过定期汇报,教师能够很好地监督学生的学习进度,同时充分模拟项目实战中阶段性验收的情形。基于OBE的Java实践教学不仅要培养学生的实践动手能力,还要锻炼学生的表达能力。在实践教学的最后一个环节中,老师须安排每组学生对各组完成的项目进行综合性的汇报展示,各组的汇报人须对本组的项目分工、项目内容和解决的问题作出充分的陈述,教师根据项目的汇报情况和实现效果,对每个学生的能力进行评价,同时其他组也会对其进行评分,各组的评分最终以权值的方式计入每位学生的课程综合成绩。

这种类似于比赛形式的实践考核,可以充分调动学生的积极性。首先,学生想要偷懒或者借鉴别人的代码是行不通的,因为每个人都需要在大组内进行汇报;其次,需要按照规定的进度进行,不能刻意延缓进度;最后,个人的不努力或者退出将导致整个小组的失败,这也迫使所有学生都要有所担当,也可促进小组各成员之间的互助。同时,这也能激发学生自身的责任感,令学生充分认识自己的优点和缺点,为以后进行Java实际项目的开发打下坚实的基础。

3.3 基于OBE的考核和评价方式改革

Java程序课程注重多元化的考核机制,从多个方面考核学生,着重考核学生的实际工作能力、团队合作能力和创新意识,考核方式与培养目标相结合,主要评价在相应的培养目标下学生的学习达成度情况。基于OBE的Java程序设计课程的考核和评价由以下几个部分组成,见表1。

(1)平时表现情况,占10%。根据学生的课堂出勤情况、课堂表现、课堂任务完成情况等进行评分。

(2)平时作业,占20%。针对平时布置的作业,对学生的完成情况进行评价。

(3)项目实践,占20%。实验前把《实验指导书》分发给学生,要求学生提前阅读,做好充分准备;实验验收时,逐人过招;实验报告须按照要求认真撰写,重点描述自己遇到的问题和采用的解决方法。根据项目验收情况、代码的完善情况、个人项目总结及小组内其他成员的评价进行评分,分为优秀、良好、中等、及格和不及格5个不同的等级。

(4)扩展能力考核,占10%。主要考核在相应的培养目标下,除了课堂教学内容外学生所掌握的可扩展性知识,以对其扩展性学习能力进行评价,主要根据扩展学习知识量的多少、掌握程度等进行评分。

(5)期末考试,占40%。根据培养目标的不同,设计不同的考卷,并根据最终考试成绩进行评分。

可以看出,基于OBE的Java程序设计课程的考核主要分为两个部分,一部分是统一评价,平时表现情况为统一评价部分的内容;另一部分则根据培养目标的不同分别进行评价,如平时作业、项目实践、扩展能力考核和期末考试。该课程考核和评价方式在2016年合肥工业大学10个班级的Java程序设计课程的教学中实施,达到了预期效果,不仅对学生的学习情况进行了客^评价,还提高了学生的学习积极性,从整体上提高了教学效果。

4 结 语

OBE作为一种新型教育模式,是对传统教育模式的革新,对教学内容优化、教学方法更新以及评价体系的合理设置有重要而又现实的指导意义。我们在Java程序设计课程中引入OBE理念,基于OBE教育模式改革Java程序设计课程的课堂教学内容、实践教学环节、考核和评价方式,以学生学习结果为导向建设该课程,使得学生真正成为了课程的最大受益者。当然,基于OBE的Java课程教学大大增加了教师的工作量,不仅每个模块的课程教学工作都要进行,而且在实践、考核和评价环节中还需要针对不同培养目标的学生,制订不同的方案,采取不同的措施。高校教学应以学生的能力培养为主要追求目标,在OBE教育理念的引导下,不断优化课程教学和实践教学环节的设计,优化考核和评价指标,这也是课题组长期追求的目标。

参考文献:

[1] 姜波. OBE: 以结果为基础的教育[J]. 外国教育研究, 2003, 30(3): 35-37.

[2] 顾佩华. 基于“学习产出”(OBE)的工程教育模式[J]. 高等工程教育研究, 2014(1): 27-28.

[3] TIOBE Index for April 2017[EB/OL]. [2016-11-30]. http:///tiobe-index/.

[4] 姜大志. 基于CDIO的主动式项目驱动学习方法研究[J]. 高等工程教育研究, 2012(4): 159-160.