欢迎来到优发表网,发表咨询:400-888-9411 订阅咨询:400-888-1571股权代码(211862)

购物车(0)

期刊大全 杂志订阅 SCI期刊 期刊投稿 出版社 公文范文 精品范文

java学习计划(合集7篇)

时间:2022-05-09 15:54:10
java学习计划

java学习计划第1篇

关键词:高职院校;Java程序设计;模块化教学

1 高职院校Java程序设计教学的现状

作为《Java Web开发技术》等学科的基础课程,Java程序设计能够培养学生较强的逻辑思维能力和良好的变成习惯,同时,还要求学生能够利用基本的编程方法解决实际中问题,是学习Java类编程学生的专业必修课。但是,在高职院校中的Java课程的教学却存在着很大的问题。在高职院校的Java程序设计的教学中,学生难以将教学中的每个知识点充分理解和掌握,在学习中不懂得举一反三,学以致用,因此,这些学生在毕业以后大部分都难以满足企业的需求,造成学习Java程序设计的高职毕业生就业情况不好的状况。

造成这种现象的原因主要有:首先,由于教师在教学过程中只注重程序语言的讲解,却没有将程序的设计思想和实际的项目详细地教授给学生;其次,教师的教学方式过于枯燥单一,难以激发学生的学习兴趣和学习的积极性,最终导致教学效果的不理想;另外,教师在教学中将精力全部放在了向学生传授知识上,却忽略了培养学生的品德和学习素质的培养。

2 模块化教学在Java程序设计教学中的应用

针对目前高职院校Java程序设计中的现状和问题,在Java程序设计的教学中引入模块化教学模式,有利于解决学生学习兴趣差,实践动手能力弱等问题,可以将高职院校学习Java程序设计的学生培养成社会真正需要的技能型人才,缓解软件用人企业对软件技术人才的需求。

2.1 Java程序设计教学模块的划分

根据高职教育的培养目标,首先为Java程序设计课程教学规划目标:能够熟悉和掌握Java语言的基本语法,并且能够进行小的应用程序的开发;能够使用JCreator开发Java程序;形成良好的编程习惯。

然后,在根据高职教育中Java程序设计教学的目标将Java程序设计教学课程划分为三大模块:基础模块,包括Java基础语言和基本的程序设计思想;Java API方法级和套路级模块,包括Java类库、多线程、JDBC等;综合应用模块,包括GUI桌面程序等。

根据模块划分的思想,每个大模块下又可以分为相应的子模块,子模块又可以设立相应的课题。各个模块之间是相互联系的,只有将前面模块的知识掌握熟练,才能更好地学习后面模块的知识。因此,教师在平时的教学中,对于学生要严格要求,每个阶段都不能放松。

2.2 Java程序设计中模块化教学模式的实施

2.2.1 模块一:基础模块

基础模块的主要内容是Java基础语言和基本的程序设计思想。学习的主要内容为:数据类型、流程结构、表达式、数组、函数、面向对象编程基础,其中数据类型、流程结构、表达式、数组、函数是Java模块一的基础内容,比较简单,面向对象编程础则是模块一中的重点和难点,学生主要学习和理解对象的封装、继承和多态三种特性。

教师在对这些特性进行讲解时,可以以学生为例,将学生看作一个模板,每个学生都是该模板中的一个对象,比如,讲封装时,就可以用“将学生的属性和方法封装到一个学生类中”的方式进行讲解;讲继承时,可以在“学生”类的基础上,将学生分为三年制和五年制两个子类,两者既有学生的共性,同时又有各自特定的学习方向。另外,在讲多态时,教师又可以引用“乐器”的概念,“乐器”中可以分为“提琴”、“号”、“钢琴”等子类,每个乐器的子类都有自己独特的演奏方法。

2.2.2 模块二:Java API方法级和套路级模块

学生在模块二中学习的内容为Java基础类库、GUI、多线程、I/O流、JDBC等。Java基础类库是一个广泛应用的数学类库、集合等工具性的类库;GUI主要做应用软件的前台UI界面;多线程的目的就是能够实现程序的并行处理;I/O流用来读写字节或字节文件;JDBC主要做的就是对数据库的增、减、改、查操作。

2.2.3 模块三:综合应用模块

钱两个模块主要是Java语言的基础知识和技术,模块三则是对具体的项目进行实践开发,开发项目主要分为两类,Java小游戏和管理信息系统两类。

Java小游戏要求学生具有独立编写简单游戏框架的能力,可以实现窗口操作、定时、绘图等功能;管理信息开发系统主要是开发以数据库为基础的管理软件平台,要求学生能够对数据库进行增、减、删、改、查的功能操作和系统模块的功能分析。

结论:Java程序设计教学中应用模块化教学,有利于实现理论和实践的充分结合,在低投入下就能够取得很好的教学效果,有利于激发高职院校学生的学习兴趣,提高他们的积极性和主动性,极大地改善了高职院校Java程序设计教学的教学质量。

[参考文献]

[1]孙秀东,王永红.Java程序设计任务驱动式教程[M].北京:北京航空航天大学出版社,2010,6.

[2]杨晓燕.Java程序设计教程[M].北京,人民邮电出版社,2009,5.

java学习计划第2篇

关键词:卓越计划;Java Web;课程改革

1、引言

南阳理工学院软件工程专业作为教育部批准的卓越计划实施专业,按照教育部的要求组织实施“卓越工程师培养计划”的设计方案,进一步深化实施课程教学改革,探索创新人才培养模式。

“卓越工程师教育培养计划”围绕工程能力这一核心问题,对人才培养模式进行全方位改革。在校内学习阶段,高校要在加强科学文化基础知识学习的基础上,以强化工程实践能力、工程设计能力与工程创新能力为核心,重构课程体系和教学内容,着力推动研究性学习方法,加强大学生创新能力训练,加强跨专业、跨学科的复合型人才培养[1]。卓越工程师教育培养计划要求实施创新工程教育的人才培养模式,以强化工程实践能力、工程设计能力与工程创新能力为核心,重构课程体系和教学内容,推动基于问题的学习、基于项目的学习、基于案例的学习等多种研究性学习方法,加强学生创新能力训练,做到知识、能力和素质培养的一体化。

Java Web课程是依据行业企业发展需要和完成职业岗位实际工作任务所需要的知识、能力与素质要求选取教学内容,为学生的可持续发展奠定良好知识与能力基础。课程教改遵循学生职业能力培养的基本规律,以真实工作任务及工作过程为依据设计教学内容,实现教、学、做相结合和理论与实践一体化,科学设计课程实验、综合实训等教学环节。

2、课程标准

Java Web课程是软件工程专业java技术方向的一门专业核心课程。作为java面向对象程序设计、网页编程、数据库原理、软件工程课程的后续课程,主要目的是培养学生运用java web技术进行软件系统开发的能力,并配有其良好的编程规范和职业习惯。该课程是一门项目实践性很强的、项目实践动手能力要求极高、面向应用的课程。课程内容繁杂,记忆性东西偏多;实践内容多,编码量大;实用性强,对职业发展意义重大。鉴于其应用性、项目实践性,要求能够把基本概念、基本理论和项目技能融入到具体的Java Web程序和集成开发环境中去介绍。通过项目实践性的案例教学,化繁为简、化难为易、深入浅出地介绍基本概念和理论。

课程培养目标

