李 明
摘要:本文通过对100名社会培训机构的学生和100名大学本科计算机专业的学生进行跟踪调查,发现Java语言学习过程的一般规律,可用一条曲线来表示Java语言的学习过程。提出在Java语言的学习过程有两条水平线、三个阶段、七个关键点。另外分析Java语言学习效果的影响因素,最后给出学习Java语言的一些建议。
关键词:Java语言;学习过程;曲线
中图分类号:G642 文献标识码:B
Java是由Sun Microsystems公司于1995年5月推出的一种新型的纯面向对象的编程语言,它不仅具有面向对象、分布式、简单、健壮、安全、多线程、动态性等一般特点,还具有开源、平台无关、解释执行等独特的优势。Java语言被称为“Internet网上的世界语”。随着软件开发技术的进步,尤其是Web应用开发技术的发展,越来越多的企业选择使用Java及其相关技术来构建他们的应用系统。
据最为权威的编程语言流行度评估机构—TIOBE发布的调查显示,从2002年到2009年间,除了2004下半年到2005年上半年之间位居第二之外,Java语言一直位居榜首。调查说明Java语言一直是受到世界关注并一直受欢迎的语言,反映了Java语言的社会需求较大。在教育部计算机基础课程教学指导委员会制定的白皮书中,Java课程被列为核心课程。目前,许多高校和社会专业培训机构纷纷开设Java语言课程,培养Java技术人才,以适应社会对Java语言不断增长的需求。
随着Java的逐渐流行,学习Java的人也越来越多,如何提高学习效果,避免在学习过程中少走弯路,是广大Java语言的学习者迫切希望解决的问题。本文在对100名社会培训机构的学生和100名大学本科计算机类专业的学生进行跟踪调查的基础上,通过分析研究,发现了Java语言学习过程的一般规律,并用一条曲线来表示Java语言的学习过程。
1Java语言的学习过程分析
通过调查分析,可以将Java语言的整个学习过程划分为初级、高级、实践三个阶段,每个阶段的学习目标、学习内容、学习方法、所使用的工具和环境都有差异,且整个学习过程有七个重要的关键点(如图1所示)。
图1中,横坐标表示学习者投入的学习时间,纵坐标表示学习者的收获,中间的曲线表示学习者的学习过程,称为学习过程曲线,反映的是大多数被调查对象的学习过程。从总体趋势来看,Java语言的学习者随着学习时间的增加,学习的收获也在增加,但是,在学习过程中,由于受到众多因素的影响,就学习者个体而言,可能并不完全遵循这条曲线,有的学习者可能半途而废、有的学习者可能会长时间滞留于曲线的某个点、有的学习者可能会严重偏离这条曲线。
1.1两条水平线
在图1中,有两条水平线L1和L2,L1表示一般高校Java语言课程的教学结果,L2表示一般软件企业要求的水平。通过调查发现高校的Java语言教学和社会的需求之间存在差距,虽然差距并不像图1中表示的那么绝对,但是仍是显而易见的。
从调查的结果来看,学校的教学结果达不到软件公司要求的原因是多方面的,最显著的一个原因就是学校Java语言课程的教学时间太短,一般都是2~3学分,也就是32~48学时,在这么短的时间内,从零基础学会Java语言的基础知识已经很不容易了。虽然有的学校又开设了软件工程、数据库、数据结构、软件开发工具等课程来弥补课时的不足,但是,实践方面又很欠缺,所以这是学校教学的一个难题。幸运的是,一些社会培训机构弥补了学校和软件企业之间的差距,社会培训机构以其专业的培训服务,可定制的培训课程体系,丰富的实践机会等赢得了这一市场,但是这给学习者造成经济上的负担。
1.2三个阶段
Java语言的整个学习过程划分为初级、高级、实践三个阶段,在图1中,在纵坐标上分别用ab段、bc段和cd段表示,在横坐标上分别用BC段、DE段和FG段表示。每个阶段的学习目标、学习内容、学习方法、所使用的工具和环境都有差异。
基础阶段的学习目标是能够熟练编写Java程序。学习的内容包括J2SE环境配置、Java语法知识,基本的算法思想、面向对象的思想、数据结构和常用算法,还有异常处理、多线程、输入输出流、图形用户界面、集合框架等。学习方法就是要关注细节,熟记语法知识,理解基本算法思想,反复练习编写程序。所使用的环境是简单的JDK。所使用的工具要选择智能化程度较低的工具,如记事本,可以帮助记忆语法。
高级阶段的学习目标是能够开发软件。学习的内容包括J2EE环境配置、MVC框架、软件工程的思想、软件的架构、软件的开发方法、软件的开发过程、数据库技术、数据库连接技术等。学习方法就是要从宏观上把握软件的整体架构和配置,了解开发过程,参与模拟软件项目开发。所使用的环境比较复杂,包括J2EE的基本环境、集成开发环境、在数据库、Web服务器等。所使用的工具要选择智能化程度较高的工具,如ECLIPSE,可以提高软件开发的效率。
实践阶段的学习目标是积累经验。学习的内容包括软件项目管理、软件开发中特殊问题的处理等。学习方法就是要关注软件开发过程中的特殊事件,积累对具体问题处理的经验。所使用的环境比较复杂,各种环境都可能碰到。所使用的工具专业化程度高。
1.3七个关键点
Java语言的整个学习过程中,有七个关键点需要注意。在图1中,分别用A、B、C、D、E、F、G表示。
A点是学习的起点,但是在A点,一般的学习者或多或少地掌握了一些关于Java语言的知识,原因是在真正开始学习之前,学习者已经通过别的渠道对Java语言进行了了解。
B点是学习中收获的最低点,原因是当开始学习Java语言时,由于刚开始接触,会碰到很多困难,产生很多疑惑,甚至会造成对已经掌握的知识混淆,所以学习收获会略有降低,这个阶段的时间不长,但是对一般的学习者却影响较大,很多学习者在看了几天书后会灰心,认为太难、学不会,然后放弃。其实,这是一种正常现象,只要坚持继续学习,就可以克服困难。
当克服B点的困难之后,一般人开始“入门”,这时,学习的收获会逐渐增加,学习会顺利进行,到达C点,B点到C点之间代表学习的初级阶段,一般学到C点后,可以熟练编写Java的基本程序。
C点到D点之间会有一段时间,学习者的学习收获并不明显,原因有两种,一种是有的学习者认为自己学习很辛苦,的确也学会了语法,并可以编写一些程序,沾沾自喜,放弃或暂缓继续学习;还有一种情况是,紧接着继续深入学习,下一阶段的学习,主要是学习如何开发软件,需要借助一些开发工具,需要学习软件架构、开发方法、数据库技术等,学习者面临的困难增加,会给学习者造成困惑。这时,也会有人打退堂鼓,放弃继续学习。其实,只要坚持,不要急于求成,按部就班完成学习计划,就可以渡过难关。
D点到E点代表高级阶段,到达E点,一般来说,已经了解软件的开发过程,掌握一般的软件开发技术,可以开发软件。
E点到F点之间,学习者的学习收获不大,原因是一般的学习者,在掌握了软件开发技术之后,会调整自己,并努力寻找实践机会,或找工作,重心并不在学习上。
F点往后,表示学习者已经找到实际的软件项目实践机会,一般学习者会全身心投入其中,并努力完成,这时,实践经验会增加,并会从实践中获取软件项目的管理、软件项目的实施过程等书本上学不到的内容,所以一直到G点这一阶段,学习者都在实际的项目中学习,或以实际项目为导向,有针对性地学习一些内容。
到达G点后,一般的学习者不仅掌握了Java语言,还具有了一定的实际开发经验。这时,学习者已经可以轻松应付工作。学习需求下降,对于Java语言的学习收获也增加甚微,虽然关于Java语言的新技术会不断更新,但是对于一个经验丰富、技术熟练的人来说,并不是什么难事,这样一直持续到停止使用为止。
2影响Java语言学习效果的因素
同一个班级或同一个学习群体中,总会出现学习的效果不一致的现象,经研究发现,出现效果不一致现象的主要原因是学习者个体的心理特征存在差异,主要表现为:不问问题、不与人交流、不思考、不做作业、难以坚持等。具体表现如下:
(1) 有些人害羞,不敢问问题;
(2) 有些同学担心问题简单,怕人嘲笑,所以不敢问问题;
(3) 有些人担心老师训斥,不敢问问题;
(4) 有些人内向,不愿意和别人交流;
(5) 有些人性格独立,喜欢所有问题都自己解决,而且不惜时间;
(6) 有些人不愿意思考,碰到问题就问别人;
(7) 有些人自控能力差,三天打鱼、两天晒网,难以坚持;
(8) 有些人自作聪明,不做练习,不想实践。
3学习Java语言的建议
通过对学习效果较好的同学调查分析,发现学好Java语言需要做到以下几点:
(1) 要有不达目的永不罢休的信念;
(2) 要有持之以恒的毅力;
(3) 要有敢想敢干的创新思维;
(4) 要善于利用身边的资源(老师、同学、图书馆、书店、网络);
(5) 放下面子;
(6) 多做练习,多实践;
(7) 善于合作,善于讨论;
(8) 勤于思考。
4结语
本文通过对调查结果的分析和统计,绘制了Java语言的学习过程曲线,并给出了高校教学的水平线和社会需求的水平线,将Java语言的学习过程分为初级阶段、高级阶段、实践阶段等三个阶段,确定了Java语言学习过程的七个关键点。另外还分析了影响Java语言学习效果的因素,最终给出了学习Java语言的建议。当然,本文给出的Java语言学习曲线是众多调查对象的一个平均水平,具体的个体可能会和这个曲线不一致,但也是在这个曲线的基础上上下波动,整个学习过程还是遵循本文所描述的规律。
了解和正确认识Java语言的学习过程曲线,可以帮助Java语言的学习者,特别是初学者,了解Java语言的整个学习过程,在学习过程中,了解自己所处的阶段和曲线的位置,避免半途而废,避免盲目自大,使得学习者的整个学习过程少走弯路。
另外,通过对比分析,本文提出的Java语言学习过程曲线,不仅对Java语言的学习具有指导意义,对其它计算机语言的学习也有借鉴意义。
由于受到样本空间的限制和调查对象的局限,所绘制的学习曲线可能还有所欠缺,影响Java语言学习效果的因素还不够全面,这些将在后续研究中继续深入。
参考文献:
[1] 张博. 论Java技术的未来与发展[J]. 网络与信息,2009(06):49.
[2] 冷巨冰. Java语言的发展与Java技术[J]. 硅谷,2008(03):20-21.
[3] 董钢. Java在网络通信程序中的应用[J]. 青年科学,2009(06):172.
[4] 贾家新. 对JAVA教学模式的研究[J]. 湖北成人教育学院学报,2009,15(2):101-103.
[5] TIOBE. TIOBE Programming Community Index for July 2009[EB/OL]. [2009-11-01] . http://www.tiobe.com/index.php/ content/paperinfo/tpci/index.html.