首页 -> 2007年第11期

构建计算机科学与技术专业公共核心课程

作者:蒋宗礼 王志英 李晓明 孙吉贵 樊晓桠




  摘要:《高等学校计算机科学与技术专业战略研究报告暨专业规范(试行)》提出了计算机科学与技术专业教育按方向实施规格分类培养的方案。为了推进其实施,本文从学科专业的公共基础出发,构建了一组四个方向公共的核心课程,形成对各个方向核心知识单元的部分覆盖,它们可以作为本专业教学计划中的学科专业核心课程基础平台,利用这些课程作基础,给出了各个专业方向的课程体系示例。
  关键词:课程体系:核心课程;核心知识体系
  
  计算机科学与技术学科虽然很年轻,但它已经成为一个基础技术学科,在科学研究、生产、生活等方面都占有重要地位。近50年来,我国的计算机科学与技术专业教育在国家建设需求的推动下,从无到有,逐渐壮大,尤其是从20世纪90年代以来,更是高速发展,已经成为理工科第一大专业。
  针对计算机科学与技术专业学生量大,社会需求面宽的现实,“十五”期间,教育部高等学校计算机科学与技术教学指导委员会编制了《高等学校计算机科学与技术专业战略研究报告暨专业规范(试行)》(高等教育出版社出版,2006年9月第一版,以下简称为《规范》)。其中,“战略研究报告”建议改变当前我国计算机科学与技术专业教育的趋同性,鼓励办学单位对毕业生的分类培养,取4个可能的方向,即计算机科学、计算机工程、软件工程以及信息技术。《规范》参照Computing Curricula 2005,分别详细给出了四个方向的核心知识体系,以及覆盖它们的必修课程组示例。
  《规范》体现出的“分类培养”精神得到了广泛认同,人们普遍认为中国800个左右的计算机科学与技术本科专业点,按同一种模式或者培养方案进行教学是难以满足广泛的社会需求的,许多学校也希望得到分类培养的具体指导。但是,如何理解和实现“信息技术”等新的专业方向的教育,如何利用已有的基础,更好地实践《规范》,成为大家关注的问题。
  为了能更好地利用现已建成的国家、省部级精品课程、精品教材等优质资源,希望能够按照4个专业方向公共要求来构建一些基本课程,每一个方向都可以通过在这一组课程的基础上进行扩展来形成符合《规范》的完整的专业方向教学计划。这一组课程是“耳熟能详”的,无论是从师资还是教材的角度,在开始走向规格分类实践时,也是一种现实做法。
  
  一、核心课程选取的原则
  
  本项研究的基本目的是要推荐一组课程,当办学单位希望按照《规范》描述的知识结构制定自己的教学计划时,无论四个方向中的哪一个,都能够比较方便地在这组课程的基础上进行扩充而实现。显然,符合这个要求的一组课程不是惟一的,我们着重考虑了如下几点原则。
  
  1.体现公共要求
  《规范》将计算机科学与技术专业划分成4个专业方向,虽然他们有着不同的问题空间、能力要求、知识结构和课程体系,但还是有共性的部分,这也是作为同一个专业的不同方向所决定的。公共核心课程应该能够将这些公共的要求涵盖进去,实现在课程层面上对公共知识体系、专业培养公共要求和基本特征的体现。
  
  2.有利于构成优化的课程体系
  公共核心课程需要与其他相关课程一起才能构成完整的教学计划,所以,这些课程需要易于与相关课程结合,构成不同专业方向的课程体系。
  同时我们注意到,近些年来,许多学校在制定新的教学计划中,采用了设置分级平台的基本框架。例如,要求教学计划由公共基础、学科基础、专业基础等组成。考虑到计算机科学与技术专业对应到计算机科学与技术学科,这些课程可以适当照顾到学科的要求,构成一个既照顾到学科,又照顾到专业的基础平台,给人们制定有特色的教学计划提供一定的基础,使得人们能够方便地构建完整的、全局优化的专业教育课程体系。
  
  3.充分考虑学时的限制
  由于公共核心课程相当于学科、专业平台的基本内容,所以,只能做一个较小集合,而且课程的学时数要尽可能小,目标在于体现专业教育的最基础要求,同时给具有特色的完整的教学计划的制定留有足够的空间。特别是近些年来,不少学校已经将教学的总学时数降到2500学时以下。所以按照20%计算,将公共核心课程的总学时控制在500学时以内。
  
  4.尽可能成熟的课程
  计算机科学与技术专业开办50余年来,积累了丰富的办学经验,一些课程的建设取得了很好的成果,已经具备良好的基础,这些课程将在专业教育中起到核心、骨干作用,将这些课程进行适当改造后构成公共核心课程,有利于充分利用已有的优质资源,迅速提高整体办学水平。所以选取的课程应该是“耳熟能详”的成熟课程。
  
  5.体现本专业教育基本特征
  课程要体现学科教育的一些基本特点。例如,虽然计算机科学与技术学科涉及到计算机理、工程实现和开发利用,但对大多数人来说,计算机科学与技术学科是一个以技术为主的学科,特别是在本科教育层面上更是如此。所以课程要对技术和学生的技能训练有较好的体现。除了学科抽象、理论两大形态使得初学者在理解上有一定的困难,需要通过实践去深入体会外,还要考虑社会要求本专业的学生能够更好地去实现一些系统的研究、构建和维护。因此,选择的课程应该在加强学生理论联系实际能力的培养上有引领作用。此外,在本学科发展异常快速的时候,这些课程相关的内容应该是成熟的、基础的,有利于学生可持续发展能力培养的。
  
  二、核心知识体系
  
  这里给出计算机科学与技术专业公共核心知识体系,力求从不同专业方向的公共需求出发,给出该专业的学生应该具备的一些基本知识,我们并不试图包括各个专业方向教育要求的全部知识,每个专业方向都需要在此基础上按照专业方向的教育需要增加所需要的知识,以构成完整的专业方向知识体系,其具体内容可以参考《规范》。由于是基本知识,是学生必须掌握的,所以,没有包含推荐的选修知识。该知识体系共包括8个知识领域,39个知识单元,共342个核心学时。其中,
  (1)离散结构(DS)60核心学时,包括函数、关系与集合、基本逻辑、证明技巧、图与树。
  (2)程序设计基础(PF)67核心学时,包括程序基本结构、算法与问题求解、基本数据结构、递归、事件驱动程序设计。
  (3)算法(AL)28核心学时,包括基本算法和分布式。算法。
  (4)计算机体系结构与组织(AR)60核心学时,包括数据的机器级表示、汇编级机器组织、存储系统组织和结构、接口和通信、功能组织。
  (5)操作系统(OS)32核心学时,包括操作系统概述、操作系统原理、并发性、调度与分派、内存管理、设备管理、安全与保护、文件系统。
  (6)网络及其计算(NC)48核心学时,包括网络及其计算介绍、通信与网络、网络安全、客户,服务器计算举例、构建Web应用、网络管理。
  (7)程序设计语言(PL)13核心学时,包括程序设计

[2]