首页 -> 2008年第1期
如何使专业办学从经验走向科学
作者:蒋宗礼
们锻炼和获得顶峰体验的机会,实现对他们的创新精神、创新意识、创新能力的培养。因此,本科专业的教育内容体系可以看成二维的结构,这个体系以分支学科的知识体系为基础,中间为学科方法学,上层是本科培养中技能要求的主题——相关技术。在有关细节描述上,CC2005(Computing Curricula 2005)给出了一套值得学习和借鉴的形式和方法。
CC2005是在“计算作为一个学科”、CC1991(Computing Curricula 1991)、CC2001的基础上发展来的。CC1991提出用知识领域、知识单元、知识点构成知识体系,替代传统的课程作为专业教育的基本要求。CC2001继承了这种科学描述,同时给出了课程设计思想和课程设计示例,并关注了计算学科的发展。此后的CC2005给出了各个分支学科的问题空间、知识取向、能力要求,定性、定量地描述了相应分支学科的毕业生的相关教育定位和要求。
1、知识体系
知识体系给出专业教育知识方面的基本要求。在知识体系的构建上,认为计算学科是由多个分支学科组成,每个分支学科包含多个知识领域,每个知识领域包括若干个知识单元,它们可以是必修的,也可以是选修的,而知识单元又由若干个知识点组成。
学科知识体系并不总是和本科专业教育的知识体系是相同的。可以认为,狭义的学科知识体系仅指学科本身的知识,并不包含更基础性的。例如,在软件工程分支学科,SWEBOK给出了学科本身的10个知识领域:软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量。而SEEK给出的是本科教育知识体系,它也是10个知识领域,共494必修学时:计算基础(CMP)、数学和工程基础(FND)、专业实践(PRF)、软件建模与分析(MAA)、软件设计(DES)、软件验证与确认(VAV)、软件演化(EVL)、软件过程(PRO)、软件质量(QUA)和软件管理(MGT)。其中后7个知识领域是SWEBOK的知识领域整合后得到的,前3个是添加的,用于反映计算学科本科教育基础内容,共296必修学时,占59.9%。
2、问题空间
问题空间以二维的形式给出分支学科覆盖范围的定性描述,在一定程度上回归到人们头脑中习惯的专业印象。其横坐标从最左边的“理论、原理、创新”到最右边的“应用、部署、配置”,从倾向理论逐渐延伸到倾向应用:纵坐标则由下而上分成计算机硬件体系、系统平台结构、软件开发、应用技术、系统组织行为。不同的分支学科占据其中不同的部分。
3、知识取向
知识取向则给出了各个分支学科程序设计基础、软件设计、程序设计语言理论等56个方面知识要求的不同最小和最大权重,用0~5表示。当某种知识的最小权重和最大权重都是5时,表示该分支学科对这种知识要求极高;如果都是0,则表示根本不要求。也存在最小为0,最多为5的知识。例如,科学计算(数值方法)对计算机科学来说就是这样。表明科学计算对计算机科学来说可以是不要求的,也可以是要求最高的。实际上,大约在20年前,科学计算是计算机科学的重要领域,而发展到现在,许多数值计算系统已比较成熟,计算机科学的人直接研究科学计算的就很少了。
4、能力要求
为了反映高等教育包括知识、能力、素质三方面的要求,CC2005给出了计算学科中不同分支学科对算法、应用程序、计算机程序设计、硬件与设备等11个方面59种能力的要求。权重仍然用0~5表示。与知识取向相比,这里只给出了一个值。例如,对计算机科学、计算机工程、软件工程、信息系统、信息技术来说,它们对小规模程序设计能力的要求权值依次为5、5、5、3、3,对大规模程序设计能力的要求权值依次为4、3、5、2、2,而对选择数据库产品能力的要求权值依次为3、1、3、5、5。
5、课程体系
每一个专业的教育,都有自己的定位。我们要求这些定位是明确的,有特色的,在某种意义上是可以评测的。在这个基础上去构建课程和课程体系,以实现要求的能力的培养,实现专业的培养目标。
各个分支学科的所有核心知识单元是该分支学科教育的基本内容,其问题空间、知识取向、能力要求给出了另一角度的要求。这些内容,尤其是知识体系给出的内容,需要最终以课程的形式落实到教学中。通常以知识点作为组成课程的基本单元,必修课程实现对必修知识单元的完全覆盖,一个必修知识单元的知识点可以含在不同的课程中,一门课程可以含来自不同知识单元(领域)的知识点,所有必修课程中所含的必修知识单元的学时总数等于知识体系中该知识单元的学时数。作为体现自身的专业特色的一个方面,各个学校可以用不同的思路建立不同的课程体系,规范(教程)中给出的课程体系通常只是示例性的。
三、课程为专业目标服务
在总体目标下,特别强调课程为实现专业目标服务。作为教育的最终实施者,教师需要掌握课程在人才培养中的地位和作用,并在教学过程中加以实施。同时要努力使学生理解这些,以便学生在学习中能够给予良好的配合。因此,发展战略、专业规范等都应该最终体现在教师的教学活动中。所以,通过广泛的宣讲活动等,使广大的教师了解专业发展、专业规划、专业教育的基本要求,是非常有必要的。另外,鼓励教师掌握课程体系,有意识地瞄准专业教育目标开展教学活动,对促进教育目标的实现是非常有利的。
例如,“编译原理”是计算机科学与技术专业一门重要技术基础课程,其课程基本目标应该是“掌握‘编译原理’中的基本概念、基本理论、基本方法,在系统级上再认识程序和算法,提升计算机问题求解的水平,增强系统能力,体验实现自动计算的乐趣”。课程努力使学生掌握程序变换基本概念、问题描述和处理方法。包括本学科自顶向下、自底向上、逐步求精、递归求解,目标驱动,问题分析、问题的抽象与形式化描述,算法设计与实现,系统构建、模块化等最经典、最常用的问题求解和系统设计方法。使学生修养“问题、形式化描述、计算机化”这一典型的问题求解过程,推进从“实例计算”到“类计算”和“模型计算”的跨越。从宏观到微观、从微观到宏观,培养系统能力;增强理论结合实际能力,在理论教学和实践教学中让学生获得更多的“顶峰体验”。
所以,课程的内容体系的设计要关注三方面的内容:首先是课程的基本内容,要选择最佳知识载体。此时要确定课程的基本内容、重点和难点。其次是解决“教什么”的问题,需要进一步弄清楚向学生传授什么?引导学生干什么?确定对先进的教育理念、思想、方法的体现。第三是解决如何教的问题,也就是如何利用选定的知识载体,通过恰当的教学方法融教育于课程教学。
结束语
当教育摆脱师傅带徒弟的原始形式后,就开始从经验走向科学。经过发展,经验越来越多地沉淀成科学,使教育的科学成分越来越多,以此来应对越来越复杂的教育状况和越来越高的教育要求。计算机科学与技术学科作为一门年轻的学科,其教育的科学化有更多的工作要做。例如,一些科学家已经提出“工具”和“规律”、“系统”和“原理”的选择问题。在教学内容上, 关于“工具”和“规律”的选择,有的学校实际上自然不自然地会偏向“工具”;而在知识领域、课程的设计中,在“系统”和“原理”之间,我们当前实际上更多的是面向系统,而不是面向原理。几乎所有的人都认为这是不恰当的,但这正是我们对学科与专业的认识的局限所造成的事实。要改变这种现状不是一件容易的事,正所谓“路漫漫其修远兮”。
责任编辑:文和平
[1]