1. 引言
到2019年底,全球活跃的软件开发人员高达2040万,2019年第四季度全球活跃的软件开发人员(来自搜狐网)如图1所示。过去两年中Java在移动生态系统(Android应用程序)和后端开发中非常流行,尽管Java已有二十多年的历史了,但其在开发人员中的吸引力一直在稳定增长。根据工信部赛迪研究院预测,中国到2020年将产生1800万个计算机行业机会,人才需求如图1所示。
![](//html.hanspub.org/file/2-1720441x9_hanspub.png)
Figure 1. The needs of computer professionals
图1. 人才需求
自2017年底以来,每年都有超过50万的开发人员加入Java社区,如今Java开发人员总规模已超过800万。在过去的两年中,对网络编程应用程序系统开发的需求在整个软件开发市场中所占的比例越来越高,并且对Java程序员的市场需求也在增加,2019年第四季度全球活跃的软件开发人员如图2所示,但是,由于各个大学和学院还没有有效的Java课程教学系统,因此所使用的教科书基本上不是基于一套长期有效的开发工具,从而使学生无法系统地学习Java。网络编程技术使受过训练的人才的实践能力不强,学生的智力结构与社会需求脱节。高职教育必须坚持适应市场需求和就业导向为前提的专业设置和课程教学,校企合作为课程开发的关键,行业企业或联合提供的工作组的工作任务分析为前提校企合作开发的课程开发科学,准确地确定专业工作组和相应典型工作任务,分析和确定这些典型工作任务的专业能力的基础,在行动领域总结了典型工作任务,然后基于认知和职业成长进步规律,整合知识和技能,将行动领域转变为学习领域,并创建基于工作过程导向的课程体系 [1] [2]。工作流程是员工执行的完整的工作动作程序,用以完成工作任务并获得工作情况下的工作结果。基于工作过程的教学模型反映了教学内容与实际工作任务,教学场景和工作环境,教师和企业培训师,学生和企业员工,教学场景和生产实践之间的无缝连接 [3] [4]。
![](//html.hanspub.org/file/2-1720441x10_hanspub.png)
Figure 2. Globally active software developers in the fourth quarter of 2019 (From Sohu.com)
图2. 2019年第四季度全球活跃的软件开发人员(来自搜狐网)
程序员平均年薪为20.36万元,随着学历的增长程序员的薪酬呈正向增长,博士&博士后平均年薪43.20万元,高于程序员平均年薪将近一倍。硕士学历程序员平均年薪25.81万元,本科学历程序员平均年薪19.29万元,如图3所示。
目前Java从业人员平均年薪已逾十万元,由近一年调研分析结果表明,北京地区Java平均月薪为11.7 K元,其中6~10 K占比41.1%、10~15 K占比19.2%、15~20 K占比14.8%、20~50 K占比18.8%,如图4所示。不同技术岗位的平均成长路径(以阿里巴巴P序列为例),如图5所示。
![](//html.hanspub.org/file/2-1720441x12_hanspub.png)
Figure 4. Salary distribution of Java engineers
图4. Java工程师薪资分布
![](//html.hanspub.org/file/2-1720441x13_hanspub.png)
Figure 5. Average growth path of different technical positions
图5. 不同技术岗位的平均成长路径
然而,《Java程序设计》课程作为高职院校计算机应用的核心课程,在《Java程序设计》等课程的教学过程中,教师经常使用“问题驱动法”,“案例驱动法”和“任务驱动法”等教学方法,但从某种意义上讲学习领域的设计停留在以“知识点”为主体的学科体系上,未能反映软件产品的实际设计和开发过程,对于自我控制能力差,人格自由化的高职院校学生,他们不会被课堂上的说服力所吸引,有些学生会逐渐退出老师的一贯思想,有些学生即使坚持到最后也常常会退缩 [5] [6]。该模型还没有真正理解如何利用所学的知识来解决实际问题,该模型的缺点是缺乏实际应用并且无法与就业紧密联系,因此有必要探索,改革和创新教学方法、教学内容和教学方法 [7]。《Java程序设计》课程的教学改革应将培养学生的实践能力和创新设计能力作为教学过程的重点,坚持以学生为中心,以老师为主导,专业化的学习环境,整合课堂教学与网络教学与现场教学相辅相成。采用“以工作过程为导向”的模式,对培养学生学习新知识和运用知识解决实际问题的能力具有重要意义 [8]。
2. 国内外研究现状评述
工作过程导向课程关注的不是学科知识的系统性,而是追求工作过程的真实性和完整性,它把工作过程中的具体的工作任务作为课程内容和课程设置的依据。它把抽象的概念、原理和理论转变为形象的、具体的、可以操作的学习项目,通过每一个项目的学习,学生可以掌握到完整的综合职业能力,包括相关的理论知识、实践技能、职业态度和职业情感及工作方法等。这种掌握的知识是一种“活”的知识,是情景再现时可用到的、可迁移的知识。工作过程导向课程要求在一种完整的、综合的行动中进行学习,每一个学习项目都要完成确定工作任务、制定计划、具体实施和评估反馈这一整个过程,学生在具体的项目中完成对显性知识和隐性态度的领会和提升 [9]。杭州职业技术学院发展研究中心的何兴国老师深入剖析工作过程导向课程实施影响因素,对于深化职业院校课程制度建设,打造高水平课程、推进“双高”建设都具有重要意义。常州工程职业技术学院的丁才成老师认为成果导向是悉尼协议的核心理念,部分院校开展了成果导向的课程开发。厘清成果导向课程开发与普遍应用的工作过程导向课程开发的区别与联系并有效运用,是目前高职课程需要解决的首要问题。成果导向是职业教育课程开发根本之道,工作过程导向是职业教育课程开发实效之术,我国高职教育课程开发应以工作过程导向为基础,融合吸收成果导向课程的精华,形成具有中国特色、可供世界借鉴的高职教育课程开发新模式。北京师范大学赵志群教授在《基于工作过程的课程与课程开发》中指出:职业教育课程的本质特征是工学结合,其准确理解应为“学习的内容是工作,通过工作实现学习”。在《国内外职业教育的发展以及课程和教学建设》中提出建立“现代学徒制”的构想,“现代新徒制”是指企业培训与学校教育相结合的一种新型职业教育模式。教育部职业技术教育中心研究所研究员姜大源在《当代德国职业技术教育主流教学思想研究》中从广义、狭义两个角度对工作过程的内涵进行了分析,并通过举例“汽车机电一体化工”,展示了以工作过程为导向的学习领域结构方案应如何进行设计 [10]。在《职业教育学研究新论》中他对行动体系课程进行了重点论述,重点强调以工作过程为导向的课程学习应在仿真或真实的职业情境中进行。除此之外,还有马树超的《强化市场意识,推进职业教育发展一德国“学习领域改革”的启示》、严中华的《职业教育课程开发与实施—基于工作过程系统化的职教课程开发与实施》都对“以工作过程为导向”这一课程理念从不同角度进行了论述。可见“以工作过程为导向”这一课程改革新思想已经成为职业教育学者关注的焦点,它将为我国职教领域课程体系的改革提供重要的结构框架 [11]。与传统的职业教育相比,以工作过程为导向的职业教育在指导思想、课程开发和教学内容与教学方式等诸多方面都具有自己鲜明的特点 [12] [13]。在工作过程导向的课程中,要选择典型的工作任务或真实具体综合的工作项目。典型工作任务来源于企业真实的岗位任务,学习项目也同样是企业真实的工作项目。把这样的任务或项目带到学校,引进课堂,通过真刀实枪的情境设置,学生的身份和行为举止会自觉地发展转变,转变为符合情境的角色或言行。在这样真实的情境中展开学习,学生有兴趣,有新鲜感,学生带着任务学习,有压力,有动力,通过自己的努力解决真实的问题,学生有成就感,同时也掌握了任务、项目要求的理论、技能和态度。也培养了学生的工作方法和人际沟通方式。这样的学习使学生能更快地适应工作岗位要求。为此,我们首先选择在现有条件较好、已有改革基础的计算机应用技术专业进行试点,试图在构建工作过程导向的Java课程体系、开发优质Java系列课程、建设专兼结合的“双师型”教学团队,探索深度融合的工学结合模式等方面进行全方位的改革探索,创新Java方向应用型人才的培养模式 [14] [15]。
3. 提升教学质量及持续改进教学效果的改革尝试
3.1. 构建基于工作过程的《Java程序设计》教学模式体系
基于工作过程导向的课程设计,将学习过程、工作过程与学生的能力和个性发展结合起来,以项目驱动为主线,遵循教育教学规律,由简单到复杂,由单一到综合的方法设计学习情境,实现教学目标,教学模式体系如图6所示。
![](//html.hanspub.org/file/2-1720441x14_hanspub.png)
Figure 6. Teaching model reform based on work process orientation
图6. “基于工作过程导向”教学模式改革
3.2. 精心设计课程内容和学习情境,深化工学结合
高职教学要重视学生在校学习与实际工作的一致性,加大与企业的联系,把工学结合作为高等职业教育人才培养模式改革的重要切入点,明确企业所需人才应具备的知识、技能,积极推行与生产劳动和社会实践相结合的学习模式,带动专业调整与建设,引导课程设置、教学内容和教学方法改革 [16] [17]。本课题要解决如何按照职业岗位行动领域的工作过程来确定学习领域的课程内容,实现将知识放在完成实际工作任务的工作过程之中的目标。学习情境以企业项目为载体,而企业项目产品一般技术综合性强、复杂度高,在选择工作任务时,如果任务过于复杂,则不利于开展教学;如果项目任务过于简单,则又与生产实际脱节,培养出的学生实际产品操作能力差 [18]。因此,需要对企业实际项目进行加工整理,既要体现项目生产的工作过程的要求,又要符合学习认知规律。把企业的实际项目进行精心设计后引入课堂,并有针对性地采取项目导向、任务驱动、课堂与实习地点一体化等行动导向的“职业实境”教学,使教学内容更贴近企业、贴近实际、贴近新技术的发展,做到工学结合“产品化”,接受社会的检验,促进学校课程建设和人才培养,社会效益明显 [19]。
3.3. 建立新的教学评价方法
基于工作过程导向的课程设计与基于项目导向的教学实施,改革狭隘的一张试卷定高下考评方法,以作品评价代替传统理论考试,从学生专业能力、方法能力、社会能力培养的要求出发,建立基于教学全过程、以学生能力提升为导向,形成课堂表现、作业质量、实验效果、作品质量综合评价体系,对学生的学习效果实施过程性、能力导向的综合评价方法,使教学导向从“为应试而学”向培养“综合素质、创新能力”转变。
3.4. 完善《Java程序设计》课程资源建设
在已建设的《Java程序设计》课程资源的基础上,完善《Java程序设计》超星雅儿MOOC平台资源建设,任课教师通过网络上传学习辅导资料、发布公告、布置作业、师生交流、答疑、讨论等,及时帮助学生解决生活和学习中遇到的各种问题;学生通过网络教学平台完成课程作业、提出问题,下载需要的辅导资料,探讨新技术 [20]。
4. 课程教学设计
基于工作过程导向的的《Java程序设计》教学改革与实践以服务为宗旨,以就业为导向,走产学结合发展道路,以设计课程教学内容和学习情境载体为切入点,以培养学生适应工作岗位为基础,强化实践动手能力为手段,增强创新能力为根本 [21],进行《Java程序设计》课程教学改革。具体为:
1) 确定专业培养的人才在当地主要覆盖哪些职业岗位,每个岗位需要哪些知识和能力,再分析这些能力之间的逻辑联系,并结合专业对应的职业资格证的要求,归纳该专业应培养的核心能力。专业的核心能力将成为专业培养的主要目标。在课程改革初期,我们展开了全方位、多角度的市场调研。目的在于充分了解企业、学生的需求,收集行业企业经济技术发展的基础数据,对该课程的职业岗位和职业教育状况进行分析,从宏观上把握行业企业的人才需求和职业教育现状。中国IT软件市场编程语言市场占有率如表1所示,软件企业明确要求Java工程师使用Java框架技术的数据如表2所示。
![](Images/Table_Tmp.jpg)
Table 1. The market share of programming languages in China’s IT software market in 2019
表1. 2019年度中国IT软件市场编程语言市场占有率
![](Images/Table_Tmp.jpg)
Table 2. Proportion of Java engineers using various Java framework technologies
表2. Java工程师使用各种Java框架技术的比例
2) 由学校和企业共同修订专业培养方案,以企业为主导培养适应企业需求的技术技能型人才。以构建和实施工学结合、紧密的校企合作为载体,把“以能力为主线”的培养要求切实贯穿整个教学过程进行设计。“校企协同”人才培养思路流程如图7所示,“校企协同”培养方案如图8所示。
![](//html.hanspub.org/file/2-1720441x15_hanspub.png)
Figure 7. “School-enterprise collaboration” talent training ideas
图7. “校企协同”人才培养思路
![](//html.hanspub.org/file/2-1720441x16_hanspub.png)
Figure 8. Training program of “School-enterprise cooperation”
图8. “校企协同”培养方案
3) 组织课题组成员和课程专家对《Java程序设计》工作岗位典型工作任务进行分析,根据分析结果,制定与实际工作过程联系紧密的、有实用价值的课程计划。
![](Images/Table_Tmp.jpg)
Table 3. Analysis of job tasks and professional abilities of Java application software development positions
表3. Java应用软件开发岗位工作任务与职业能力分析表
4) 根据课程计划设计课程教学内容和构建学习情境。本课程组围绕企业的工作过程,以市场为导向,及时对教学内容做出调整,把来自企业的与学生密切相关的真实的项目设计转化为适合教学的项目,引人教学过程;对于学习情境的设计,侧重于从职业行动能力、专业内容、教学论与方法论建议、教学资源、教师能力要求、学生基本要求、考核方式几个方面进行描述。在教学内容方面,应根据职业岗位能力训练的要求,坚持必需够用的原则,基于典型工作任务,将学习与训练的内容融合,构建以学习情境为单位的课程内部结构,根据学生的认知心理规律并结合职业活动顺序,将学习情境按由易到难,由简单到综合的顺序作串行安排,解决理论与实践相互割裂。岗位工作任务与职业能力分析如表3所示。Java应用软件工作过程分析如表4所示。
我们将课程体系所涉及的知识技能,按照软件产品设计生产的工作过程排序,并根据符合学生知识技能建构的顺序,得到学习领域的具体内容,如表5所示。
![](Images/Table_Tmp.jpg)
Table 4. Analysis of the working process of Java application software
表4. Java应用软件工作过程分析表
![](Images/Table_Tmp.jpg)
Table 5. Ranking table of main learning areas of Java application software developers
表5. J ava应用软件开发人员主要学习领域排序表
5) 按照本课题改革思路开展教学,将教学过程出现的问题进行总结归纳,不断调整和完善设计过程和教学方法,基于“工作过程导向”的校企合作开发课程再设计流程如图9所示。
![](//html.hanspub.org/file/2-1720441x17_hanspub.png)
Figure 9. “Program Design” course redevelopment process
图9. 《程序设计》课程再开发流程
6) 编制课程单元设计、整体教学设计。
5. 结束语
职业教育的目标是为社会培养具有综合职业能力的高素质技术人才。然而,长期以来,职业教育中存在的理论与实践相脱离,远离工作世界等问题使得这一目标难以完全实现,这已经引起社会各界抱怨,职业教育培养的人才不能满足企业发展的需要,尽管自八十年代以来,我国一直致力于通过改革来解决这一问题,例如加强实践教学和提高学生的动手能力,借鉴国外高等职业教育模式,改革我国的职业教育;推行就业改革,加强产学合作等,但是这些改革措施的实施,在一定程度上缩小了职业教育内容与现实世界之间的距离,但并未从根本上解决理论与实践的分离,并没有突破学科体系。没有突破以学科体系为主导的职业教育课程模式,仍然是在学科体系的框架下寻找与工作世界的联系,而这种联系只能是有限的、间接的,不可能从根本上解决职业教育内容远离工作世界的问题。究其原因是缺乏相应的理论支撑,没有在理论建构上解决理论与实践一体化的问题。本文以工作过程为导向的职业教育在设计上解构了传统的学科体系的职业教育,建构了理论与实践相结合的一体化的职业教育模式,为深化我国职业教育的教学与课程改革提供了可资借鉴的理论指导。
本文按照基于工作过程的课程开发理念和开发模式,根据企业调研确定职业岗位,分析典型工作任务,融合国家职业资格技能的标准要求,要以工作过程为导向,构建专业课程体系,将实际的“工作”与“学习”有机地结合在一起,对高职工业分析课程内容的结构进行了设计开发;以行业需求为依据,合理定位专业课程目标;以工作任务为引领,确定学习领域课程:以行动导向为指导,有效组织课程实施;以职业能力为核心,评价课程实施效果。
基金项目
浙江省教育科学规划课题(2021SCG120)、衢职院校级教改项目(KGXM202009)和衢州市科技计划指导性项目(2020017)给予资助。
参考文献