当前位置: 首页 > 范文大全 > 公文范文 >

软件学科人才培养教学规律的再认识

时间:2022-05-05 16:25:03  浏览次数:

摘要:本文分析软件类专业与传统专业能力提高规律的区别,指出软件类专业传统教学体系的不当之处,认为软件类专业的专业基础课实际上是提高专业技术水平的专业理论课,与传统专业的专业基础课有本质的区别。基于这一认识,提出编制培养计划的指导性原则。

关键词 :软件人才培养;教学规律;培养模式;培养计划

中图分类号:G642 文献标识码:B

软件技术类专业是指在计算机类专业教学中以软件开发、软件维护、软件工程管理等为主要专业定位,或是在此基础上的专业领域软件开发专业(例如游戏软件开发方向等)。近年来,在计算机教育方面,软件开发类专业得到了长足的发展,特别是在规模上,随着全国35所示范性软件学院的建立,全国各地也办了类似的旨在培养应用型软件高级人才的软件学院。然而,目前不容乐观的是,软件人才的培养从数量上说似乎已经满足了软件行业的需要,甚至已经有些过剩,但是从软件企业传来的信息确是软件企业“不招应届毕业生”、大量软件企业找不到合适的人才。这个一个侧面反映了软件类人才培养,还没有从根本上适应市场的需求,培养的人才的合格率还太低。

目前,软件类专业的教学改革可以说是个热点,特别是教育部批准举办的35所软件学院都在教学改革上做出了很大成绩。然而,大多教学研究都停留在实践教学改革,课程体系改革等具体操作的层面上。对于软件教育的规律是什么?软件类专业与其他传统学科有什么区别?研究者大都没有给出系统的结论。

目前,软件人才培养方面的研究和实践,归纳起来有以下几个方面的改革趋势:

(1) 机制创新。国家示范性软件学院和各地方的软件学院都对软件学院教学计划的制定给予了较大的自由度。办学收费标准也较高,使得软件学院的硬件设施普遍较之普通院系优越,这样一定程度上提高了培养质量。文献[1-2]都对此进行了有益的探讨。

(2) 实践环节改革。普遍把到企业实习看作是提高人才能力的好办法。实际上一些重点院校的学生本身素质和能力就较高,直接到企业实习效果较好,而大量普通院校的学生直接到企业实习实际效果并不太好。文献[3-4]分别研究了这方面的改革情况。

(3) 本科教育职业化。把本科教育完全改造成技术培训,完全扔掉本科教育基本培养规格。应该说把软件人才培养向职业培训转化是对原来普通本科教育的一个极端化改革,但是如果没有正确的软件人才培养规律作指导,这种改革势必会造成软件人才理论不扎实、后劲不足,所以,需要在对软件人才培养规律的清晰认识基础上进行改革。

本文分析了软件专业与传统专业的区别,指出了软件专业与传统学科,教学规律和认识规律的不同之处,在此基础上提出了软件类专业教学计划和课程体系编制的指导性原则。希望通过本文能够为同行提供一个新的视角。

1软件专业知识体系、能力提高模式与传统学科的比较

专业教育对学生的作用可以归纳为两个方面,一是专业、学科知识体系的逐步完善,二是解决学科问题能力的提高。图1表示了学生培养过程中专业能力提高和知识能力提高示意图。

图1中虚线表示传统学科的知识水平能力水平提高在大学教育过程中的变化,实线是软件技术类专业的情况。

在学科领域中,传统学科知识体系已经比较完整,工程化设计、计算方法已经相对成熟。学生知识提高的过程与能力提高的过程并不是完全同步的。大学教育单从学科能力提高方面说,可以说是一个比较封闭的过程,也就是没有学专业课之前,几乎无法使用专业的知识体系解决问题,就是说,解决专业问题能力的提高很大程度上是从学习专业课开始的。但是,由于传统学科的设计、计算等都已经比较成熟,对于同一个问题的解决方法基本差别不大,所以在学科基础课学好的前提下,学生可以在很短时间内,就能使专业技术能力有比较大的提升。