课程目标以职业能力为标准,以工作任务为教学内容,重点是教会学生如何完成工作任务,知识、技能的学习要结合工作任务的完成过程来进行。围绕工作任务学习的需要,以典型软件产品为载体设计学习项目,组织教学。通过项目驱动的学习和综合实训,熟练掌握运用MVC开发模式进行项目开发的基本知识和技能,并结合数据库设计和软件工程思想进行Web应用系统的设计与实施,能基本胜任java web程序员的岗位。在课程的学习过程中,培养独立解决问题能力和高效的时间管理能力,培养良好的沟通协调能力以及团队合作精神,培养良好编码规范、按时交付软件产品的工作习惯。

课程内容

该课程系统介绍Java Web技术的基本概念、基本理论和集成开发环境的使用,采用项目驱动、案例教学的教学模式控制教学。整个课程通过一个经典软件案例-网上宠物商店的项目驱动,教师与学生活动的讲练结合教学过程,最后由有一个完整的网上书店的开发实践。教学内容和实验设计如表2.1和2.2。

2.1 教学内容

学生学习完本课程之后,能够在MyEclipse集成开发环境下设计、实现、测试、调试、和维护中小型企业应用的Java Web项目,熟练掌握相关开发工具的使用。能够理解Java Web技术的整体概念和体系结构,掌握Servlet技术、Jsp技术、Java Web项目的一层、两层和J2EE中MVC的实现。能够熟练地在MyEclipse集成开发环境中对Web项目进行设计、实现、测试、调试、和维护。学生了解如何用数据库设计工具设计项目数据库、MVC架构的实现技术。解决基于B/S架构中动态页面(即含业务处理的)的Web应用服务,具备博客、网上商店、办公自动化系统开发项目经验[3]。

教学方法

灵活运用案例分析、分组讨论、角色扮演、启发引导等,引导学生积极思考、乐于实践,提高教学效果。Java Web岗位的需求是多样的,学生自身的条件也不相同,课程改革要适应学生的个性发展方向,使学生能明确自己的职业生涯规划。课程教授以学生为中心,通过任务驱动的形式学习课程,以完成工作任务为目标,根据每位学生的特点分配不同的角色,组成项目的开发团队。Java Web课程教学改革既能满足软件开发岗位需要,又能适应学生的个人能力的定位[4]。

教师要求

担任本课程的主讲教师需要具有丰富的java web软件开发经验,深刻理解面向对象编程思想。其主要要求包括:Java语言、面向对象分析与设计、软件测试、数据库管理和应用,有多年项目开发经验,同时应具备丰富的教学经验。在教学组织能力方面,应具备基本的设计能力,即根据本课程标准制定详细的授课计划,对每一堂课的教学过程精心设计,作出详细、具体的安排;还应该具备较强的施教能力,即掌握扎实的教学基本功并能够因材施教,在教学过程中还应具备一定的课堂控制能力和应变能力。教师的观念由于没有切身体验而不可能得到根本性的转变,教师培训也要做中学,从完成一个项目入手,带着项目去研究和解决实际问题[5]。

考核方式与标准

本课程的考核改变卷面考试评价的方法,采用过程考核、产品考核和理论考核相结合的方法,其中过程考核所占比例为40%,产品和理论考核各占30%。过程考核学生对web项目开发中的推理逻辑能力,解决问题的能力、创新的能力、综合项目实训的设计能力,产品考核学生实践编程能力、软件测试能力、系统部署运行和维护能力,理论考核学生对案例教学中各知识点综合应用的掌握情况。课程考核以岗位技能和素质需求为课程考核标准,可以全面考核学生的学习效果。

3、总结

Java Web课程教改是以工作过程为导向、根据工作任务设置学习情景,采用行动向导的教学方法为指导准则,结合采取校企合作、工学交替、以及项目教学模式,把企业实际项目引入教学环节。课程授课以任务驱动的方式展开,使学生在项目实施的工作过程中了解Java Web项目开发完整过程,全面掌握Java Web程序设计的综合职业技能,实现创新能力训练,知识、能力和素质培养的一体化。软件工程专业通过实施教改后的校企合作课程,学生毕业后不用专业培训即可从事Web项目的团队开发工作。

[参考文献]

[1]教育部关于实施卓越工程师教育培养计划的若干意见.教育部文件教高[2011]1号

[2]姜仲,周绍斌,娄钧.面向岗位需求的高职软件技术专业Java课程群建设[J].中国电化教育, 2009(8), P17-19

[3]单晓光.Java Web开发技术的教学方法研究.[J].黑龙江教育学院学报,2011.7(30), P68-69

java学习计划第3篇

关键词:能力导向;计算机专业;Java;课程群建设

中图分类号:G64 文献标识码:A 文章编号:1009-3044(2016)01-0140-03

当今计算机编程主流技术有.net技术和Java(Java EE)技术,Java技术相关职业岗位是计算机专业毕业生最主要的就业方向之一,有着广泛的市场需求。人才的培养侧重在面向经济社会发展所需的能力培养,具体由专业课程体系中每门课程的培养目标来体现。我校计算机专业教育教学积极探索与实践“能力导向,多元培养”的工程教育模式,经过多年的教育教学改革,计算机专业课程体系正在不断完善的过程中,并针对软件企业对Java软件人才的素质、能力要求,有计划、分步骤地进行Java课程群的改革创新和优化建设,使本科毕业生具备Java软件人才必需的素质和Java专业技能。

1 Java课程群建设背景

1.1 Java系列课程开设背景

自1995年Java语言诞生以来,Java技术在不断发展,Java已经远远超出了程序设计语言的范畴,成为一个涵盖了程序设计模式、框架、面向对象的设计思想、方法及语言等方面的技术,是目前IT产业最重要的软件开发技术之一,软件企业迫切需要大量掌握Java技术的软件工程师。自2005年起Java课程就被教育部计算机基础课程指导委员会指定为核心课程,很多高校计算机专业分别开设了Java体系的系列课程,以满足市场对Java软件人才的需求。

1.2 Java系列课程教学中存在问题

由于Java技术升级快、教学内容更新滞后,缺乏对课程体系总体目标的科学定位等原因, Java系列课程各自为政,课程教学存在以下问题:(1)重视理论知识的讲授,忽视实践编程能力和技术运用能力的培养;(2)关键知识点和应用能力要求模糊,没有从Java技术能力要求的角度设计每门课程的教学目标、教学内容;(3)缺乏与专业技能相对应的环环相扣的实践教学环节;(4)教学资源不能及时更新、内容与企业真实案例脱节。

1.3 课程群的涵义及建设原则

课程群概念最早出现于1990年,北京理工大学基于“在课程建设中应当以教学计划的整体优化为目标”,提出要注重“课程群”的研究与建设。研究者对课程群的内涵进行了理论探讨,并给出了5种较有影响的“课程群”解释[1],我们按第2种课程群的指导思想对Java课程群进行建设研究,即:以1门以上的单门课程为基础,由3门以上的性质相关或相近的单门课程组成一个合理、相互照应的连环式的课程群体。课程群的基本思想是把内容耦合紧密、存在内在关联、属同一个教学目标的一类课程作为一个课程群组进行建设,打破课程之间的壁垒,从专业培养目标层次的角度把握课程内容的分配、实施和技能的培养。

课程群建设应遵循两个原则[1]:

(1)创新性原则:课程群建设不是进行简单的课程组合,它需要有清晰完整的建设思路,对课程体系统筹规划,对相关课程进行优化设计和整合构建,对具体课程教学内容进行增、删、整、并,做到融知识传授、能力培养、素质教育于一体,充分体现先进性和前瞻性;同时需要进行教学模式改革,实施因材施教,以便达到整体优化的目的;

(2)综合性原则:进行课程群建设要以培养技能型、实用型和创新型学生为目标,打破各门课程自成门户的壁垒,实现相关课程间的有机综合,使教学内容充满知识经济时代的现代化气息,使学生通过多渠道、多形式、多侧面、多方向的学习,达到知识和技能的全面掌握,实现课程结构的开放化、课程内容的现代化、课程形式的多样化和课程目标的社会化。

2 企业对Java软件人才素质与能力要求分析

通过走访用人单位、与企业沟通交流、查询各大招聘网站对Java软件人才的招聘需求,以及毕业学生问卷调查反馈信息等方式,我们整理了企业对Java软件人才的共性要求如图1所示。

图1 企业对Java软件人才素质与能力要求

从图1可以看出,Java软件人才除了应具备计算机专业软件人才应具备的个人基本素质和综合专业素质外,对Java专业技能有更高的要求,即在掌握Java技术体系知识的同时,有丰富的Java编程经验,具备熟练运用Java技术的能力和辅助Java技术运用的常用工具软件的使用能力,这些能力的培养需要依赖于大量的项目编程实践。

3 构建以能力为导向的Java课程群体系

3.1 Java课程群建设思路

依据课程群的内涵和建设原则,以计算机专业应用型本科生的培养为研究载体,以提高学生素质和Java专业技能为导向,修订人才培养方案,明确Java课程群建设课程,注重实践教学,在教学内容、教学方法、教学资源以及教学团队等方面改革创新、优化建设,以促进Java专业技能和专业素养随课程教学的推进而不断提高、加深与拓展,逐步实现与培养目标的重合,达到企业对Java软件人才素质能力要求。

3.2 Java课程群建设内容

表1 课程教学目标及能力培养贡献度

[教学目标

及能力\&Java程序设计\&面向对象分析与

设计\&Web编程基础\&软件编程实训

(Java)\&软件编程

实训

(JavaEE)\&软件编程

实训(Android)\&教学目标\&掌握Java语言的基础知识、面向对象编程的思想和方法,着重培养Java编程规范和能力\&掌握UML面向对象系统分析、设计方法,着重培养软件系统分析、设计能力

\&掌握动态网页设计基本方法,理解Web系统运行原理,着重培养网页制作和Web系统运行配置能力\&熟练掌握Java编程技术,着重培养Java桌面应用系统的分析、设计和编程能力

\&掌握企业级开发中的主流技术和三大框架,着重培养基于框架的 Web应用系统开发能力\&掌握移动开发主流技术,着重培养Java移动应用系统开发能力

\&编程能力\&***\&**\&**\&***\&***\&***\&基础数据结构和算法运用能力\&**\&*\&*\&***\&***\&***\&系统分析、设计、构架能力\&**\&***\&*\&***\&***\&***\&数据库设计能力\&*\&***\&*\&***\&***\&***\&Java技术运用能力\&***\&*\&**\&***\&***\&***\&常用工具软件运用能力\&**\&**\&***\&***\&***\&***\&文档写作能力\&**\&**\&**\&***\&***\&***\&新技术自我学习能力\&***\&***\&***\&***\&***\&***\&]

(1)依据能力要求规划课程和教学内容

依据软件人才需要具备的Java专业技能,确定以下6门课程为Java课程群建设课程:《Java程序设计》、《面向对象分析与设计》、《Web编程基础》、《软件编程实训(Java)》、《软件编程实训(Java EE)》、《软件编程实训(Android)》6门课程,其中《Java程序设计》、《面向对象分析与设计》和《Web编程基础》为理论教学课程,其余三门均为实践教学课程。表1为各门课程的教学目标和对素质能力培养方面的贡献度,这6门课程覆盖了软件人才Java专业技能和主要的素质能力。

注:表中*个数代表课程对素质能力培养的贡献度。

在整理课程群内各课程知识点的基础上,经统一规划和组织,将所有知识划分为关键知识点、重点知识点和必要知识点[3]三个层次,关键知识点涵盖了Java软件开发所要用到的所有基本技能,需要在课程群的各个课程中反复强调、重点掌握;重点知识点是要求高级程序开发人员需要掌握的技能,对于关键知识点有一定的支撑和强化作用,在课程教学中引导学生学习并提倡自我技能拓展;必要知识点主要是Java技能运用时涉及常用工具软件的配置、操作等,这类知识点更多地安排在实训课程中,要求学生“做中学”。

(2)注重实践教学,探索能力培养教学方法

技能的培养更多地来自工程实践的训练,是“水磨的功夫”。在修订人才培养方案时,我们打破传统的理论与实践教学分离的教学模式,将常规的实验学时合并到理论学时中,安排在机房进行理论教学;传统的课程设计实践环节改为系列软件编程实训。

理论课程以边讲边练,以讲为主的教学方式。教师在讲授知识点的同时,一些验证性的小代码直接在课堂演示或安排学生当场验证实践,并以大作业形式布置小型应用程序编写任务让学生在课外完成,由教师结合课程群辅助教学平台、QQ群等讨论空间组织交流、指导。实训课程教学则以学生上机实践为主,教师讲解、指导为辅。

在实践内容组织上,通过项目驱动,选择2-3个典型的应用软件项目贯穿6门课程的实践任务。以“ATM模拟软件系统”为例,在《Java程序设计》课程中,要求学生实现该系统的控制台应用程序,包括功能菜单显示、账户登录、存取款操作等功能,涉及账户及存款余额信息用文件保存;在《面向对象分析与设计》和《软件编程实训(Java)》课程中,完成对整个系统图形界面应用程序的用例分析、UML建模、数据库设计及类设计,并编程实现三层架构的ATM系统;在《Web编程基础》课程中,要求学生分析、设计和实现基于Web的ATM系统;在《软件编程实训(JavaEE)》中,完成基于框架和Web的ATM系统;在《软件编程实训(Android)》中,则要求学生将ATM系统的功能搬到手机平台上。通过Java课程群6门课程的学习和实践,学生能充分理解ATM系统的开发需求并熟练掌握Java各平台开发技术。

(3)搭建课程群教学平台,积累教学资源

随着软件开发技术的发展,新的理论、方法和框架不断被吸纳到Java技术体系中,而可选用的教材在教学内容方面相对滞后。我们组织编写了《软件编程实训指导书》校内讲义,并及时修订,以便将最新技术融入到实训内容中。围绕该系列实训讲义,同时建立起了包括Java开发工具包、教学课件、微课、实践操作视频、优秀源代码展示等丰富的立体化教学资源,开发搭建了课程群辅助教学平台,提供资源共享、师生在线交流、实训物化成果在线提交和考核。

(4)构建工程型教学团队

参与Java课程群建设的教师不仅是教学团队的成员,同时也是Java科研团队的成员,他们一方面将自己的授课范围和研究领域侧重在Java课程群之内,另一方面运用Java技术参与软件系统开发的纵横向项目。通过建立一支稳定的工程应用能力强的教学团队,可以更好地“教学相长”,也便于有的放矢地组织教师针对Java技术进行教研、科研和安排培训。

4结语

