古天龙+++周娅
摘 要:计算教程CC20xx对计算机类专业的人才培养有着重要的影响,本文介绍了CC20xx的历史演化,分析了CS2013的特点,讨论了对计算机类应用型人才培养的几点启示,以期对国内高校本科计算机类应用型人才培养的教学改革与实践提供参考。
关键词:计算机科学教程;计算机类专业;应用型人才;知识体系
一、CC20xx的演化
计算机技术及其工业革命对人类社会发展产生了深远和重大的影响。从计算机诞生至今,计算学科的相关专业教育就一直受到国际学术学会组织的极大关注[1]。美国计算机学会(ACM:Association for Computing Machinery)于1968年和1978年分别发布了计算机科学(CS:Computer Science)教程Curriculum68和Curriculum78,并于1972 年发布了信息系统(IS:Information Systems)教程。美国电气和电子工程师学会计算机分会(IEEE-CS:Institute of Electrical and Electronics Engineers-Computer Society)于1977年发布了计算机科学与工程教学计划报告,并于1983年对其进行了修改完善。国际信息技术职业协会(AITP:Association of Information Technology Professionals)于1985 年发布了信息系统教程。ACM和IEEE-CS联合任务组于1991年发布了著名的计算教程CC91(Computing Curricula 1991),给出了计算机科学和计算机工程(CE:Computer Engineering)专业四年制学士课程计划。ACM 于1993年发布了计算机科学、计算机工程、信息系统、计算机支持业务(Computer Support Services)和其他领域计算共五个专业的二年制辅修学位教程。国际信息系统学会(AIS:Association for Information Systems)和ACM,AITP于1997年公布了四年制信息系统专业学士学位课程模型。
计算教程CC91对世界范围的计算机教育产生了巨大的影响。但是,随着计算机科学和技术的飞速发展,计算相关领域不仅在纵向上迅速发展,而且在横向上急剧扩展,计算相关的各种不同课程也随之迅猛增加。CC91渐渐暴露出了各种局限性和不足。在1998年秋季,ACM和IEEE-CS再次合作,成立了联合任务组,旨在对CC91进行修订和完善,力图建立能为各种计算相关专业的学位课程设置提供指南的新教程。随着工作的推进,任务组成员认识到:计算已经深入到如此多而广的领域,以至于从某单一学科度来看问题是远远不够的,需要以一种新的方式来定义和规范计算课程,该工作的完成需要ACM,IEEE-CS,AIS以及其他相关专业协会的合作。ACM和IEEE-CS联合任务组于2001年发布了计算教程CC2001。CC2001报告包含了两个方面重要内容:新的计算教程结构(CC2001模型),计算机科学本科生学位计划的详细课程指南。由于CC2001报告包括了计算机科学课程指南,所以涉及计算机科学教育内容的部分就作为计算机科学教程CS2001。
ACM和IEEE-CS大致上以10年为周期发布新的计算教程,如前面提起的1968年、1978年、1991年和2001年。2001年之后,出现了所谓的计算教育“危机”:许多国家就读计算学科相关专业的学生数目出现了明显的下滑,从2001年的峰值减少60%~70%。然而,在工程、科学、商业、娱乐以及日常生活各个方面,计算技术的作用日益凸显,计算学科相关专业的就业岗位数也在不断增多,毕业生数量的减少和社会需求增多之间形成了矛盾。由此,人们对传统计算教程提出了质疑。为了适应计算学科相关专业的快速发展,ACM和AIS分别于2002年和2006年发布了信息系统教程IS2002和IS2006。ACM和IEEE-CS联合任务组于2004年和2008年分别完成了软件工程(SE:Software Engineering)教程SE2004、计算机工程教程CE2004和信息技术(IT:Information Technology)教程IT2008。同时,ACM和IEEE-CS联合任务组于2005年发布了计算教程CC2005,它由计算教程总体报告CC20xx、计算机科学教程CS20xx、信息系统教程IS20xx、软件工程教程SE20xx、计算机工程教程CE20xx、信息技术教程IT20xx和其他教程(待增加)等组成。CC2005对该版本教程所涉及的计算机科学、信息系统、软件工程、计算机工程、信息技术专业进行了全面的介绍,并给出了各个专业学位计划规范制订的指导性原则。各专业学位计划的知识体系以及课程设置和内容则在相应分卷中详细阐述。
ACM和IEEE-CS联合任务组对计算机科学教程CS2001启动了5年中期评估,更多地关注了社会和工业界的意见。基于安全、并行和网络计算等方面的新要求,对CS2001中知识领域的知识单元及相应课程进行了补充和更新,完成了计算机科学教程CS2008[2]。ACM和AIS于2010年再度合作,发布了更新版信息系统教程IS2010[3]。
二、CS2013的要点
ACM和IEEE-CS联合任务组于2010年秋季启动了计算机科学教程的修订工作。首先,由美国大学1500名计算机及相关系主任和世界范围大学2000名系主任对CC2001和CS2008的知识体系进行评估;其次,根据评估意见制订知识体系的修改方案,组织专门的小组具体负责各个知识领域的起草;最后,通过会议交流和网上问卷等形式广泛征求高等院校、工业行业领域以及社会多方面专家的意见,统筹协调处理各个知识领域之间的冲突和相容,形成知识体系的最终版本。此后,联合任务组于2012年夏季开展了课程和培养方案设计的案例评估工作,2013年12月发布了计算机科学教程CS2013[4]。
CS2013中的知识体系包括了18个知识领域: 算法与复杂性(AL:Algorithms and Complexity),体系结构与组织(AR:Architecture and Organi- zation),计算科学(CN:Computational Science),离散结构(DS:Discrete Structures),图形学与可视化(GV:Graphics and Visualization),人机交互(HCI:Human-Computer Interaction),信息保护与安全(IAS:Information Assurance and Security),信息管理(IM:Information Management),智能系统(IS:Intelligent Systems),网络与通信(NC:Networking and Communications),操作系统(OS:Operating Systems),基于平台开发(PBD:Platform-based Development),并行与分布式计算(PD:Parallel and Distributed Computing),程序设计语言(PL:Programming Languages),软件开发基础(SDF:Software Development Fundamentals),软件工程(SE:Software Engineering),系统基础(SF:Systems Fundamentals),社会与职业问题(SP:Social Issues and Professional Practice)。
知识体系中的大部分知识领域是对CC2001/CS2008中知识领域的修订,其中一些知识领域改动比较大,另外一些知识领域则是新增加的。其中,有些是为了适应计算技术发展的需求,例如,基于计算机和网络安全的要求所增加的信息保护与安全(ISA)知识领域。有些则是为了更加符合实践应用而进行的知识重组,例如,软件开发基础(SDF)知识领域是软件开发相关的基础知识和技术的重组,涵盖了原来分散在程序设计基础、软件工程、程序设计语言、算法与复杂性中的知识单元。类似地,系统基础(SF)知识领域将原来许多知识领域中系统相关的概念和基础知识组织在一起。值得注意的是,这些知识领域中的知识单元是相互联系和相互补充的,它们是完整的统一体。
CS2013提供了不同大学和学院的案例课程121门,这些课程从不同侧面体现了知识领域中的各个知识单元组合成课程的不同方式:一门课程可能包含有多个知识领域中的知识单元,涵盖某个知识领域可能需要多门课程。CS2013也提供了5所不同大学和学院的核心课程设置案例,这些案例展示了如何通过知识单元实例化将完整的知识体系分配到专业培养方案中的一系列核心课程中。这些案例不仅共享了课程和核心课程设置的经验,而且展现了不同的教育理念。
CS2013具有如下一些特点:
(1)适应技术发展和社会需求,知识体系中14个知识领域调整为18个。为了充分体现计算机科学是一个宽口径专业的特点,涵盖了数学、物理学、心理学、统计学、艺术、电气、生命科学等领域知识;为了培养学生适应不同职业的能力,拓宽了专业知识领域,包括计算x(computational-x,如计算金融、计算化学),x信息学(x-informatics,如经济信息学、生物信息学)等。
(2)梳理和评估基本核心知识,通过优化知识单元配置控制学时总量。计算机科学的技术发展速度非常快,为了兼顾及时更新知识和控制学时总量,对原有知识体系中的知识单元进行评估和优化配置。不仅总学时量保持在CS2008的相当水平,而且确保了计算机科学教育必须具有的基本知识,并提供了更加灵活的教程模型。
(3)适应人才培养特色化需求,实现了核心知识领域和单元的层级化。高等院校的特点和培养人才的特色各有不同,不可能采用完全一致的培养方案,各个高等院校需要根据自身的基础、环境和特点来构建个性化的培养方案。为了满足不同学校人才培养的需求,建立了“一级核心、二级核心、选修”三级化知识领域和单元模型。这也有利于学生灵活地选择应当掌握的基本技术和知识。
(4)为了促进教学改革和实践,提供了课程和专业培养方案设计案例。通过遴选成功的课程设计案例和专业培养方案案例,提供了切实可操作的课程设计方法和人才培养方案改革模式。不同高等院校可以从中得到借鉴,通过制订清晰、可执行的目标,建立适合自身特点、及时灵活适应领域技术变化和社会需求的课程和专业培养方案。
三、几点启示
我国教育部高等学校计算机科学与技术教学指导委员会于2006年发布了《高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)》,提出了以“规格分类”为核心思想的计算机专业发展建议,将计算机相关专业人才培养分为科学型、工程型和应用型三类[5]。在此框架下,2009年发布了程序设计基础、离散数学、数据结构与算法、计算机组成原理、计算机网络、操作系统、数据库系统、软件工程8门核心课程的不同层次人才培养教学实施方案[6]。这些工作对于我国计算机类专业人才培养具有重要的指导意义。
《普通高等学校本科专业目录和专业介绍(2012年)》将计算机类专业分为计算机科学与技术、软件工程、网络工程、信息安全、物联网工程、数字媒体技术6个基本专业和智能科学与技术、空间信息与数字技术、电子与计算机工程3个特设专业[7]。据此统计,目前我国计算机类专业的布点总数为2481个,大量分布在地方高等院校。根据我国高等教育发展战略和社会需求现状,地方高等院校办学定位应侧重于应用型人才培养,尤其是新升格本科院校,应凸显地方性应用型人才培养特色。计算机类专业办学历史较短,加之计算机技术更新速度较快,本科计算机类专业应用型人才培养还存在许多问题亟待解决。借鉴和学习以CC20xx为代表的国际计算机教育的先进思想和理念,将是大有裨益的。从CS2013,可以得到如下启示:
(1)需求为导向的应用型人才培养方案。计算机应用型人才需要“更了解各种软/硬件系统的功能和性能,更善于系统的集成和配置,更有能力管理和维护复杂信息系统的运行”。计算机类专业应用型人才培养应该及时跟踪和分析行业产业的发展需求,结合各自学校的培养特色定位,确立自身的专业人才培养方向;依据培养方向梳理相应的专业知识,确定与之相适应的专业课程;从专业课程的技术知识支撑角度,确定对应的专业基础课程;基于专业基础课程的基础知识支撑,确定适合的基础课程。由此,逐级构建计算机类专业本科应用型人才培养的课程设置计划和教学大纲。
(2)计算机类专业应用型人才知识体系。教育部高等学校计算机科学与技术教学指导委员会于2006年发布的《高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)》,将计算机科学专业知识体系划分为14个知识领域、132个知识单元。计算学科的知识更新和行业产业技术进步较快,应当及时组织相关教学和工业行业界专家,借鉴CS2013,对专业知识体系进行拓展和修订,颁布新的专业规范。尤其是要充分考虑满足不同高校本科应用型人才培养的需求,建立多级化的知识领域和单元模型,以便于不同高校灵活地制订适合各自培养特色的核心课程体系。
(3)课程案例和系列核心课程设置案例。从知识体系的知识领域和知识单元出发,构建与计算机类专业本科培养方案相适应的核心课程是应用型人才培养中的关键环节,为不同高等院校特色性人才培养留出了充分发挥的空间。我们需要及时从计算机类专业本科应用型人才培养有丰富办学经验的高等学校中,遴选一批典型核心课程案例、系列核心课程设置案例,举办系列教学改革研讨会和宣讲会,发挥其示范作用。这对于新办本科计算机类专业的院校,尤其是新建应用型院校,具有重要的指导意义和积极的促进作用。
(4)应用型人才培养系列核心课程教材建设。我国举办计算机类专业本科人才培养的高等院校数目较多,学校的办学历史和办学特色呈现多样性。大量院校教学采用的是选择已有的传统教材,这些教材许多出自国内“985工程”、“211工程”建设高校,部分出自具有一定办学历史的原部委所属高校,有些也选择了国外原版或翻译的经典教材。这些教材对本科计算机类专业应用型人才培养发挥了积极的作用。但是,计算机类专业本科应用型人才培养系列核心课程教材的建设工作还远远不够,需要精心组织和统筹规划,建设一批与典型核心课程案例、系列核心课程设置案例配套的课程教材。
(5)适用于应用型人才培养的师资队伍。本科计算机类专业应用型人才的培养需要一支精良的教师队伍来支撑。不仅要求教师们具有扎实的专业基础知识,而且要求具有丰富的工程实践经验以及现代技术知识的快速汲取和更新能力。在师资队伍建设中,一方面要重视“双师型”教师队伍的占比,另一方面要加强教师在岗期间的企业实践和行业体验培训。此外,行业产业领域专家和工程师参与人才培养过程也是极为重要的,包括:专业培养方案的制订和修订、理论和实验实践教学内容的更新、教学条件和实验平台的改革、校企联合实验室的共建等。
参考文献:
[1] The Joint ACM/IEEE-CS Task Force on Computing Curricula. Computing curricula 2005-the Overview Report[R]. ACM and IEEE Computer Society, 2005.
[2] The Joint ACM/IEEE-CS Task Force on Computing Curricula. Computer Science Curriculum 2008: An Interim Revision of CS 2001[R]. ACM and IEEE Computer Society, 2008.
[3] Joint IS 2010 Curriculum Task Force. IS 2010: Curriculum Guidelines for Undergraduate Degree Programs in Information Systems[R]. ACM and AIS, 2010.
[4] The Joint ACM/IEEE-CS Task Force on Computing Curricula. Computer Science curricula 2013[R]. ACM and IEEE Computer Society, 2013.
[5] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)[M]. 北京:高等教育出版社,2006.
[6] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业核心课程教学实施方案[M]. 北京:高等教育出版社,2009.
[7] 中华人民共和国教育部高等教育司. 普通高等学校本科专业目录和专业介绍(2012年)[M]. 北京:高等教育出版社,2012.
[责任编辑:余大品]