软件类专业则不同。一方面,即使没有雄厚的专业理论基础,也可以学会基本的开发技术(专业技术),但是其开发能力、水平的提高,必须在继续学习专业理论且不断实践中得到提高,其提高是缓慢的。可以说是一个渐进的过程。学生入学一年级就可以直接接触专业方法(即编程),具有初步的能力,然后随着专业理论课程的学习,在掌握知识的同时,逐步提高解决问题的能力,和解决问题的质量。也即知识的积累和能力的提高是同步进行、相互促进的。

2对软件学科教学体系的新认识

传统专业知识体系一般可由三部分组成:即自然科学基础、学科基础理论、专业知识和方法。例如针对自动化专业,其自然科学基础包括数学、工程数学、物理等;学科基础知识包括电路理论、电机与拖动、电子技术、控制理论等;专业课主要包括两个方面,一是工程化的控制系统设计方法,二是具体的控制电路及设备的选择或实现技术。这个体系的特点是,专业技术课的学习依赖于自然学科基础(如数学)。专业课的学习依赖于专业基础课的知识体系。也就是说,传统学科的知识体系可以说成是金字塔形。

而软件类专业从大的方面虽然也可以分成自然科学基础、专业理论、专业技术,但是三者之间的关系却和传统专业有本质的不同。专业理论知识依赖于自然科学基础,专业技术能力一定程度也依赖于自然科学基础;专业技术知识的学习对于专业理论的依赖并不明显,而专业技术能力的提高却依赖于专业理论的学习。也就是说,学会专业技术知识并不依赖于太多的专业理论,但是学好专业技术,提高解决问题的能力,专业理论必不可少,并且起到不可替代的作用。

所以,要改革传统软件类专业的教学体系必须先从认识软件类专业和传统学科的差异着手,将自然科学基础、专业基础理论、专业技术课程的传统教学体系,改为自然科学基础、专业技术先行,专业理论适当延后的教学体系。

图2粗略地表示出了两种教学体系的区别。图中横坐标是每个学期的学时数,纵坐标是学生在校的时间。在新的教学规律指导下的新的教学体系应该适当地延后学习自然科学基础的时间。专业技术包括利用开发语言开发平台,后期是专业开发的实践。专业理论逐渐展开,用专业理论课的学习促进学生专业能力的提高。最终,学生的知识体系并没有残缺,但是在学习期间能力的提高更符合软件学科的教学目标。

不难看出,软件技术类专业人才培养与传统学科有着很大的区别。只有理解和遵循这些规律,才能更好地高效率地培养软件人才。这些规律必须反映到人才培养方案的制订中,否则,就不可能培养出符合市场需要的人才。虽然软件类专业目前已经多样化,建立在软件技术基础上的专业和专业方向很多,但是作为软件技术的核心能力和知识体系还是基本相同的。所以,软件类专业的培养计划制订,必须遵守以下原则:

(1) 自然科学基础课程宽厚原则。如数学是软件技术类专业提高逻辑思维能力的重要课程,并且线性代数、离散数学、概率与数理统计等课程都会对程序员解决问题提供灵感。所以,在本科教学计划中,应该把自然科学基础作为软件类专业的最主要课程,同时在开设时机上,要改变过去必须在前两年开设完毕的思维,可以分布在学习的各个学期。

(2) 以核心能力培养为主线,兼顾不同专业方向。软件技术类专业无论专业方向如何,其核心能力都是相同的。概括来说就是两个能力,即程序及软件设计能力和软件工程能力。这两个能力,一方面是软件技术能力,一方面是软件工程能力,软件工程能力也是以软件技术能力为基础的。所以,在进行培养计划制订的工程中,必须把核心能力的培养放在首位,然后通过适当的计算机科学、通讯原理、电子信息等了解性课程拓宽学生的专业领域。