经过近四年的规划、实施,Java课程群建设研究已经取得了显著效果,学生学习目标明确,学习Java开发技术的热情高涨,教学效果明显提高。在“蓝桥杯”大学生程序设计、大学生实践创新训练项目中都取得了部级、省级较好成绩,用人单位认可毕业生质量,主动来校预定大四实习学生。Java课程群建设研究不仅有效提高了Java系列课程的教学效率和质量,也进一步完善了计算机专业课程体系,为本专业其他课程(群)建设提供了借鉴。

参考文献:

[1]蒋方纯,陆云帆.工学结合教学改革中课程群建设的需求与设计[J].深圳信息职业技术学院学报,2010(3).

java学习计划第4篇

[关键词] Java程序设计;教学改革

[中图分类号] G642.0 [文献标识码] A [文章编号] 1674-893X(2013)04?0071?03

Java程序设计是高校计算机、电子信息工程等相关工科专业本科生阶段的一门重要专业基础课。Java语言具有操作性、技术性和应用工程性很强等特点。Java语言也是大多数软件资格水平考试采用的二种考试语言之一。但从目前多数企业对高校毕业生就业的反馈信息来看,高校培养的计算机编程人才与企业需求之间普遍存在一定的差距,大部分应届计算机专业毕业生的实际操作能力不能满足企业的实际需要。企业希望的是应聘者能很快为企业带来实际的生产力,而不是很多额外的培训成本。因此,当前在高校的计算机编程类课程的教学过程中,要将提高接近企业需求的应用开发能力的培养作为目标,特别注重对学生实际创新应用能力的培养。对于Java程序设计课程,这个目标的实现需要体现在课程的整个教学过程中。

一、Java程序设计教学现状

Java语言是学习面向对象程序设计的公认最佳入门语言。目前高校在Java程序设计课程的教学中,还存在以下一些问题。

第一,在教学内容上,存在与Java技术的应用目标脱节的矛盾。目前在Java程序设计课程教学中,教师大多只讲解Java语言的基本语法及其高级特性,很少涉及到使用Java技术进行项目开发。在学完课程后,学生仅仅熟悉了一些Java语言的基础知识,而对使用Java技术开发完成一个项目毫无头绪。学生的工程性知识仍比较缺乏,“只见树木,不见森林”,自然不能满足企业的需求和适应将来的工作。

第二,在教学方法方面,仍然采用传统灌输式教学,忽视了学生的积极性、主动性的发挥。课程教学过程中缺少团队合作环节,教师在指导学生利用Java技术开发项目和培养他们的职业素质等方面做得不够。课程结束后,学生没有完全掌握学习Java技术的方法,也没有掌握更新自己的Java技术知识和适应Java技术的未来发展及革新的能力。

第三,在课程体系设计方面,缺乏与时俱进的前瞻性。课程培养目标忽视了Java技术的应用领域的拓展及其发展趋势,不能紧随Java技术的发展水平和应用领域的扩展。

针对以上问题,笔者提出了基于应用、可持续的教学目标,提高Java程序设计课程的教学效果,以此来培养学生适应Java技术及其应用的不断发展,满足社会对应用型人才的需要。

二、面向应用、可持续发展的教学目标

教育部的“卓越工程师教育培养计划”的目标是:通过教育和行业、高校和企业的密切合作,以实际工程为背景,以工程技术为主线,着力提高学生的工程意识、工程素质和工程实践能力,进而培养大批各类型工程师[1]。结合我校的应用型人才的整体培养目标,针对Java程序设计课程,提出了“基于面向应用、可持续的”的教学目标。

面向应用的目标是指在教学过程中,采用创新人才培养模式,注重培养学生的创新应用开发能力,以提高接近企业需求的应用开发能力作为培养目标[2]。可持续的目标是指在Java程序设计的教学过程中激发学生的学习Java技术的兴趣和动力,使之具备获取和更新Java技术知识和适应未来Java技术发展与革新的能力,由此实现自身专业发展的可持续性。

Java程序设计课程教学改革的基本思想是将Java作为本科计算机相关专业的面向对象程序设计的入门语言,形成面向应用的、特色鲜明的课程体系。在课程内容和课程体系上,采用“计算机科学导论JDK安装与环境配置Java程序设计JavaEE与Android应用开技术”的多层次的课程体系。以Java SE为主线,循序渐进,巩固深化,实现学生知识结构和应用能力的可持续发展。

三、面向应用、可持续的教学改革

(一)理论课程教学方法改革

1. 优化教学内容,培养学生兴趣

一是以应用能力培养为目标,量身定做授课计划和教学内容。在制定授课计划时,以培养应用能力作为指导思想,结合学生的专业方向“量身定做、定身培养”。在此指导思想的基础上,根据学生的专业方向及其培养目标的差异,制定出相应的授课计划和大纲,选择适当的教材。在教学内容的选取上,除了讲授Java的基础知识、Java技术的一般应用外,还应涉及Java技术在他们的专业方向的应用。如对软件工程、网络工程专业的学生,这部分教学内容应较多侧重于网络编程、数据库编程等方面;而如对信息安全专业的学生,则应较多侧重于加密/解密算法实现以及安全类库的应用等方面。

二是因势利导,注重培养学生兴趣。在授课过程中,应注意培养学生学习Java程序设计课程的兴趣。俄国文学泰斗托尔斯泰说过:“成功的教学所需的不是强制,而是激发学生的兴趣。”在教学过程中,授课内容不能完全局限于教材,应尽量将抽象的Java基础知识与实际应用联系起来,多举Java技术在应用领域的实例。也可通过打比喻使抽象概念具体化和形象化,如“类、对象”可比成“小轿车、大众轿车”;如“接口与类”可比成“产品的设计与实现”。这样在学习过程中,学生不但能够较好地掌握Java技术,而且能了解到Java技术的应用前景,激发了他们学习Java技术的兴趣。

2. 基本教学方法贯穿整个教学活动

在教学活动中,综合运用以下教学方法。

第一,启发式教学法。使用先果后因、分析提问和编程互动等方法,启发学生积极思考和参与讨论,共同探讨解决问题的方法,提高他们的学习主动性,激发学习兴趣。还可以使用统一建模语言UML使面向对象的设计思维科学化、设计思想可视化,如合理使用“类图、对象图、时序图”等描述语言。

第二,讨论式教学法。对于课程中的重点和难点内容,适当安排课堂上讨论互动。如学习GUI的事件处理机制时,可从一个“登陆界面”实例出发,先由学生思考讨论,给出登陆的事件监听器类和事件处理方法的设计思路,再由教师总结、修改和完善,最终达到预期效果。

第三,案例教学法[2]。提出一个具体的小问题,给学生时间思考和讨论,以更深入地展开学习。如在课堂教学中适时引入恰当的、有趣的小实例,由教师和学生共同参与完成。也可以引入“大作业”形式的典型案例,围绕该案例展开基本概念阐述和应用性操作,如模拟ATM机设计就是一个很好的实例。

第四,项目驱动教学法[2]。该教学方法实施探究式教学模式,使学生明确学习目标,根据项目需要来学习。培养学生由被动地接受知识转变为主动地寻求知识的能力。通过“提出项目、分析与设计、编程与测试、总结和完善”的过程,在教学中体现出面向应用、共同协作、互动创新的教学风格。项目驱动教学法的具体实施体现在实践环节中,需要提前进行整体规划和分组设计,然后学生先演示、教师再总结,使得群体思维与智慧为全班学生所共享。

