重视专业能力培养落实本科教育面向未来的基本要求.docx
《重视专业能力培养落实本科教育面向未来的基本要求.docx》由会员分享,可在线阅读,更多相关《重视专业能力培养落实本科教育面向未来的基本要求.docx(23页珍藏版)》请在冰点文库上搜索。
重视专业能力培养落实本科教育面向未来的基本要求
重视专业能力培养 落实本科教育面向未来的基本要求
计算机科学与技术专业教学指导分委员会秘书长、北京工业大学教授 蒋宗礼
教育正在摆脱单一的知识传授功能。
哲学家费希特曾经指出:
教育必须培养人的自我决定能力,而不是培养人们去适应传统世界;教育重要的不是着眼于实用性、传播知识和技能,而是要唤醒学生的力量,培养其自我性、主动性、抽象的归纳力和理解力。
联合国教科文组织给出的教育定义已经从“有组织有目的的知识传授活动”变为“是能够导致学习的交流活动”。
这是最基本的教育理念,充分体现了本科生教育强调可持续发展、面向未来的基本要求。
之所以将知识、能力、素质作为教育的三个要素,是因为只有将这三者贯通于教育的全过程,才有可能培养出高水平的人才。
爱因斯坦说过,想象力比知识更重要。
应当说,丰富的想象力加上扎实的基本功构成创新的源泉。
对飞速发展和不断变化的计算机科学与技术学科更是如此。
为此,依据计算机科学与技术学科的特点,我们主张选择适当的知识为载体,实施专业素质教育和专业能力培养,并强调创新意识的建立和丰富想象力的培养。
为了更好地将对学生能力的培养与教学活动更好地结合起来,进一步提升施教者和受教者的“能力意识”,教育部高等学校计算机科学与技术专业教学指导分委员会进行了计算机科学与技术专业人才专业能力构成与培养的研究,研究成果《高等学校计算机科学与技术专业人才专业能力构成与培养》已出版发行。
为了与同行们进行更广泛地交流,本文将举例叙述其主要思想。
1.重视学生能力的培养
东西方教育各有特长,美国学者贾尼丝o萨博曾经简略地对比了东西方教育的差别,如表1所示。
这里并不讨论贾尼丝o萨博对比结果的准确性,只由此可看出,知识、能力对学生都是很重要的。
从可持续发展的具体情况来看,能力基础与知识基础缺一不可,站在可持续发展的角度,能力基础甚至更为重要。
在学习已知的同时,要引导学生建立探索未知的意识,在使学生掌握必要的基础知识的同时,培养他们探索未知的基本能力,同时实现对他们能力的全面培养。
表1东西方教育对比
序号
东方教育
西方教育
1
能够知道答案
能够提出问题
2
带着兴趣去听
表达有力的观点
3
能理解别人的意思
能概括抽象的东西
4
能抓住要领
能演绎推理
5
能完成作业
能寻找课题
6
乐于接受
长于出击
7
吸收知识
运用知识
8
善于操作
善于发明
9
长于记忆
长于猜想
10
喜欢自己学习
善于反思、反省
高等教育中,对能力培养的总体要求是很明确的,这一点在工程教育的基本要求中有着非常明确的体现。
从工程教育专业认证的标准不难看出,“能力导向”已经成为工程教育追求的一个重要目标。
中国工程教育专业认证要求从以下10个方面考察毕业生的合格程度。
而且值得注意的是,在较早的版本中,这些要求叫做“培养目标及要求”,而现在叫做“毕业生能力”,明确提出“专业必须证明所培养的毕业生达到如下知识、能力与素质的基本要求”:
(1)具有较好的人文社会科学素养、较强的社会责任感和良好的工程职业道德。
(2)具有从事工程工作所需的相关数学、自然科学知识以及一定的经济管理知识。
(3)掌握扎实的工程基础知识和本专业的基本理论知识,了解本专业的前沿发展现状和趋势。
(4)具有综合运用所学科学理论和技术手段分析并解决工程问题的基本能力。
(5)掌握文献检索、资料查询及运用现代信息技术获取相关信息的基本方法。
(6)具有创新意识和对新产品、新工艺、新技术和新设备进行研究、开发和设计的初步能力。
(7)了解与本专业相关的职业和行业的生产、设计、研发的法律、法规,熟悉环境保护和可持续发展等方面的方针、政策和法津、法规,能正确认识工程对于客观世界和社会的影响。
(8)具有一定的组织管理能力、较强的表达能力和人际交往能力以及在团队中发挥作用的能力。
(9)具有适应发展的能力以及对终身学习的正确认识和学习能力。
(10)具有国际视野和跨文化的交流、竞争与合作能力。
1989年由来自美国、英国、加拿大、爱尔兰、澳大利亚、新西兰6个国家的民间工程专业团体发起和签署的《华盛顿协议》将能力要求归纳为以下7个方面:
(1)在系统、工艺和机器的设计、操作和改进过程中,能够应用数学、科学和工程技术知识。
(2)发现并解决复杂工程问题。
(3)了解并解决环境、经济和社会与工程相关的问题。
(4)具有有效沟通能力。
(5)能够接受终身学习并促进职业发展。
(6)遵守工程职业道德。
(7)能够在当今社会中发挥作用。
美国ABETEC2000能力要求归纳为以下11个方面:
(1)应用数学、科学及工程知识的能力。
(2)设计与执行实验以及分析与解释数据的能力。
(3)设计系统、零组件或制造程序以满足特定需求能力。
(4)在跨领域团队中发挥功能的能力。
(5)发掘、推导以及解决工程问题的能力。
(6)对专业与道德责任的领悟。
(7)有效沟通的能力。
(8)于全球性与社会性环境背景下了解工程解决方案产生的冲击所需之广博教育。
(9)认知终身学习的必要性以及将之实践的能力。
(10)认知当代议题相关的知识。
(11)执行工程业务所需要的技术、技能以及现代工程工具的运用能力。
我国台湾地区的IEETAC2010能力要求归纳为以下8个方面:
(1)运用数学、科学及工程知识的能力。
(2)设计与执行实验,以及分析与解释数据的能力。
(3)执行工程实务所需技术、技巧及使用工具之能力。
(4)设计工程系统、元件或制程之能力。
(5)计划管理、有效沟通与团队合作的能力。
(6)发掘、分析及处理问题的能力。
(7)认识时事议题,了解工程技术对环境、社会及全球的影响,并培养持续学习的习惯与能力。
(8)理解专业伦理及社会责任。
用“能力”作为培养目标的描述元素是很重要的,特别要注意的是,这些能力应该在绝大多数毕业生身上得到体现,而不是理想的、理念上的,更不是“知识导向”的。
就能力培养而言,作为专业教育,擅长的是专业能力的培养,主要途径也应该是通过培养学生的专业能力,全面提升学生各方面的素质。
通过“通识教育类”选修课,使文科类学生提高“理工素养”(如数学修养),理工类学生提高“人文素养”,有利于改善高等教育培养“半边人”的问题,这对全面提升学生解决问题的能力是非常重要的。
但仅仅以此来提高学生的素质还过于粗放而且不全面。
因为,作为高等教育,主要还是根据学生的特长,面向专业实施教育,扬长以求卓越。
所以,专业素质是素质的重要组成部分,忘了专业素质的提高,就很难说办学是成功地。
同样,培养创新能力绝不是让学生参加教师的科研项目,听几次科技讲座,发表几篇科技论文。
让一些优秀的本科生在校期间的课外科技活动变成重复地给一些单位建网站的现象应该引起足够的注意,必须引导学生一步一个台阶地提升自己。
要想较好地解决这个问题,必须放弃“完成科研任务”、“完成科技创新任务”,更要放弃“完成开发任务”这类短期目标,真正突出专业能力的培养和专业素质的提高,实现高等教育真正的目标。
2.计算机类专业人才四大专业基本能力
和其他的专业人员一样,一名合格的计算机专业人才,应该具有一些基本能力,包括交流、获取知识与信息的基本能力、专业基本能力、创新能力、工程实现能力、团队合作能力等,其中专业基本能力是指从事某一专业领域的研究、设计、开发、操作等工作所需要的由专业所限定的能力。
计算机专业背靠计算学科。
由于计算学科在具有较强的工科特征的同时,还具有理科特征。
因此,对计算机专业教育来说,需要突出计算学科的这种工科兼理科这一基本特征。
而且对计算机类专业大多数人来讲,应该是以工科特征为主,兼有理科特征。
所以,专业所需的思维能力和系统构建等能力是两类在具有差异的,同时更具有相互支撑需要的能力。
具体地,可以将计算机类专业人才的专业基本能力归纳为计算思维能力、算法设计与分析能力、程序设计与实现能力、系统能力。
(1)计算思维能力
简单地说,计算思维(ComputationalThinking,CTK)的核心是基于计算机考虑问题求解。
广义地,可以理解为如何有效地利用计算机技术进行问题的求解。
也就是说,在拥有了计算机这个工具后,如何有效地将其用于生产、生活和科学实践活动,提高工作效率,高质量地解决遇到的问题。
从这个意义上讲,计算思维能力并不是计算机专业人才的“专利”,而是现代人都应该具备的能力。
狭义地,可以理解为如何按照计算机求解问题的基本方式去考虑问题的求解,以便构建相应的算法和基本程序等。
也就是如何使计算机具有更强的工作能力。
主要包括形式化、模型化描述和抽象思维与逻辑思维能力。
计算机专业的人员研究一个问题的求解时,首先要解决问题的表示。
需要通过抽象进行形式化,建立适当的模型,然后对此抽象描述进行表示和处理。
同时,让计算机系统“独立”实现在对问题的求解之前,还要事先在自身的头脑中“构建”并“运行”各个适当抽象级别上的处理系统(过程)。
这类活动的有效进行主要靠计算思维能力来支撑。
作为计算系统最基本的“成分”,“程序”具有非物理特性,这种非物理特性要求研究人员具有抽象描述、抽象思维和逻辑思维能力。
这些都表明本学科基础分支学科的基本教育原理是抽象第一。
从这个意义上讲,计算思维能力是计算机专业人才及计算学科专业人才的重要能力。
针对计算机专业人才的培养,我们按照狭义的理解探讨计算思维能力。
这样可以认为,计算思维能力主要包括:
问题的符号表示、问题求解过程的符号表示、逻辑思维、抽象思维、形式化证明、建立模型、实现类计算、实现模型计算、利用计算机技术等。
(2)算法设计与分析能力
算法是系统工作的基础,对计算机专业人员是非常重要的。
要想成为一名优秀的计算机专业人才,其关键之一就是建立算法的概念,具备算法设计与分析能力。
算法设计与分析能力主要指对具有相当规模、较复杂问题求解算法的设计与分析,研究算法的可行性和效率。
算法设计与分析能力(AlgorithmDesignandAnalysis,ADA)主要包括:
简单算法的设计、复杂算法的设计、简单算法的分析、复杂算法的分析、证明理论结果、开发程序设计问题的解、概念验证性程序开发、确定是否有更优的解等。
(3)程序设计与实现能力
程序设计与实现包括软件和硬件实现。
图灵奖的获得者Wirth的观点认为:
“在较高的认识层次上,硬件和软件是一样的”,因为问题的求解最终都可以归结为用一定形式的数据表示物质世界的给定系统,并使用算法通过对这些数据的变换来获得相应的处理结果,只不过载体可能不同。
程序设计与实现涉及具体载体下的实现策略、方法、过程,追求相应的社会、经济和技术的可行性、效率、成本、效益等。
通常需要掌握适当的语言和程序设计思想与方法,用优质的程序实现算法,包括程序设计、软硬件实现、调试、维护。
程序设计与实现能力(ProgramDesignandImplementation,PDI)被归纳为3个能力点:
小型程序设计、大型程序设计、系统程序设计。
(4)系统能力
系统能力(SystemUnderstandingandMastery,SUM)要求研究人员要站在系统的全局看问题、分析问题和解决问题,并实现系统优化。
对计算机专业人员来说,无论程序是用硬件实现还是用软件实现,其设计与实现是基础,最终是要组成一个可以运行的系统。
所以,具有一定的程序设计与实现能力后,必须提高学生的系统能力。
多年的经验表明,教育学生以系统的观点看问题,是非常重要的,也是比较困难的。
作为系统分析、开发与应用能力的重要组成成分,狭义的系统能力包含两个层面上的意义:
一是对一定规模的系统的“全局掌控能力”;另一方面是能够在构建系统时,系统地考虑问题的求解。
这方面正好与类计算相吻合。
系统设计是广义的,要把“设计”作为对问题求解的基础,特别强调使学生一开始就养成一个良好的习惯,即在弄清楚一个问题后,首先要考虑问题的数据表示与处理基本过程,而不是提笔开始“编程”、考虑“基本电路”。
所以,对一个初学者来说,一开始就要强调在进行问题求解的时候,首先进行“设计”,然后再在“设计”的基础上进行“实现”,养成一个良好的专业习惯。
自顶向下是进行系统设计的重要思想,引导学生分层次考虑问题,逐步求精;鼓励学生由简到繁,进行复杂程序的设计;结合计算机硬件系统、编译系统、操作系统等教学,学会关注和掌握系统构成、系统逻辑,引导学生从宏观到微观地分析、理解和把握系统;通过参与较大型系统的分析、设计与实现,鼓励学生在工作过程中努力掌握系统的总体结构,关心本人所承担的工作在系统中的地位等来增强系统能力。
在实践环节的考察中,把学生对系统的掌握程度作为重要的考核内容,以促进系统能力培养的落实,努力提升学生的眼光,引导学生站在系统级上对算法和程序进行再认识。
系统能力可以细化为认知(SUM1)、设计(SUM2)、开发(SUM3)与应用(SUM4)等方面的能力。
系统认知能力主要包括:
基本系统软件使用、系统软件构成、基本的计算机硬件系统构成、网络系统的构成、硬件系统的性能、软件系统的性能等。
系统设计能力主要包括:
设计数字电路、设计功能部件、设计芯片、对芯片进行程序设计、设计嵌入式系统、设计计算机外设、设计复杂传感器系统、设计人机友好的设备、设计计算机、设计应用程序、设计数据库管理系统、数据库建模和设计、设计智能系统、开发业务解决方案、评价新型搜索引擎、定义信息系统需求、设计信息系统、设计网络结构、实验设计等。
系统开发能力主要包括:
实现应用程序、配置应用程序、实现智能系统、开发新的软件环境、创建安全系统、配置和集成电子商务软件、开发多媒体解决方案、配置和集成e-learning系统、创建软件用户界面、制作图形或者游戏软件、配置数据库产品、实现信息检索软件、制定企业信息规划、制定计算机资源规划、选择网络部件、安装计算机网络、实现通信软件、实现移动计算系统、实现嵌入式系统、实现数字电路、实现信息系统、实验实现、实验分析等。
系统应用能力主要包括:
使用应用程序、培训用户使用信息系统、维护和更新信息系统、管理高级别安全要求项目、管理一个组织的网站、选择数据库产品、管理数据库、数据库用户的培训与支持、资源升级调度与预算、计算机安装与升级、计算机软件安装与升级、管理计算机网络、管理通信资源、管理移动计算资源等。
虽然这四种能力是本专业人才的基本能力,但学科的不同形态确定了不同类型的人才需要强调不同方面的能力。
例如,研究型人才强调“理论形态”的内容,需要强化计算思维能力和算法设计与分析能力的培养;工程、应用型人才强调“设计形态”的内容,要求强化程序设计与实现能力和系统能力的培养。
3.四大专业基本能力的82个能力点
计算机类专业的从业人员的四大专业基本能力可以分成13个方面82个能力点,这82个能力点中,有一大部分来自CC2005,我们按照四大专业基本能力进行了归类,如表2所示。
我们参照美国同行们在CC2005中的描述,将这些能力点按照不同的专业方向给出了基本要求。
这些基本要求分成6级,分别用0~5表示:
0:
表示不要求;1:
表示基本了解有关要求和做法;2:
表示了解有关要求和做法;3:
表示理解有关要求和做法;4:
表示基本具备相应的能力;5:
表示较好地具备相应的能力。
见表2。
表2专业能力构成及要求
方面
4大能力
能力
CE
CS
SE
IS
IT
模型ML
CTK
问题的符号表示
5
5
5
3
3
问题求解过程的符号表示
5
5
5
2
1
逻辑思维
5
5
5
2
1
抽象思维
4
5
4
1
1
形式化证明
4
5
4
1
0
建立模型
4
5
5
1
0
实现类计算
4
5
4
1
1
实现模型计算
3
5
4
1
0
利用计算机技术
5
5
5
4
5
算法AL
ADA
简单算法的设计
5
5
5
3
3
复杂算法的设计
4
5
4
0
0
简单算法的分析
5
5
5
2
2
复杂算法的分析
3
5
3
1
1
证明理论结果
3
5
3
1
0
开发程序设计问题的解
3
5
3
1
1
概念验证性程序开发
3
5
3
3
1
确定是否有更优的解
3
5
3
1
1
应用程序AP
SUM2
设计应用程序(基本办公软件)
3
4
4
1
0
SUM3
实现应用程序
3
4
4
1
0
配置应用程序
3
3
3
5
5
SUM4
使用应用程序
3
3
3
4
5
计算机程序设计BP
PDI
小型程序设计
5
5
5
3
3
大型程序设计
3
4
5
2
2
系统程序设计
4
4
4
1
1
SUM3
开发新的软件环境
3
4
5
3
1
创建安全系统
4
3
5
0
0
SUM4
管理高级别安全要求项目
3
2
5
0
0
SUM1
基本系统软件使用
5
5
5
5
5
系统软件构成
5
5
5
3
4
软件系统的性能
5
5
5
3
5
通过集成开发系统ID
SUM4
管理一个组织的网站
2
2
2
4
5
SUM3
配置和集成电子商务软件
2
3
4
4
5
开发多媒体解决方案
2
3
3
4
5
配置、集成e-learning系统
1
2
3
5
5
SUM2
开发业务解决方案
1
2
2
5
3
评价新型搜索引擎
2
4
4
4
4
硬件与设备HW
SUM2
设计数字电路
5
2
2
0
0
SUM3
实现数字电路
5
2
1
0
0
SUM2
设计功能部件
5
1
0
0
0
设计嵌入式系统
5
1
1
0
0
SUM3
实现嵌入式系统
5
2
3
1
1
SUM2
设计计算机外设
5
1
1
0
0
设计复杂传感器系统
5
1
1
0
0
设计芯片
5
1
1
0
0
SUM2
对芯片进行程序设计
5
1
1
0
0
设计计算机
5
1
1
0
0
SUM1
基本的计算机硬件系统构成
5
5
5
5
5
硬件系统的性能
5
3
3
3
4
人机界面HM
SUM3
创建软件用户界面
3
4
4
4
5
制作图形或者游戏软件
2
5
5
0
0
SUM2
设计人机友好的设备
4
2
3
0
1
信息系统IS
SUM2
定义信息系统需求
2
2
4
5
3
设计信息系统
2
3
3
5
3
SUM3
实现信息系统
3
3
5
4
3
SUM4
培训用户使用信息系统
1
1
1
4
5
维护和更新信息系统
3
3
3
5
4
信息管理IM
SUM2
设计数据库管理系统
2
5
4
1
0
数据库建模和设计
2
2
2
5
5
SUM3
实现信息检索软件
1
5
4
3
3
配置数据库产品
1
2
2
5
5
SUM4
选择数据库产品
1
3
3
5
5
管理数据库
1
2
2
5
5
数据库用户的培训与支持
2
2
2
5
5
IT资源规划IP
SUM3
制定企业信息规划
0
0
0
5
3
制定计算机资源规划
2
2
2
5
5
SUM4
资源升级调度与预算
2
2
2
5
5
计算机安装与升级
4
3
3
3
5
计算机软件安装与升级
3
3
3
3
5
智能系统AI
SUM2
设计智能系统
2
4
2
0
0
SUM3
实现智能系统
2
4
4
0
0
网络与通信NC
SUM3
安装计算机网络
2
1
2
3
5
SUM2
设计网络结构
3
3
2
3
4
SUM3
选择网络部件
2
2
2
4
5
实现通信软件
5
4
4
1
1
实现移动计算系统
5
3
3
0
1
SUM4
管理计算机网络
3
3
3
3
5
管理通信资源
1
0
0
3
5
管理移动计算资源
3
2
2
2
4
SUM1
网络系统的构成
5
4
3
4
5
实验与分析EA
SUM2
实验设计
5
5
5
5
5
SUM3
实验实现
5
5
5
5
5
实验分析
5
5
5
4
5
每一个能力点都有相应的含义、作用和培养要求。
例如,表2中的第一个能力点“问题的符号表示(SymbolicProblem)”就是要把实际问题用符号表达出来,需要定义(面向设计)和掌握(面向使用)符号的内涵与实际意义。
问题的符号表示是计算思维的基础,是基于计算机进行问题求解的基础工作。
符号表示分为问题的基本符号表示和问题的模型表示。
问题的基本符号表示主要指用符号描述处理对象的状态。
计算机处理的基本数据形式是数字,问题数字化表示的前提是符号化,这决定了计算机问题求解的基本需求是要用符号表示所要求解的问题。
实际上,程序中的各种变量,甚至运算符都是最基本的符号表示。
由于数学正是由于其在问题的符号表示方面的特质,使得它对计算学科具有特别的支撑。
再考虑计算机问题求解的离散特征,使得以符号运算为基本特征的离散数学又成为本专业学习的重要内容。
问题的模型表示是在基本符号表示基础上的进一步提升,是通过建立相应模型实现给定问题的描述。
通常要求有问题中事务状态的符号表示、状态之间联系的符号表示、状态的变换关系的符号表示等。
模型的建立为一类问题的求解奠定基础。
关于模型表示,可以参见“建立模型”。
计算学科的特点是形式化、抽象和逻辑,其问题求解的表现形式是符号和符号变换,符号作为计算机问题表达的基本形式,而符号变换作为问题求解的基本途径。
这一点在计算学科的基础分支学科中表现得十分突出。
所以,具备问题的符号表示能力是实现计算机问题求解的基本能力。
符号及其符号变换所决定的程序的非物理特征,也就决定了计算学科的基础分支学科抽象第一的基本教育原理。
抽象是问题的符号表示的基本手段。
学生学习问题的符号表示可以追溯到很早以前,虽然如此,面向计算机进行问题求解而考虑相应的符号表示则有更高的要求。
为了培养学生的计算机问题求解能力,“程序设计”是计算机专业学生的必修课程,通常设置在第一个学期中。
在该课程中,学生需要学习如何将一个问题及其求解表示成“计算机规定的形式”,这也是学生实现从常规的思维向计算思维转变的开始。
在这里,学生学习如何用各种各样的以符号形式出现的“变量”表示问题,并用他们的变换表示问题的求解。
这个看似简单的问题,实际上涉及思维方式的变化,正是因为这一点,使得“变量”这个最简单、最基本的概念对初学者来说非常不易掌握。
一旦完成思维方式的转换,掌握了这种“表示”