论文部分内容阅读
[摘要]文章在分析高等职业教育目前在Java方向所面临问题的基础上,提出了开发基于工作过程的Java项目课程体系的研究思路。通过大量的市场调研,给出了企业需要员工所应具备的核心能力,并划分出Java应用软件开发学员在学习过程中所对应的工作任务,依此确定了主要的学习领域,为课程体系的构建打下了良好的基础。
[关键词]工作过程 Java 项目课程
[作者简介]何广军(1963- ),男,宁波大红鹰学院电子与信息学院副教授,硕士,主要研究方向为企业运营信息化。(浙江 宁波 315175)
[课题项目]本文系宁波市教育局IT基地建设项目“Java技术人才培养实训基地建设”的研究成果。(项目编号:甬教计[2007]346号)
[中图分类号]G642.3[文献标识码]A[文章编号]1004-3985(2009)11-0134-03
高等职业教育是高等教育发展中的一种类型,它与传统高校的培养目标和培养方式是有区别的。为了提高这类教育的质量,教育部、财政部联合启动了国家示范性高等职业院校建设计划,已有两批70所院校在专业建设和改革上进行探索。
从2007年9月起,宁波大红鹰学院(以下简称我院)就“基于职业岗位工作过程的项目课程体系”展开了专项研究,“计算机网络技术”专业是此次研究的受益者。到目前为止,已初步确定该专业的基础岗位技能需求,并确定了若干需要进行项目化课程开发的方向。Java系列课程就是其中的方向之一。
本文是根据现有研究所产生的部分成果,就如何构建Java方向课程体系等方面进行的探讨。
一、研究背景
近两年来,Java网络编程应用系统开发需求,占整个软件开发市场比例越来越大,市场对Java编程人员的需求也随之高涨。但由于各类高等院校到目前为止,还没有一套行之有效的Java课程教学体系,所使用的教材基本没有建立在一套长久有效的开发工具上,使得学生无法系统地学习Java方向的网络编程技术,造成培养的人才实践能力不强,学生的智能结构与社会需求脱节。
出现这样的情况,究其原因主要有以下几个方面:一是向学生提供的课程没有按工作要求进行设计,即课程体系没有脱离我国传统高校学科教育的框架,以致出现“在校学的许多知识用不上,而工作中要用的技术却没有学”的现象。二是我们的培养过程主要是在学校内部进行的。学校的培养场所缺乏真实工作环境的氛围,难以培养学生实际工作的技能,而所谓的校企合作也大多靠“关系和信誉”建立和维系合作关系,这种合作形式不稳定,没有调动企业的积极性,使企业把人才培养当做自己的事业来经营,从而无法真正实现工学结合的开放式教学。三是从高职院校的师资队伍来看,总体上讲,尚不能适应应用型人才培养的要求。一方面,他们缺少实际工作的经历;另一方面,他们习惯于、也擅长于传授知识,而要指导实训,许多专业教师自己还不会。
值得注意的是,作为Java软件开发的流行集成开发工具NetBeans,自2006年推出5.0版以来,深受广大软件开发者的欢迎,并在各软件企业中获得较为普遍的应用,但目前各高校还没有实质引入该平台,相应的教材建设也没有展开。最近SUN公司计划将该开发工具,引入大学(特别是应用型本科)的教学体系,并在技术上及项目资源上给予了很大的支持。这为我院具体实施课程项目化提供了便利条件。
为此,我们首先选择在现有条件较好、已有改革基础的计算机网络技术专业进行试点,试图在构建工作过程导向的Java课程体系、开发优质Java系列课程、建设专兼结合的“双师型”教学团队、探索深度融合的工学结合模
式等方面进行全方位的改革探索,创新Java方向应用型人才的培养模式。
二、研究步骤
教学内容和课程体系,是实现应用型人才培养目标的主要载体。教学内容和课程体系改革的目的,主要是为了满足社会对应用型人才的知识和技术需要,构建学生合理的知识、能力和素质结构。
现在的问题是:按什么样的模式和方法构建满足职业岗位工作要求的课程。显而易见,首先要搞清楚的是社会需要什么规格的人。这需要进行职业分析,这种分析主要应依靠用人单位在相应职业岗位上工作的技术专家来进行。
第一步,确定专业培养的人才在当地主要覆盖哪些职业岗位,每个岗位需要哪些知识和能力,再分析这些能力之间的逻辑联系,并结合专业对应的职业资格证的要求,归纳该专业应培养的核心能力。专业的核心能力将成为专业培养的主要目标。
第二步,研究这些核心能力通过何种载体(可以是某种任务或某种产品)进行训练,这些训练项目作为项目课程列入培养计划,并且是培养计划中至关重要的组成部分。
第三步,开发项目课程,组织学校的专任教师和企业行业的技术专家一起,研究制定课程标准、教学内容,编写校本教材。这项工作完成后,应分析在培养核心能力的过程中,需要哪些专业理论知识点。将针对性很强的知识融入能力培养的过程中,实现理论与实践的一体化。
第四步,培养专业核心能力的项目课程(包含相关的专业知识)、培养专业需要的经过整合的专业基础课,以及进行大幅度改革的通识课程,共同组成了基于职业岗位工作要求的Java项目课程体系。
三、初步研究成果
(一)市场调研分析
在课程体系设计初期,我们展开了全方位、多角度、历时3个月的大量的市场调研。目的在于充分了解企业、学生的需求,提升课程设计的实用性,实现与企业需求的“零距离”。
我们了解到,近几年IT市场发生了许多明显的变化。软件开发市场中,Java和.NET技术逐渐成为开发平台的主流,如Visual Basic,Delphi,Power Builder等开发工具则逐渐淡出了市场。随之,Struts+Spinrg+Hibernate作为J2EE实现企业级应用开发的框架技术,得到了广泛的使用。而Web2.0概念的提出及Ajax技术的出现,更成为软件开发技术领域新的亮点。表1是相关单位调查的2006年度中国IT软件市场编程语言市场占用率。
从表1可看出,保持相对稳定或持续增长趋势的语言有:Java,.Net,HTML,呈明显下降趋势的语言有:C/C++,Visual Basic,PHP,Delphi等。Java虽然有一些下降,但市场占有率仍保持在50%左右。
表2是软件企业明确要求Java工程师使用Java框架技术的数据。
从调查中我们还发现,许多大、中型企业软件公司,强调了Java工程师对Hibernate+Spring+Struts的掌握和熟练运用,而小型企业要求Java工程师会用一个或者多个框架技术。
表3是就Java应用软件开发人员调查得出的工作任务及职业能力的分析情况。
通过调研并有效收集和整理多名技术专家的建议以及多家企业的应用案例,我们认为在Java方向上,学生应具备以下能力:(1)在开发技能上。能够参与到企业软件开发项目的全部过程;运用HTML/JavaScript/CSS技术实现标准、规范的客户端静态和动态效果;用JavaEE JSP/Servlet/JavaBean的结构来实现MVC模式,把客户的业务需求转化为计算机中的Web应用系统;基于Struts/Spring/Hibernate(SSH)集成框架技术开发多层企业级应用;使用ASP.NET和组件技术开发和部署三层结构的企业级应用系统;在Java或者.NET环境中,能够运用Ajax提升客户端效果、运用WebService技术实现系统级调用。(2)在职业素质上。树立正确的就业态度和良好的职业心态;通过简历和面试推销自己;职业人必备的素养——职场礼仪、职场沟通和执行力等。
(二)工作过程分析
只有进行系统的、有效的工作分析,才能准确把握工作结构。对Java应用软件的工作过程分析可通过表4来说明。
(三)学习领域确定
学习领域是一个跨学科的、案例性的、经过系统化教学处理的行动领域。通过一个学习领域的学习,学生可以完成某一职业的典型的综合性任务。
软件开发领域内所涉及的技术内容是非常多的,不同的行业会使用不同的技术,不同的项目也会使用不同的技术,在技术选择上我们遵循了以下原则:
1.实用原则。所选择的技术一定是能够解决实际工作中的实际问题的技术。打个比方,假设我们是在编写利用TCP协议进行通信程序,关于数据传送原理就不必花费精力去学习,因为这些内容在通信程序中很少会使用到,而如何使用TCP协议结构及API接口等知识,则是此时编程人员最迫切需要掌握的技术。因此学习领域主要内容也集中在如何解决软件开发项目中所涉及的技术工具、技术框架、开发流程和编码调试经验等方面。“不要去背诵对象有哪些方法、属性,而是要去使用这个对象去解决实际问题。”
2.80/20原则。80/20原则包含两层意思:第一,企业80%的时间在使用的那20%的核心技术是学习领域的重点,而那些80%不常用的非核心技术则可以弱化,或者只作为介绍或者拓展内容(如Oracle和Linux课程);第二,花费80%的精力才能够学会的20%内容,则不纳入学习领域(如C/C++技术)。
3.取舍原则。根据教学的要求,Java应用软件开发的工作过程分析中所涉及的工作过程,可归纳为三种类型:一是完全符合学习领域要求的,如Java面向对象编程,在学习领域中应保留;二是超出学生认识水平的,如从确定设计方案、产品功能要求到结构图设计,可进行教学处理,如确定设计方案,可换成明确工作过程系统的任务计划;三是超出课程体系培养目标要求的,如测试用例的设计等,属于资深专业人员的职业活动范畴,仅作了解即可。
根据上述原则,我们将课程体系所涉及的知识技能,按照软件产品设计生产的工作过程排序,并根据符合学生知识技能建构的顺序,得到学习领域的具体内容,如表5所示。
以上仅列出了主要的学习领域,还有一些领域也较为重要,但限于篇幅此处就不一一列举了。
四、结语
经过近几个月的调查、分析和研究,现已确定了Java方向的主要学习领域,这为后续的研究打下了良好的基础。下一步将以“就业导向”和“能力本位”为指导思想,进行课程体系建设,划分出核心项目课题。这里需要强调未来所开发课程之间的关系:课程内容由浅入深,体现知识及项目需要的递进性;阶段性技术延伸,将实现项目所需的基础课程安排在前面;项目相关课程,按照项目开发的流程设计课程的顺序;根据课程的相关性,将相关性强的课程安排在一起。只有这样,才能更好地实现课程体系的项目化。
[参考文献]
[1]赵志群.职业教育与培训学习新概念[M].北京:科学出版社,2003.
[2]赵志群.论职业教育工作过程导向的综合课程开发[J].职教论坛,2004(6).
[3]何广军.基于JavaBean的协作式教学软件的实现[J].教育与职业,2004(7).
[4]北大青鸟.北大青鸟IT职业教育理论探索与实践[M].北京:中国铁道出版社,2007.
[5]吴必尊.广州市交运学校“工作过程系统化课程教学模式”调研报告[J].广州教研,2005(12).
[6]姜大源.关于职业教育课程体系的思考[J].中国职业技术教育,2003(5).
[7]徐国庆.职业教育项目课程的几个关键问题归纳整理[J].中国职业技术教育,2007(4).
[关键词]工作过程 Java 项目课程
[作者简介]何广军(1963- ),男,宁波大红鹰学院电子与信息学院副教授,硕士,主要研究方向为企业运营信息化。(浙江 宁波 315175)
[课题项目]本文系宁波市教育局IT基地建设项目“Java技术人才培养实训基地建设”的研究成果。(项目编号:甬教计[2007]346号)
[中图分类号]G642.3[文献标识码]A[文章编号]1004-3985(2009)11-0134-03
高等职业教育是高等教育发展中的一种类型,它与传统高校的培养目标和培养方式是有区别的。为了提高这类教育的质量,教育部、财政部联合启动了国家示范性高等职业院校建设计划,已有两批70所院校在专业建设和改革上进行探索。
从2007年9月起,宁波大红鹰学院(以下简称我院)就“基于职业岗位工作过程的项目课程体系”展开了专项研究,“计算机网络技术”专业是此次研究的受益者。到目前为止,已初步确定该专业的基础岗位技能需求,并确定了若干需要进行项目化课程开发的方向。Java系列课程就是其中的方向之一。
本文是根据现有研究所产生的部分成果,就如何构建Java方向课程体系等方面进行的探讨。
一、研究背景
近两年来,Java网络编程应用系统开发需求,占整个软件开发市场比例越来越大,市场对Java编程人员的需求也随之高涨。但由于各类高等院校到目前为止,还没有一套行之有效的Java课程教学体系,所使用的教材基本没有建立在一套长久有效的开发工具上,使得学生无法系统地学习Java方向的网络编程技术,造成培养的人才实践能力不强,学生的智能结构与社会需求脱节。
出现这样的情况,究其原因主要有以下几个方面:一是向学生提供的课程没有按工作要求进行设计,即课程体系没有脱离我国传统高校学科教育的框架,以致出现“在校学的许多知识用不上,而工作中要用的技术却没有学”的现象。二是我们的培养过程主要是在学校内部进行的。学校的培养场所缺乏真实工作环境的氛围,难以培养学生实际工作的技能,而所谓的校企合作也大多靠“关系和信誉”建立和维系合作关系,这种合作形式不稳定,没有调动企业的积极性,使企业把人才培养当做自己的事业来经营,从而无法真正实现工学结合的开放式教学。三是从高职院校的师资队伍来看,总体上讲,尚不能适应应用型人才培养的要求。一方面,他们缺少实际工作的经历;另一方面,他们习惯于、也擅长于传授知识,而要指导实训,许多专业教师自己还不会。
值得注意的是,作为Java软件开发的流行集成开发工具NetBeans,自2006年推出5.0版以来,深受广大软件开发者的欢迎,并在各软件企业中获得较为普遍的应用,但目前各高校还没有实质引入该平台,相应的教材建设也没有展开。最近SUN公司计划将该开发工具,引入大学(特别是应用型本科)的教学体系,并在技术上及项目资源上给予了很大的支持。这为我院具体实施课程项目化提供了便利条件。
为此,我们首先选择在现有条件较好、已有改革基础的计算机网络技术专业进行试点,试图在构建工作过程导向的Java课程体系、开发优质Java系列课程、建设专兼结合的“双师型”教学团队、探索深度融合的工学结合模
式等方面进行全方位的改革探索,创新Java方向应用型人才的培养模式。
二、研究步骤
教学内容和课程体系,是实现应用型人才培养目标的主要载体。教学内容和课程体系改革的目的,主要是为了满足社会对应用型人才的知识和技术需要,构建学生合理的知识、能力和素质结构。
现在的问题是:按什么样的模式和方法构建满足职业岗位工作要求的课程。显而易见,首先要搞清楚的是社会需要什么规格的人。这需要进行职业分析,这种分析主要应依靠用人单位在相应职业岗位上工作的技术专家来进行。
第一步,确定专业培养的人才在当地主要覆盖哪些职业岗位,每个岗位需要哪些知识和能力,再分析这些能力之间的逻辑联系,并结合专业对应的职业资格证的要求,归纳该专业应培养的核心能力。专业的核心能力将成为专业培养的主要目标。
第二步,研究这些核心能力通过何种载体(可以是某种任务或某种产品)进行训练,这些训练项目作为项目课程列入培养计划,并且是培养计划中至关重要的组成部分。
第三步,开发项目课程,组织学校的专任教师和企业行业的技术专家一起,研究制定课程标准、教学内容,编写校本教材。这项工作完成后,应分析在培养核心能力的过程中,需要哪些专业理论知识点。将针对性很强的知识融入能力培养的过程中,实现理论与实践的一体化。
第四步,培养专业核心能力的项目课程(包含相关的专业知识)、培养专业需要的经过整合的专业基础课,以及进行大幅度改革的通识课程,共同组成了基于职业岗位工作要求的Java项目课程体系。
三、初步研究成果
(一)市场调研分析
在课程体系设计初期,我们展开了全方位、多角度、历时3个月的大量的市场调研。目的在于充分了解企业、学生的需求,提升课程设计的实用性,实现与企业需求的“零距离”。
我们了解到,近几年IT市场发生了许多明显的变化。软件开发市场中,Java和.NET技术逐渐成为开发平台的主流,如Visual Basic,Delphi,Power Builder等开发工具则逐渐淡出了市场。随之,Struts+Spinrg+Hibernate作为J2EE实现企业级应用开发的框架技术,得到了广泛的使用。而Web2.0概念的提出及Ajax技术的出现,更成为软件开发技术领域新的亮点。表1是相关单位调查的2006年度中国IT软件市场编程语言市场占用率。
从表1可看出,保持相对稳定或持续增长趋势的语言有:Java,.Net,HTML,呈明显下降趋势的语言有:C/C++,Visual Basic,PHP,Delphi等。Java虽然有一些下降,但市场占有率仍保持在50%左右。
表2是软件企业明确要求Java工程师使用Java框架技术的数据。
从调查中我们还发现,许多大、中型企业软件公司,强调了Java工程师对Hibernate+Spring+Struts的掌握和熟练运用,而小型企业要求Java工程师会用一个或者多个框架技术。
表3是就Java应用软件开发人员调查得出的工作任务及职业能力的分析情况。
通过调研并有效收集和整理多名技术专家的建议以及多家企业的应用案例,我们认为在Java方向上,学生应具备以下能力:(1)在开发技能上。能够参与到企业软件开发项目的全部过程;运用HTML/JavaScript/CSS技术实现标准、规范的客户端静态和动态效果;用JavaEE JSP/Servlet/JavaBean的结构来实现MVC模式,把客户的业务需求转化为计算机中的Web应用系统;基于Struts/Spring/Hibernate(SSH)集成框架技术开发多层企业级应用;使用ASP.NET和组件技术开发和部署三层结构的企业级应用系统;在Java或者.NET环境中,能够运用Ajax提升客户端效果、运用WebService技术实现系统级调用。(2)在职业素质上。树立正确的就业态度和良好的职业心态;通过简历和面试推销自己;职业人必备的素养——职场礼仪、职场沟通和执行力等。
(二)工作过程分析
只有进行系统的、有效的工作分析,才能准确把握工作结构。对Java应用软件的工作过程分析可通过表4来说明。
(三)学习领域确定
学习领域是一个跨学科的、案例性的、经过系统化教学处理的行动领域。通过一个学习领域的学习,学生可以完成某一职业的典型的综合性任务。
软件开发领域内所涉及的技术内容是非常多的,不同的行业会使用不同的技术,不同的项目也会使用不同的技术,在技术选择上我们遵循了以下原则:
1.实用原则。所选择的技术一定是能够解决实际工作中的实际问题的技术。打个比方,假设我们是在编写利用TCP协议进行通信程序,关于数据传送原理就不必花费精力去学习,因为这些内容在通信程序中很少会使用到,而如何使用TCP协议结构及API接口等知识,则是此时编程人员最迫切需要掌握的技术。因此学习领域主要内容也集中在如何解决软件开发项目中所涉及的技术工具、技术框架、开发流程和编码调试经验等方面。“不要去背诵对象有哪些方法、属性,而是要去使用这个对象去解决实际问题。”
2.80/20原则。80/20原则包含两层意思:第一,企业80%的时间在使用的那20%的核心技术是学习领域的重点,而那些80%不常用的非核心技术则可以弱化,或者只作为介绍或者拓展内容(如Oracle和Linux课程);第二,花费80%的精力才能够学会的20%内容,则不纳入学习领域(如C/C++技术)。
3.取舍原则。根据教学的要求,Java应用软件开发的工作过程分析中所涉及的工作过程,可归纳为三种类型:一是完全符合学习领域要求的,如Java面向对象编程,在学习领域中应保留;二是超出学生认识水平的,如从确定设计方案、产品功能要求到结构图设计,可进行教学处理,如确定设计方案,可换成明确工作过程系统的任务计划;三是超出课程体系培养目标要求的,如测试用例的设计等,属于资深专业人员的职业活动范畴,仅作了解即可。
根据上述原则,我们将课程体系所涉及的知识技能,按照软件产品设计生产的工作过程排序,并根据符合学生知识技能建构的顺序,得到学习领域的具体内容,如表5所示。
以上仅列出了主要的学习领域,还有一些领域也较为重要,但限于篇幅此处就不一一列举了。
四、结语
经过近几个月的调查、分析和研究,现已确定了Java方向的主要学习领域,这为后续的研究打下了良好的基础。下一步将以“就业导向”和“能力本位”为指导思想,进行课程体系建设,划分出核心项目课题。这里需要强调未来所开发课程之间的关系:课程内容由浅入深,体现知识及项目需要的递进性;阶段性技术延伸,将实现项目所需的基础课程安排在前面;项目相关课程,按照项目开发的流程设计课程的顺序;根据课程的相关性,将相关性强的课程安排在一起。只有这样,才能更好地实现课程体系的项目化。
[参考文献]
[1]赵志群.职业教育与培训学习新概念[M].北京:科学出版社,2003.
[2]赵志群.论职业教育工作过程导向的综合课程开发[J].职教论坛,2004(6).
[3]何广军.基于JavaBean的协作式教学软件的实现[J].教育与职业,2004(7).
[4]北大青鸟.北大青鸟IT职业教育理论探索与实践[M].北京:中国铁道出版社,2007.
[5]吴必尊.广州市交运学校“工作过程系统化课程教学模式”调研报告[J].广州教研,2005(12).
[6]姜大源.关于职业教育课程体系的思考[J].中国职业技术教育,2003(5).
[7]徐国庆.职业教育项目课程的几个关键问题归纳整理[J].中国职业技术教育,2007(4).