论文部分内容阅读
摘要:软件技术的发展日新月异,企业对软件人才的需求不断提出新的标准。而目前却存在一个较为突出的矛盾即用人单位招不到合适的软件人才,而高职院校软件专业的毕业生却找不到对口的工作。高职院校软件人才培养模式落后,课程设置跟不上市场的需求是造成这种现象的一个主要原因,因此调整课程设置,适应现代社会需求是当务之急。
关键词:课程改革;软件专业;课程设置;实施建议
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)28-0157-03
1引言
如今IT行业发展迅速,各部门需要大量的高职应用型软件人才,“IT蓝领”的人才招聘缺口极大。如图1所示的“金字塔”型是大多软件企业的人才组成结构。从结构分析可见不同人才在需求量上也存在差别,对于从事项目管理的项目主管及从事系统架构设计的系统分析师需求较少。软件产业的持续发展,软件产品更具有行业特色,这些工作需要大量的程序员来完成。软件企业所需求的程序员并不需要高深的理论知识及系统架构分析设计能力,而是要求具备软件的模块化设计能力,团队合作精神及优良的职业素养。所以,高职院校软件专业的培养目标就应包括面向岗位生产一线的应用型、实用型程序员。[1]软件人才紧缺制约着行业的发展,2016年7月初在前程无忧招聘网站中仅对部分热门城市搜索程序员的岗位14311条,其中PHP程序员3341条,.Net程序员1549条,Java程序员1282条。由此可见目前软件产业发展迅速而软件人才相对匮乏。作为担负着培养软件一线人才的高职教育,有必要考虑人才培养模式如何适应现有IT产业的需求,尤其是课程设置作一些探索与改革,培养适应生产一线的软件人才。
2 软件开发专业教育现状分析
具有优良软件技术的应用型专业人才成为软件行业发展的主力军。面对这样的市场需求,国内各高职院校也积极响应,调整教学计划优化课程设置,但大部分院校的专业方向差别不大,培养目标不明确,仍然使用学科型的教学体系。[2]主要突出以下两点:其一提出以实训为中心,加大实训内容。然而其实践性环节,只是单纯录入课堂讲授的代码,作为一种验证手段,并没有得到启发性和创造性的效果。减少理论教学增加实训课时,学生的上机内容停留在课堂讲解的例题,没有实质的变化;其二,各课程设置没有综合考虑如何为培养目标服务及其所对应的岗位技能。各门课程都是强调知识的系统性和完整性,致使理论课时多于实训,甚至理论与实训相脱节。这样培养出来的学生没有明确的目标,是“通才”的培养方式。这也是导致目前大多数高职院校学生找不到工作,而软件行业人才短缺的一个原因。面对这样的困境部分院校已经意识到了,开始考虑自己的突破口。[3]如前几年出现的定制式培养模式,学生与就业单位签订委培协议,或者是高职院校根据软件企业的行业需求,修订教学计划,调整课程体系,将教学内容与岗位技能融合在一起。[4]现在这样的定制式培养其缺点也逐渐暴露出来,如课堂教学中专业课程的主要优势存在的不足,内容更新缓慢,知识技能局限性突出等。
3 软件开发课程设置的原则
对软件开发专业课程的设置要充分考虑社会对人才规格的需求,经济与技术的发展状况及各地区经济发展情况。专业课程设置是专业培养方案的重要内容,研究目前软件行业的就业岗位,对其职业能力、综合能力及岗位能力进行抽象分析,明确专业课程体系的设计。在设计思路上突出技能培训、职业素养培训等各方面的要求。[5]可以按照以下原则:
3.1就业导向原则
专业课程的设置对应于行业的工作岗位或某一岗位群所必需的理论知识结构及专业技能。在确定专业岗位及岗位群时,可以聘请该行业的一线专家,企业人力资源负责人,本学科的专业负责人等组成专家委员会共同参与,开发指导教学计划。以职业岗位群工作内容为基础,对其知识结构、职业素养、综合能力及职业技能进行抽象分析,明确人才的培养目标,以此结果映射课程开发,设置教学内容。
3.2 课程应用原则
课程内容紧随社会需求,突出课程的应用型、实用型。在高职应用型人才的培养方案中,以突出职业能力来设置课程。完成学生与就业岗位在职业技能方面的顺利接轨,是职业教育的主要目标。以“必需”和“够用”作为根本。
太实际了,而脱离原理性的内容,使学生只会简单地模仿,变通能力差。只是看到程序运行结果而不管过程,没有良好的算法基础。计算机是一个不断发展的学科,使学生失去了自学拓展的能力。实用性讲究避免大而全,如何分清和掌握“必需”和“够用”是以培养目标为标准。
3.3目标定位原则
以专业培养目标为宗旨,课程体系改革为主线,其中所涉及的课程,其教学目标应为培养目标而服务。由此可见,课程体系的设置是充实和实现目标体系。[6]在课程体系中课程内容的设置应相互衔接,适当增加与就业岗位相关的职业认证内容,使学生在大学毕业时同时取得学历证书和职业资格证书。
4软件专业课程设置的实施
4.1目标明确,与时俱进
分析目前多数高职类院校软件方向的课程设置,大部分课程相似。其中有的涉及到了,目前较流行的语言及开发工具,也有将部分本科类课程纳入其中。这些课程的独立开设其教学效果怎样?是否考虑开课的先后顺序,课程体系完整吗?课时安排合理吗?
我们首先认真听取专家委员会的意见,参考一些国际著名IT教育培训厂商的培训模式,学习兄弟院校的成功案例,结合软件行业的用人需求制定主要课程。如.Net方向,以C#语言为基础,从Windows应用程序开发为入口循序渐进逐步展开。[7]主要课程有《C#程序设计》、基于C#的《Windows程序设计》、《ASP.NET开发》等。在课程设置时,要充分考虑到高职学生的学习能力差,基础不扎实。通过加大实训内容,强化技能训练,保证一定的学生数量与教学同步。建议《Windows程序设计—C#应用》及《ASP.NET开发》课程为64课时,其中理论课时与实践课时为1:1.3的比例,并且课程最后用2—3周时间完成课程设计。[8]《SQL Server数据库》开设64课时,作为知识结构、技能拓展补充,为学生在数据库开发方面打下坚实的基础。以《Oracle数据库》课程作为进阶与提高,培养学生的数据库管理能力。在综合实训中融入ADO.Net、Ajax、MVC等内容,使学生知识系统化、结构化。对于非主干课程,尽量安排成选修课。 4.2 合理整合,优化资源
课程整合是解决理论与实训课程及相关课程课时不足的有效方法。缺乏理论的支持,所学的知识没有变通性和拓展性,理论知识讲解过多学生感到枯燥而没有兴趣。[9]理论与实训相结合,相关课程之间相互整合提高学生的学习效率。课程整合实施的建议如下。
《C语言程序设计》是语言类的基础性课程,《数据结构》是对编程思想的优化和提高。没有《数据结构》作为指导,学生不具备优良的编程素养,不利于软件开发能力的持续性发展。在大量的实践过程中得到证实,学过《C语言程序设计》和《数据结构》的学生在学习《Java程序设计》或《C#程序设计》时,课堂讲解轻松,效果明显,目标易达到。《C语言程序设计》与《数据结构》课程的整合不是其内容的拼凑,而是将数据结构的内容及算法思想融入到《C语言程序设计》课程中。如在讲解“循环”的内容时,应当提出“穷举搜索法”、“迭代算法”等,在讲解“数组”内容时,适当引入排序中的常用算法,在讲解“函数”时,适当引入“递归”等算法思想。此时《C语言程序设计》这门课程不再是一门语言类的课程,其内容不再单薄,而是充满着大量实训内容,让学生表现编程思想,锻炼程序设计能力的实训课程。
《数据库原理》与《SQL Server2008》课程的整合。以SQL Server2008的讲解为主线,从数据库的设计入手讲解,其中穿插数据库原理的内容,如数据库的设计思想,ER图的描述,引入UML的设计思想及描述方法和工具软件的使用。在深入讲解查询语句前,首先讲解关系代数的运算规则,最终可以达到元组演算、关系代数及SQL语句之间的相互转换及验证。
《操作系统》、《Windows Server 2008》及《Linux操作系统》课程的整合。以Windows Server2008操作系统为实训平台,突出网络服务器配置的特色。讲解中适当引入《操作系统》课程中的经典内容,如进程调度等概念。Linux操作系统讲解时从文件管理入手,分析目录、权限管理等,这部分内容作为拓展技能讲解。
《Dreamweaver 网页制作》与《Photoshop》、《Fireworks》、《Flash》课程的整合。从HTML基本文档结构开始,系统讲解CSS等内容,JavaScript基础内容作为补充,XML的概念及使用等。整个课程在讲解过程中穿插讲解《Photoshop》、《Fireworks》及《Flash》基本技法及设计方法。
课程整合会影响课程的独立性,同时也会增加课程的难度。从相关性的角度将一些相辅相成的课程进行整合会提高效率,并且能够充分发挥其课程价值。
5 围绕就业进行课程整合的思考
各知识模块的理论知识,技能目标和职业能力对应工作岗位的实际需求,多个模块的相互衔接构成课程内容。课程间的相互整合突破了传统的教学模式,以岗位需求职业能力为出发点,更加适合于现代职业教育的特点。在实施过程中确实解决了专业课程设置与人才培养目标之间的矛盾以及专业课程设置与工作岗位在能力、技能等方面需求的矛盾。以上较为突出的矛盾可以得到缓解甚至消除,但对于社会的进步,软件行业的不断发展,对出人才的需求存在着变化,相对于课程体系的稳定构建出现新的矛盾。有可能出现刚刚制定的课程体系要从新修订,以面对企业所提出的新需求。[10]另外,在目前的实训教学中老师也从以前问学生“懂了吗?”逐步转变为问“会做了吗?做出来了吗?”慢慢地转向结果,忽略实训中相关的理论知识及细节问题。课程的整合对授课教师也是一种挑战,要熟悉相关课程的知识技能,对提高教师的业务能力和专业素质起到积极的推进作用。
6结束语
通过课程设置的不断改进,使软件开发方向的专业课程体系更贴近于行业的需求。坚持以就业为导向,加强职业技能培训和职业素质教育是我们的目标。软件技术的更新速度非常之快,这就要求我们不断地学习并对其进行探索和研究。
参考文献:
[1]严仲兴.高职院校软件专业人才培养方案[J].职业技术教育,2007(26):86-87.
[2]龙雁.高职计算机软件专业教学改革研究[J].长沙民政职业技术学院学报,2006(2):86-88.
[3] 李克周,刘强,陈猛,等.大学计算机专业定制培养模式下软件相关课程教学方法探讨[J].科技信息,2011(28):444.
[4]王明福,徐人凤.高职软件人才培养的教材建设研究与实践[J].职业技术,2006(12):247-248.
[5]翁健红.高职软件专业课程设置的探讨[J].中国成人教育,2006(3):83-84.
[6]方一新,王竝.计算机软件专业的课程设置[J].机械职业教育,2007(5):27-28.
关键词:课程改革;软件专业;课程设置;实施建议
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)28-0157-03
1引言
如今IT行业发展迅速,各部门需要大量的高职应用型软件人才,“IT蓝领”的人才招聘缺口极大。如图1所示的“金字塔”型是大多软件企业的人才组成结构。从结构分析可见不同人才在需求量上也存在差别,对于从事项目管理的项目主管及从事系统架构设计的系统分析师需求较少。软件产业的持续发展,软件产品更具有行业特色,这些工作需要大量的程序员来完成。软件企业所需求的程序员并不需要高深的理论知识及系统架构分析设计能力,而是要求具备软件的模块化设计能力,团队合作精神及优良的职业素养。所以,高职院校软件专业的培养目标就应包括面向岗位生产一线的应用型、实用型程序员。[1]软件人才紧缺制约着行业的发展,2016年7月初在前程无忧招聘网站中仅对部分热门城市搜索程序员的岗位14311条,其中PHP程序员3341条,.Net程序员1549条,Java程序员1282条。由此可见目前软件产业发展迅速而软件人才相对匮乏。作为担负着培养软件一线人才的高职教育,有必要考虑人才培养模式如何适应现有IT产业的需求,尤其是课程设置作一些探索与改革,培养适应生产一线的软件人才。
2 软件开发专业教育现状分析
具有优良软件技术的应用型专业人才成为软件行业发展的主力军。面对这样的市场需求,国内各高职院校也积极响应,调整教学计划优化课程设置,但大部分院校的专业方向差别不大,培养目标不明确,仍然使用学科型的教学体系。[2]主要突出以下两点:其一提出以实训为中心,加大实训内容。然而其实践性环节,只是单纯录入课堂讲授的代码,作为一种验证手段,并没有得到启发性和创造性的效果。减少理论教学增加实训课时,学生的上机内容停留在课堂讲解的例题,没有实质的变化;其二,各课程设置没有综合考虑如何为培养目标服务及其所对应的岗位技能。各门课程都是强调知识的系统性和完整性,致使理论课时多于实训,甚至理论与实训相脱节。这样培养出来的学生没有明确的目标,是“通才”的培养方式。这也是导致目前大多数高职院校学生找不到工作,而软件行业人才短缺的一个原因。面对这样的困境部分院校已经意识到了,开始考虑自己的突破口。[3]如前几年出现的定制式培养模式,学生与就业单位签订委培协议,或者是高职院校根据软件企业的行业需求,修订教学计划,调整课程体系,将教学内容与岗位技能融合在一起。[4]现在这样的定制式培养其缺点也逐渐暴露出来,如课堂教学中专业课程的主要优势存在的不足,内容更新缓慢,知识技能局限性突出等。
3 软件开发课程设置的原则
对软件开发专业课程的设置要充分考虑社会对人才规格的需求,经济与技术的发展状况及各地区经济发展情况。专业课程设置是专业培养方案的重要内容,研究目前软件行业的就业岗位,对其职业能力、综合能力及岗位能力进行抽象分析,明确专业课程体系的设计。在设计思路上突出技能培训、职业素养培训等各方面的要求。[5]可以按照以下原则:
3.1就业导向原则
专业课程的设置对应于行业的工作岗位或某一岗位群所必需的理论知识结构及专业技能。在确定专业岗位及岗位群时,可以聘请该行业的一线专家,企业人力资源负责人,本学科的专业负责人等组成专家委员会共同参与,开发指导教学计划。以职业岗位群工作内容为基础,对其知识结构、职业素养、综合能力及职业技能进行抽象分析,明确人才的培养目标,以此结果映射课程开发,设置教学内容。
3.2 课程应用原则
课程内容紧随社会需求,突出课程的应用型、实用型。在高职应用型人才的培养方案中,以突出职业能力来设置课程。完成学生与就业岗位在职业技能方面的顺利接轨,是职业教育的主要目标。以“必需”和“够用”作为根本。
太实际了,而脱离原理性的内容,使学生只会简单地模仿,变通能力差。只是看到程序运行结果而不管过程,没有良好的算法基础。计算机是一个不断发展的学科,使学生失去了自学拓展的能力。实用性讲究避免大而全,如何分清和掌握“必需”和“够用”是以培养目标为标准。
3.3目标定位原则
以专业培养目标为宗旨,课程体系改革为主线,其中所涉及的课程,其教学目标应为培养目标而服务。由此可见,课程体系的设置是充实和实现目标体系。[6]在课程体系中课程内容的设置应相互衔接,适当增加与就业岗位相关的职业认证内容,使学生在大学毕业时同时取得学历证书和职业资格证书。
4软件专业课程设置的实施
4.1目标明确,与时俱进
分析目前多数高职类院校软件方向的课程设置,大部分课程相似。其中有的涉及到了,目前较流行的语言及开发工具,也有将部分本科类课程纳入其中。这些课程的独立开设其教学效果怎样?是否考虑开课的先后顺序,课程体系完整吗?课时安排合理吗?
我们首先认真听取专家委员会的意见,参考一些国际著名IT教育培训厂商的培训模式,学习兄弟院校的成功案例,结合软件行业的用人需求制定主要课程。如.Net方向,以C#语言为基础,从Windows应用程序开发为入口循序渐进逐步展开。[7]主要课程有《C#程序设计》、基于C#的《Windows程序设计》、《ASP.NET开发》等。在课程设置时,要充分考虑到高职学生的学习能力差,基础不扎实。通过加大实训内容,强化技能训练,保证一定的学生数量与教学同步。建议《Windows程序设计—C#应用》及《ASP.NET开发》课程为64课时,其中理论课时与实践课时为1:1.3的比例,并且课程最后用2—3周时间完成课程设计。[8]《SQL Server数据库》开设64课时,作为知识结构、技能拓展补充,为学生在数据库开发方面打下坚实的基础。以《Oracle数据库》课程作为进阶与提高,培养学生的数据库管理能力。在综合实训中融入ADO.Net、Ajax、MVC等内容,使学生知识系统化、结构化。对于非主干课程,尽量安排成选修课。 4.2 合理整合,优化资源
课程整合是解决理论与实训课程及相关课程课时不足的有效方法。缺乏理论的支持,所学的知识没有变通性和拓展性,理论知识讲解过多学生感到枯燥而没有兴趣。[9]理论与实训相结合,相关课程之间相互整合提高学生的学习效率。课程整合实施的建议如下。
《C语言程序设计》是语言类的基础性课程,《数据结构》是对编程思想的优化和提高。没有《数据结构》作为指导,学生不具备优良的编程素养,不利于软件开发能力的持续性发展。在大量的实践过程中得到证实,学过《C语言程序设计》和《数据结构》的学生在学习《Java程序设计》或《C#程序设计》时,课堂讲解轻松,效果明显,目标易达到。《C语言程序设计》与《数据结构》课程的整合不是其内容的拼凑,而是将数据结构的内容及算法思想融入到《C语言程序设计》课程中。如在讲解“循环”的内容时,应当提出“穷举搜索法”、“迭代算法”等,在讲解“数组”内容时,适当引入排序中的常用算法,在讲解“函数”时,适当引入“递归”等算法思想。此时《C语言程序设计》这门课程不再是一门语言类的课程,其内容不再单薄,而是充满着大量实训内容,让学生表现编程思想,锻炼程序设计能力的实训课程。
《数据库原理》与《SQL Server2008》课程的整合。以SQL Server2008的讲解为主线,从数据库的设计入手讲解,其中穿插数据库原理的内容,如数据库的设计思想,ER图的描述,引入UML的设计思想及描述方法和工具软件的使用。在深入讲解查询语句前,首先讲解关系代数的运算规则,最终可以达到元组演算、关系代数及SQL语句之间的相互转换及验证。
《操作系统》、《Windows Server 2008》及《Linux操作系统》课程的整合。以Windows Server2008操作系统为实训平台,突出网络服务器配置的特色。讲解中适当引入《操作系统》课程中的经典内容,如进程调度等概念。Linux操作系统讲解时从文件管理入手,分析目录、权限管理等,这部分内容作为拓展技能讲解。
《Dreamweaver 网页制作》与《Photoshop》、《Fireworks》、《Flash》课程的整合。从HTML基本文档结构开始,系统讲解CSS等内容,JavaScript基础内容作为补充,XML的概念及使用等。整个课程在讲解过程中穿插讲解《Photoshop》、《Fireworks》及《Flash》基本技法及设计方法。
课程整合会影响课程的独立性,同时也会增加课程的难度。从相关性的角度将一些相辅相成的课程进行整合会提高效率,并且能够充分发挥其课程价值。
5 围绕就业进行课程整合的思考
各知识模块的理论知识,技能目标和职业能力对应工作岗位的实际需求,多个模块的相互衔接构成课程内容。课程间的相互整合突破了传统的教学模式,以岗位需求职业能力为出发点,更加适合于现代职业教育的特点。在实施过程中确实解决了专业课程设置与人才培养目标之间的矛盾以及专业课程设置与工作岗位在能力、技能等方面需求的矛盾。以上较为突出的矛盾可以得到缓解甚至消除,但对于社会的进步,软件行业的不断发展,对出人才的需求存在着变化,相对于课程体系的稳定构建出现新的矛盾。有可能出现刚刚制定的课程体系要从新修订,以面对企业所提出的新需求。[10]另外,在目前的实训教学中老师也从以前问学生“懂了吗?”逐步转变为问“会做了吗?做出来了吗?”慢慢地转向结果,忽略实训中相关的理论知识及细节问题。课程的整合对授课教师也是一种挑战,要熟悉相关课程的知识技能,对提高教师的业务能力和专业素质起到积极的推进作用。
6结束语
通过课程设置的不断改进,使软件开发方向的专业课程体系更贴近于行业的需求。坚持以就业为导向,加强职业技能培训和职业素质教育是我们的目标。软件技术的更新速度非常之快,这就要求我们不断地学习并对其进行探索和研究。
参考文献:
[1]严仲兴.高职院校软件专业人才培养方案[J].职业技术教育,2007(26):86-87.
[2]龙雁.高职计算机软件专业教学改革研究[J].长沙民政职业技术学院学报,2006(2):86-88.
[3] 李克周,刘强,陈猛,等.大学计算机专业定制培养模式下软件相关课程教学方法探讨[J].科技信息,2011(28):444.
[4]王明福,徐人凤.高职软件人才培养的教材建设研究与实践[J].职业技术,2006(12):247-248.
[5]翁健红.高职软件专业课程设置的探讨[J].中国成人教育,2006(3):83-84.
[6]方一新,王竝.计算机软件专业的课程设置[J].机械职业教育,2007(5):27-28.