(3) 专业技术课程先期教学原则。这是和传统学科区别最大的一个原则。软件技术课程的学习一般来说并不依赖于软件理论课程,所以,软件技术课程可以先期进行学习。软件技术专业的技术课程很多,各种开发平台、开发语言,不可能在学校都进行学习。那么就只能选其中的一种语言一个平台,并且要彻底学会。具体选择哪种平台和语言反而并不是很重要(如果能兼顾毕业时就马上能用到的技术更好)。因为掌握某种开发平台、语言不是学生的核心能力,软件设计能力才是最重要的。很多本科教育的研究者担心只学习一个技术会使得学生专业面太窄,在计算机技术发展迅速的今天很可能所学的技术在学生毕业时已经成为陈旧的技术,导致学生不能适应社会的需要。这样的研究者忽略了一点,能力需要通过大量的开发实践才能锻炼出来,要进行能力的提高就必须依托一个载体,这个载体就是某一个具体的技术。学会了一个技术以后,就可以在不断的开发练习过程中,提高软件开发设计能力,提高快速适应不同语言和工具的能力。同时在实际工作中提高其社会活动能力、社会责任感、与人沟通的能力、合作能力、系统分析能力等,而这些能力与开发平台和语言是完全无关的。

(4) 专业技术理论适当延后原则。需要说明的是在这里我们使用了专业技术理论,而没有使用专业基础课的说法,这是因为,我们常说的传统专业的专业基础课与软件技术理论课有本质的不同。它不是解决学习专业技术课程的必备基础,而是为将软件设计得更好的理论指导。计算机专业的教师都会有这样的体会,教授软件工程、数据结构、编译原理等理论性较强的课程时,有一定编程经验的学生总是能够收获更大。也就是说,学生必须先会设计程序,才会对怎么才能把软件设计得更好感兴趣。所以,培养计划制订中一定要把这些理论性较强的课程放在学生基本掌握了一些平台和技术以后再进行,这样就可以有效地利用这些课程提高学生的软件设计和软件工程能力。

(5) 加强实践性环节改革,把实践性环节作为提高学生能力的关键环节。能力只能在实践中的得到提高,虽然很多软件学院都在开展实践性教学改革,但是大都没有摆脱“课程设计+毕业设计”的模式。实际上,培养计划的大部分课程都是为了培养学生的软件设计能力和软件工程能力,所以,片面地验证某一门课程的所学知识的所谓课程设计,并不能全面地提高学生的程序设计能力,每门课程的课程设计都是在低水平上的重复内容。所以,改革实践教学环节,要在增加实践环节时间的同时,改革实践环节内容,要使学生的设计能力随着知识水平同步提高,实践环节内容和要求一定要随着学习时间不断提高。

(6) 产学结合,提高学生的软件工程能力。这几年,软件教育方面,大多数学校也都注意到了产学结合的重要性。但是,到底通过产学结合到什么目的,却并不很清楚。笔者认为,软件设计能力的提高必须靠软件设计实践本身来提高,企业中的实际工作更多的是软件工程的能力,是非技术的。例如团队精神、工程规范、软件质量控制等,不到实际的软件生产第一线,是很难有体验的。所以,和企业的合作一定要在学生具有了一定的程序设计能力基础上进行。当然不排除在学习过程中,通过企业参观等方法提高学生的学习兴趣。

3结论

软件学科的工程化水平和其他学科相比还远远不够,软件学科的认识规律与其他学科有着很大的不同,目前的软件本科教育沿用了传统学科的培养模式,给人才培养造成了很大的影响。本文所提出的一些思考和原则已经在笔者所在学校的培养计划编制方面得到应用,起到了一定的作用。今后还需要继续按照这些原则不断改造培养计划,努力使我国的软件人才培养能够得到突破性改革。

参考文献:

[1] 黄细良,骆斌. 坚持机制模式创新 办好国家示范性软件学院[J]. 中国高等教育,2004(4):42-43 .

[2] 汪琳琳,焦慧敏. 软件学院办学模式初探[J]. 重庆邮电学院学报,2005(3):437-439.

[3] 雷敏,宋茂强. 示范性软件学院实践教学改革初探[J]. 计算机教育,2007(6):33-55.

[4] 翁敬农,刘云. 北航软件学院本科生实践教学体系的研究与实践[J]. 计算机教育,2007(11):13-17.

[5] 文俊浩,杨丹,陈林,等. 软件工程人才培养体系研究与实践[J]. 高等工程教育研究,2005(4):63-68.

推荐访问: 再认 人才培养 学科 规律 教学
[软件学科人才培养教学规律的再认识]相关文章