3. 多种教学方法结合,培养应用开发能力

一方面采用多媒体课件、启法式和讨论式教学法相结合来讲授Java基础知识点。让学生带着问题学习,教师借助多媒体课件完成重点、难点的讲解。另一方面采用多媒体课件、活代码、案例教学和项目驱动教学法相结合来讲解Java技术应用知识点。让学生带着任务学习,教师以活代码形式通过案例或项目,借助多媒体课件培养学生应用开发能力。

(二)实践课程教学方法改革

1. 优化实验教学内容,精心设计实验大纲

在现有的Java程序设计实验教学中,验证性实验内容占绝大部分,即验证理论课程讲授的知识点。这种教学模式割裂了各知识点之间的联系。在考虑Java实验学时数和学生的程序设计基础上,可改革实验内容,更新实验大纲,优化实验教学的内容。改革后的实验项目增加项目型实验数量,突出综合设计型实验的主导地位。其中,基础型实验教学内容着重训练学生的Java语言基本知识,使学生的基本应用技能得到应有的提高,为开展综合设计型实验打下坚实的基础。综合设计型实验教学内容是要结合具体问题让学生进行Java程序设计,积极调动他们的主观能动性,注重对学生进行创新能力的培养,使他们掌握理论与实践相结合的技能以适应未来的工作和满足企业的需求。

2. 采用面向应用、分层次的教学模式

实验方式的选择可根据学生的知识层次、编程能力高低而有所侧重。对于语言学基础好的学生可以采用项目的方式教学;对于语言学习基础差的学生要先以基础型实验为主;基础扎实后,最后再结合项目方式进行系统式的教学[3]。因此在设计实验内容时,需要保留必要的基础型实验,其中包括精简内容单一的验证实验。在教学中还要特别注意因材施教,注重进一步提高有潜力学生的技术水平。

3. 设计难度不同、趣味性的课程设计题目

课程设计是Java程序设计课程的重要组成部分,需要学生对所学理论知识和实践知识系统地结合与运用。教师可根据各专业的培养目标及学生知识掌握程度的差异,设计具有一定的实用性、可行性、趣味性、难度以及工作量适中的课程设计题目;也允许学生经指导老师批准自己拟题。教学过程中,教师讲解简单应用系统的设计开发方法。允许学生在一定程度参考范例的前提下,消化吸收范例并独立进行改进、完善以实现自己的项目。教师可以采用定期现场答疑和网上在线实时答疑相结合的方式对学生进行指导。

4. 可持续发展目标

可持续的教学目标更多地体现在实践教学中。在教学过程中,注重培养学生掌握Java技术的学习方法(包括学习类库和帮助文档使用),关注Java应用的技术水平和发展趋势,适应Java技术的新发展。如目前本课程以JDK1.6作为基本的开发包,但随着Java技术的发展,更高版本的开发包会陆续,如JDK1.7、JDK1.8,这些新版本的开发包的学习方法与JDK1.6的学习方法是一样的。掌握了JDK1.6的学习方法可以轻松应对更高版本的开发包。对其它的高级Java技术,如Java EE、Android应用开发,其学习方法类似。

5. 给学生提供更多的自由空间

在Java程序设计的实践教学中要考虑学生的学习基础和学习需求,充分调动学生学习的主动性,尽可能地提供完善的软/硬件设备及其它教学条件,如开放的实验室、高质量的教材、完善的实验教学辅导系统等[3]。

(三)教学手段改革

一是充分利用多媒体技术,在多媒体教室或实验室中进行互动教学,以提高学生的实践能力。 可以开发Java程序设计网络课程来整合多种媒体的教学资源,开设学习论坛和进行网上答疑等互动式教学,为学生提供一个在线学习平台。

二是改革考核方式,注重应用动手能力。除理论考试外,还可以采用答辩式、上机考试等形式考查学生分析问题能力和应用动手能力。

三是逐步开设创新性实验。在课外实践等环节中,设计难度不同、分层次的研究性和开发性课题,鼓励和引导学生进行自主开发。鼓励学生参加程序设计竞赛,培养学生应用

Java技术的兴趣,为后继课程的开展做准备。

四、结束语

实践证明,改革后的教学方案激发了学生的学习兴趣,培养了学生的实践动手能力和发现、分析与解决问题的能力。该教学过程也使教师拓展了自己的专业技能与教学方法,提高了Java程序设计课程教学水平和教学效果,加快Java程序设计课程体系、教学内容及教学模式等方面的进一步改革。更重要的是,该方案提高了学生的创新应用开发能力、更新Java技术知识和适应未来Java技术发展与革新的能力,也培养了学生的职业道德与职业素养,为培养更合格的软件开发应用型人才做出了重要的工作。

参考文献:

[1] 卓越工程师教育培养计划[G]//教育部“卓越工程师教育培养计划”启动会会议手册,2010.

[2] 郭广军,戴经国,等.面向应用的“Java程序设计”精品课程教学改革与实践[J].计算机教育,2009(12): 76-79.

java学习计划第5篇

关键词:Java;CDIO;教学方法;教学实践

作者简介:李瑞生(1976-),男,甘肃白银人,甘肃政法学院公安技术学院,讲师;王秋云(1963-),女,甘肃兰州人,甘肃政法学院公安技术学院,教授。(甘肃兰州730070)

中图分类号:G642.0     文献标识码:A     文章编号:1007-0079(2012)10-0094-02

CDIO先进教育思想是麻省理工学院和瑞典皇家工学院等四所大学经过四年的探索形成的研究成果,国外和国内部分高校近年来先后将CDIO思想应用于教育教学实践并取得了良好的应用效果。[1]

CDIO即“构思―设计―实现―运作”的工程教育思想。其中包含12条重要的标准,[1-2]概括起来主要包括:教学中能否最大程度上体现和反映对软件开发的构思、设计、实施和运作的背景;在课程标准的制定上能否体现出对学生工程基础知识、个人能力、人际团队能力和工程系统能力的培养;培养计划是否包含不同能力层次的划分和实施;有没有保证CDIO培养模式开展和实施的工程实践场所;有没有将学科学习和工程职业训练融合在一起的综合性学习经历和主动学习经历;有没有具备实施CDIO思想的高素质师资;学生学习方式是否转变为主动学习和具备持续学习能力;对学生的考核和评价体系是否与CDIO的培养目标一致等。

针对计算机专业学生学习了“Java程序设计”课程后,独立分析和解决实际应用问题能力、团队协作、实际应用开发能力以及就业竞争力不强等问题,将CDIO思想引入到Java教学中,并对CDIO思想在Java教学过程中的应用和实践展开论述。

一、Java课程体系规划和实施

1.基于应用实践能力培养的Java课程体系规划

聘请有能力的软件开发企业中资深的Java项目人才与学校一起根据企业的需求制定人才培养方案和教学大纲,一方面及时了解前沿技术的变化,另一方面及时了解企业对用人需求的变化,根据这些变化及时调整课程体系并选择相关案例,满足企业现在和将来的用人需求。[3]

为了适应社会对高级Java EE、Java ME程序设计人才的迫切需求,必须设置合理的课程体系模块,体现完整的Java程序员的技术路线,在授课中时时处处体现实际应用需求,以进行实际应用项目开发为最终教学目的,将实际应用开发的环节、技术和知识点分布和渗透到课堂教学中。

因此,将“Java程序设计”课程体系划分为如图1所示,即在学习了Java SE程序设计后,针对不同的学生兴趣和不同的就业取向,开设Java EE或Java ME。

2.理论与实践教学环节的“阶段式”实施

以Java EE教学为例,按表1规划教学“知识点”、“知识单元”、“应用案例”及达到的“目标层次”。

按照如图2所示的学习情境创建―引入学习任务―讲授与互动的方法完成理论环节的教学任务。

传统的实验教学方式主要是教师针对课堂理论教学中的一个知识点的验证性实验。[4]这样进行的实验会导致以下问题:学生只练习了孤立的知识点,没有建立起知识点之间的联系,没有树立“所学知识是为开发应用项目服务的观念”;在完成试验后,不能体会和理解这些知识点如何运用到实际项目中;没有实际问题的驱动,学生缺乏对实验的兴趣、积极性和主动性。

因此,针对理论教学知识点和实际应用项目开发需求,以实际应用项目为出发点,将其分解为若干应用模块,每个模块相对独立构成一次实验教学内容,最后将单独的模块集成为完整系统的思路精心设计实验项目,引导和培养学生独立地、逐步地进入实际应用开发的殿堂。

将实践教学环节渗透到学生的整个培养计划的各个阶段,如图3所示。

二、培养学生实际应用项目开发能力的场所

1.创新实验室及专业实践基地的建设与运作

近年来,甘肃政法学院创办了计算机专业创新实验室,为保障CDIO工程教育思想在计算机专业教学中的贯彻实施提供了场所和仪器设备保障。创新实验室中Java项目开发团队在指导教师的带领下,由学生组成若干个开发小组,严格按照对实际应用项目“构思―设计―实现―运作”的思路,结合软件工程的开发流程,承揽和完成了一系列来自于校内或社会的实际项目开发。这部分从事过实际项目开发的学生毕业后,分别就职于全国各大中小城市以及地方的软件开发公司,跟踪调查显示,他们在各自的岗位上业务能力强,实践创新能力突出,得到用人单位的广泛认可。

为了方便交流和学习,建立了Java编程爱好者网站,以师生共建的方式提供大量的可共享的Java技术学习资料,形成师生共同探讨Java技术、互相推介Java最新技术和开发技巧的网络平台;邀请与学校有校企合作关系的Java工程师、已经从事Java相关开发工作的毕业生在其上开辟空间,给在校学习Java的学生提供一线开发的经验和技术支持。

为了调动学生对Java技术的兴趣,组建了Java编程爱好者社团,让学生共同学习、共同实践、共同提高。对于其中表现突出者,让其加入创新实验室参与实际应用项目的开发。形成高年级学生对低年级“传、帮、带”的传统,不断吸收新同学参与其中,保持社团旺盛的生命力。

2.让学生在实际应用项目开发中学习

CDIO工程化教育思想以工程项目从研发到运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习工程。[2]因此,布置给学生的每个阶段的任务,如实验任务、课程设计任务、学年设计任务、毕业设计任务等,都以实际应用项目为背景,以软件工程方法中软件开发生命周期为指导,以提高学生自身应用开发能力、团队协作能力和工程能力为根本,锻炼学生主动学习,勇于实践,善于创新的良好习惯和开发实际软件应用项目的能力。

由主讲Java课程的教师团队牵头,走出学校,积极承接实际应用软件开发项目,组织学生开发团队进行实际软件项目开发。

积极与各软件开发企业保持长期合作机制,给学生创建稳定的Java实习基地,让学生走出去并深入到软件开发企业中进行项目实战的锻炼。

三、师资力量的强化

为了能够真正将CDIO思想贯彻落实在Java教学中,Java教师应同时具备Java软件工程师的能力。但目前由于主客观条件的限制,讲授“Java程序设计”的高校教师中,仍普遍存在着没有经过系统的项目开发培训和没有从事过完整大型项目开发经验积累的现象。

为了有利于“双师型”教师的培养,学校应鼓励教师走出去,从事软件工程师资质认证、项目开发培训和实战,并将这些经历纳入教师绩效考核和评定的条件。

加强校企合作,聘任软件开发企业中资深的Java项目工程师兼任技术顾问,对学生实际应用项目开发提供技术指导和评估。

四、学生学习方式的转变

Java教学的最终目的在于培养学生具备独立分析实际问题并运用Java开发技术创造性解决问题的能力。因此,让学生真正体现学生主体地位,将被动学习和无兴趣学习转变为主动学习和积极学习非常重要。

在Java教学中涉及的每个知识点、知识单元、项目案例都要以问题的形式呈现给学生,让学生意识到需要解决什么问题,让他们先考虑解决办法,再启发式地引导学生学习陌生的新知识和新方法。

引进企业的真实项目案例,采用多个小案例来驱动,先以需求和案例作为切入点,学生才有前进的目标,才会为这个目标奋斗,从而充分发挥学生的学习主动性。

五、改革学生课程考核方式

考核方式由单一的笔试或机试转变为以完成实际课程设计或应用开发项目的方式;采用“学生自评+学生互评+教师评价”等环节对学生的成绩进行综合评价;以“用户评价+专家鉴定”来综合考量实际运用项目的质量。

六、提高学生就业竞争力

通过系统化的基于CDIO思想培养的学生,已经在日常学习过程中潜移默化地掌握了Java实际应用项目开发的流程并积累了一定的项目经验。可将自己平时完成的完整项目保留下来,在就业面试阶段展示给用人单位。这锻炼了学生实际应用项目开发能力,使其快速进入Java软件工程师角色。

七、结语

在“Java程序设计”教学中,深入体现和贯彻CDIO从“做中学”,以实际应用项目开发为背景,以社会对Java人才需求为导向,以培养学生实际应用项目开发的能力为目标的新教学体系和方法,有利于进一步提高教学质量,促进学生实际应用项目开发的综合能力。

参考文献:

[1]cdio百度百科[EB/OL].baike.省略/view/2402813.htm.

[2]马晓梅,张剑飞,乔付.CDIO模式下高等工程教育的改革与探索[J].计算机教育,2010,(12):132-133.

java学习计划第6篇

一、Java的就业需求

1. Java的前景

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

2. Java语言的特点

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

3. Java的市场需求

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

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

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

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

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

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

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

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

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

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

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

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

1. Java的定位

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

2. Java的教学内容

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

3. Java的教学课时

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

三、Java课程开设的几点建议

java学习计划第7篇

摘 要:根据教学应用型本科院校在办学定位、人才培养模式方面的要求,针对计算机专业学生就业普遍存在的问题,阐述Java应用方向四阶段系列课程教学理念,结合课程的教学实际,在增强学生的实践能力、提高学生的就业能力方面取得成效。

关键词:教学应用型本科院校;Java系列课程;教学理念

基金项目:广东省自然科学基金资助项目(10252500002000001),广东石油化工学院计算机科学与技术特色专业建设(214084)。

作者简介:彭志平,男,教授,研究方向为机器学习、面向服务的计算;姚明,男,副教授,研究方向为软件工程与面向对象技术;李启锐,男,讲师,研究方向为图像处理与模式识别。

文献[1]对教学应用型本科院校在办学定位、人才培养模式方面的要求作了清楚的诠释。教学应用型本科院校的学科和专业在强调必须的学术性和基础理论性的同时,要更加强调面向市场现实需要和学生的实际与未来发展需求。作为教学应用型本科院校的计算机专业教师,我们将人才培养的目标定为职业性和工程技术应用型,在专业结构和课程设置中努力去凸现“应用性”。根据计算机语言的发展和应用形势,结合学生的实际情况,我们构建了以Java技术为主线的Java应用方向四阶段系列课程教学。通过近几年的教学实践,取得了良好的效果。

1 选择Java作为教学语言和开发工具

多年的编程语言教学实践让我们深刻地体会到编程语言选择的重要性。对于教学应用型本科院校计算机专业的程序设计教学来说,程序设计语言选择得当,能为学生铺设出一条成才的捷径。

在互联网时代,程序员的职位更多的与网站相关。随着网络技术走向成熟,在软件开发体系方面,目前主要流行两种架构:Java EE与.NET。来自软件公司和培训机构的调查显示,全国各大IT企业,招聘职位最多的是Java开发工程师;目前软件编程的最热门语言当属Java,大量毕业生进入软件编程行业,主要使用的还是Java技术;同时,使用.NET技术进行软件开发的公司和人员也比较多。

我们对Java EE与.NET架构作了较为全面的比较。二者各有优势,简要说来,从易用性、开发成本、对语言的支持、开发周期、对Web服务支持的力度等角度看,.NET略胜一筹;从稳定性、安全性、移植性、开放性、产品的多样性等角度看,Java EE略胜一筹。Java EE与.NET对应的核心语言分别是Java与C#,两者共通之处较多,掌握其中一种会有助于快速学习另外一种。欲选择其一作为教学内容,可以从其应用的前景和学习的便利来考虑。这两者都是面向对象的语言,并且都具有良好的应用前景,而Java的跨平台等许多特性使其拥有更多的用户,且直接支持分布式的网络应用为编程提供了方便,已成为网络应用开发的首选语言和工具;同时,Java的开源也让学习者和使用者能获得更多的资源,能更好更深入地学习和应用。目前,Java技术框架已发展得非常庞大,其各方面的内容都非常丰富和精深,可以很好地解决实际问题。这是Java的魅力所在,也是驱使很多人学习和使用Java的动力所在。Java语言从诞生至今的短短十多年间,已经发展成为世界上编程使用人数最多的语言。经过分析和对比,我们选择Java作为教学语言和开发工具,通过开设Java相关课程,形成了以Java技术为主线的Java应用方向四阶段系列课程教学。

2 分阶段教学的必要性

虽然Java应用广泛、学生就业面大,但是对该类人才需求旺盛的IT企业却很难招聘到合格的Java开发人员。其中最根本的原因,是许多计算机专业的毕业生在就读期间没有掌握实用的技能与经验,距离企业的实际用人需求有较大的差距。

较之于.NET,从学习的难易程度来看,Java技术框架庞大,知识与经验靠积累,学习和使用的门槛较高;从软件开发的周期和成本来看,Java较长较高。由此,我们可以找到问题的症结所在,即Java内容庞大,仅仅通过一门课或一个学期的教学很难让学生真正掌握并熟练应用。在计算机课程的安排上注意分解难点,对教学效果的提高会有很大的帮助;我们制订应对的教学计划时,应是围绕着“如何将其内容分解”进行。

完成Java相关课程的学习与应用,还需要其他课程内容作基础与配合,涉及到的课程较多,其教学前后会跨越几个学期。因此,我们设想将Java相关课程的教学分成几个阶段进行;一是因为课程本身内容庞大需要分解,二是因为某个阶段的学习可与同学期其他课程配合进行,这样可使教学做到有的放矢、循序渐进,收到较好的教学效果。

已有一些计算机专家和教育工作者,在教材的编写上进行改革,力图改变教育未能很好地适应需求的问题。近年来,出版的一些新编Java教材[2-3],其变化特点是将Java SE的内容与JSP的内容整合,以Java SE为基础部分、JSP为应用部分,在介绍Java基础之后,以Java Web编程作为应用与提高。这种试图“一竿子插到底”的目的,是欲达到避免重复学习、实现事半功倍的效果,以及提高学生学习的目的性和积极性。

然而,Java SE本身内容就很丰富,另外,Java Web编程部分的内容也不是仅仅通过两三章内容的介绍和讲解就能处理好的,因为Java Web编程是知识的综合运用,JSP只占其中一部分,除了这部分内容需要一定时间的学习之外,一般说来还要涉及到数据库、HTML、JavaScript、CSS 、XML等内容的学习,而这些基础知识,学生在此之前一般并不具备。所以,我们认为,将以Java SE为主的内容放在第一阶段,而将以JSP为主的Java Web编程内容放在第二阶段,均利用一个学期、前后分开完成教学,学生的掌握情况会好很多。

Java EE技术经过多年的发展,已经日趋成熟、成为最佳电子商务解决方案之一。使用框架会带来开发的便利,它是面向对象技术中软件复用粒度最大的方式。我们注意到介绍流行应用框架Struts、Hibernate和Spring的教材[4-5]在逐渐出版,并且其内容由单一介绍其中某种框架及应用逐渐转向到对这三个框架及其相互之间整合的介绍。学生如果在第一阶段的学习完成之后就学习这些框架及应用,难度是相当大的,因为面对的新内容太多,即使是依葫芦画瓢写出了程序,也是知其然而不知其所以然。如果有第二阶段的Java Web编程基础,则对这些内容的理解和认识会好很多;而尽管如此,这些框架及应用仍然需要一定时间的学习才能较好地理解掌握和熟练应用。我们认为,将流行Web框架及应用的内容放在第三阶段,进行一个学期的教学较好。

分布式计算是当前软件开发技术的一个重要发展方向。“分布式计算是一个具有重大理论与实践意义的迷人课题,其迷人之处在于理论与实践的同步发展,一方面实践推动了理论,另一方面理论又指导着实践”[6]。分布式计算技术形成了OMG组织的CORBA、Sun的EJB/Java EE、Microsoft的.NET三足鼎立的局面。

目前很多软件项目都使用了分布式计算技术。Java支持分布式计算技术,早期用得比较多的有RMI、CORBA等;在EJB 3.0推出后,EJB技术更为流行一些,越来越多的应用使用了EJB技术。

作为软件开发技术的一个新兴领域,各种分布式计算技术还在持续、迅猛地发展。有必要开设一门课程,对这些内容作一些简要的教学,让学生储备对Internet/Intranet的分布式软件开发的后劲,同时也可提高学生就业的竞争力。要完成此课程的学习,学生除掌握面向对象程序设计方法与Java程序设计语言之外,还须具备面向对象软件工程的基本知识。从教学内容以及与其他课程的衔接上考虑,宜将此课程放在第四阶段,安排在四年级上学期进行。

3 四阶段系列课程教学计划

根据前面的分析,我们制订了Java应用方向四阶段系列课程教学计划,如表1所示。

4 教学实践

在学生具有高级语言程序设计(C++)以及数据结构课程内容的基础之后的几个学期里,我们进行了Java应用方向四阶段系列课程教学。

4.1 第一阶段:面向对象原理与Java实践

此阶段所教学的Java内容,是Java SE部分,也是Java的基础部分。我们认为,学习是为了更好地应用,如果这部分基础不牢,对后续Java相关课程内容的理解、掌握与应用是有影响的。

我们很难做到仅通过课堂教学与实验指导便将此门课程的内容几乎一网打尽,需要做的是抓住课程的重点和突破其中的难点,进行有的放矢的教学,以达到纲举目张的效果。对于此阶段的教学,我们围绕抽象、封装、继承与多态这些面向对象程序设计中的核心概念,将面向对象的思想和方法贯穿于整个教学之中;通过联系实际的例题与应用对比,突破I/O流类众多、多线程部分概念抽象以及它们如何应用的难点;详细处理常用Java数据结构的使用,以及Java网络访问、Java 数据库应用程序的编写这些对后续课程的进行相关性很大的内容。

此阶段是整个系列课程教学的基础阶段。从应用的角度来看,完成此阶段的学习之后应该具备Java桌面应用系统开发基础。

4.2 第二阶段:Java Web应用编程基础

基于Java的Web服务器端编程主要涉及JSP、Servlet和JavaBean技术。它们是最基本的Java EE技术,也是基于Java的网络编程的基础,它们之间的交互为Web服务提供了优秀的解决方案。

此阶段的教学内容应用性较强。教学中,我们注重面向实践技能培养,通过案例组织内容。一是抓住实践项目中常用的基础技术重点讲授,二是将常用的DAO、VO、MVC等设计模式引入教学内容之中。对于关键的知识模块,提供典型的、可操作的实验案例,通过实例来增强学生对知识的理解,并以此培养学生的学习兴趣和实践技能。最后通过一个综合实验,让学生完成一个小项目的实施。

JSP 2.0规范推出了EL表达式、JSTL和自定义标记等技术,结合使用JavaBean和MVC设计模式,可以使Web应用的开发更加快捷和易于维护。值得注意的是,目前的相关教材中,只介绍JSP 1.x内容的仍为数不少。我们在教学中,使用包含JSP 2.0内容的教材[7],采用JSP 2.0的技术组织实践项目,并提倡JSP网页中多用标记和EL表达式、少用Java代码段的网站开发理念。

此阶段是Java Web应用编程的基础阶段,同时也可为Java Web框架的学习铺平道路。从应用的角度来看,完成此阶段的学习之后应该具备使用JSP、JavaBean、Servlet等技术并采用MVC设计模式进行Web编程、开发中小型应用系统的基础。

4.3 第三阶段:Java Web应用框架技术

目前,基于Web框架开发的Web应用的时代已经来临。使用框架特别是不同框架的组合,可以方便地开发出优秀的、利于维护和扩展的程序。继Struts成功推出后,市面上涌现了大批优秀的框架。我们选择流行的几个Java EE框架Struts 2、Hibernate和Spring进行教学。对每个框架及应用逐一讲授之后,再讲授它们之间的整合应用,此阶段着重于学生动手能力的培养。我们以一个实际项目贯穿于教学之中,利用Struts 2实现系统的部分功能,与Hibernate整合实现系统的部分功能,通过Spring应用这三个框架之间的整合来实现系统的部分功能。

此阶段是Java Web应用开发阶段,完成此阶段的学习之后应该具备使用常用Web框架技术开发与维护大型应用系统的基础。值得一提的是,相对于第二阶段,使用框架技术使得开发变得快速高效,但这只是在开发时所采用的方法和手段不同而已,并不意味着第二阶段的开发方法和手段可以被淘汰。

4.4 第四阶段:分布式计算技术

此阶段的教学主要有Socket、RMI、CORBA和Web服务等相关内容。对于基于Socket的分布式应用程序开发,我们在第一阶段相关教学内容的基础上有所提高,以FTP 服务器与客户端开发为例,我们让学生进一步理解C/S交互模式,加深对于网络协议概念的理解以及掌握协议的设计和实现方法。我们以仿消息中间件机制实现客户端通信为例,让学生熟悉和掌握基于RMI的分布式应用程序开发的基本方法和步骤,并进一步理解C/S交互模式、消息通信机制的应用背景。之后,将设计内容用CORBA 程序设计方法重新设计,让学生熟悉和掌握基于CORBA 设计开发分布式应用的基本方法和步骤并进一步理解C/S交互模式和消息通信机制,引导学生考虑如何采用CORBA 提供的多种程序设计范例,并比较采用CORBA 进行程序设计的优点及难点。最后,再将设计内容用EJB 程序设计方法重新设计,让学生掌握EJB的基础知识、熟悉和掌握基于EJB设计开发分布式应用的基本方法和步骤、熟悉如何在Weblogic中部署一个简单的应用。此外,对分布式应用系统中的对象服务、性能与可伸缩性等高级课题也作了一定的介绍和探讨。

在四阶段系列课程教学过程中,我们还根据教学进程组织和动员学生加入到校内外的各个团队中,参加项目开发、软件设计大赛等活动,使学生进一步得到锻炼。

5 结语

根据教学应用型本科院校在办学定位、人才培养模式方面的要求,并针对计算机专业学生就业所普遍存在的问题,我们确立了通过Java应用方向四阶段系列课程教学增强学生实践能力、提高学生就业能力的教学理念。以我们制订的教学计划进行横向对比,其他院校一般只开设前两个阶段的教学,而资深培训机构也只开设前三个阶段的教学。我们制订的计划,课程涵盖了主流技术和前瞻技术,可使学生具备单机应用、集中式网络应用和分布式网络应用开发的能力。

教学的实施,增强了学生的实践能力。在我们组织的以实战项目为主要教学内容的Java职业技能培训中,学生的基础和表现受到来自软件企业的培训教师的赞许,同时,通过实战培训也有效地缩短了学生能力与企业具体的用人需求之间的差距。

教学的实施提高了学生的就业能力(而且其待遇明显高于.NET同事)。2006年以来,毕业生从事Java开发工作的人数逐届递增。其中,2006、2007届不少毕业生已成为单位骨干和中层领导,受到用人单位充分肯定。2008年,有应届毕业生通过两千选2的考试进入深圳某大公司从事公司业务软件的Java开发工作。而在2009和2010年,应届毕业生就业质量进一步整体提升,不少毕业生就业于广州、深圳等地知名公司、企业从事专业技术工作。2010届毕业生中有5人进入了广州某知名软件公司从事Java开发工作,因工作表现突出,今年该公司决定给我院2011届计算机专业毕业生提供20个Java就业岗位。Java应用方向四阶段系列课程教学正逐渐成为我院的专业特色。

参考文献:

[1] 陈小虎,屈华昌,邵波. 教学应用型本科院校的办学理念及其路径选择[J]. 中国大学教学,2005(2): 59.

[2] 史斌星,史佳. 新编Java实用教程[M]. 北京:清华大学出版社,2009:328-508.

[3] 李芝兴,杨瑞龙. Java程序设计之网络编程[M]. 2版. 北京:清华大学出版社,2009:397-495.

[4] 李宁. Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax[M]. 北京:清华大学出版社,2009:166-807.

[5] 郑阿奇. Java EE实用教程[M]. 北京:电子工业出版社,2009:1-401.

[6] 李文军,周晓聪,李师贤. 分布式对象技术[M]. 北京:机械工业出版社,2004:i.

[7] 覃华,韦兆文,陈琴. JSP 2.0大学教程[M]. 北京:机械工业出版社,2008:212-250.

Teaching Philosophy and Practice of Four-stage Series of Courses in Direction of Java Application

PENG Zhiping ,YAO Ming, LI Qirui

(School of Computer, Electronics and Information, Guangdong University of Petrochemical Technology, Maoming 525000, China)