首页 -> 2008年第8期

以能力培养为导向 提高计算学科教育教学水平

作者:蒋宗礼




  摘要:确定恰当的培养目标,并按照培养目标建立相应的课程体系,通过将教育融入教学活动,有意识地、积极主动地按照培养目标规定的能力要求开展有效的教育活动,提高计算学科教育教学水平。
  关键词:能力培养;计算学科;教育教学水平
  
  在计算学科(即计算机学科)中,不同的分支学科面对不同的问题空间,强调学科不同形态的内涵,根本问题也不同。计算机科学、工程、应用的根本问题分别是“什么能被有效地自动计算”、“如何低成本高效地实现自动计算”、“如何方便有效地利用系统进行计算”,其偏向由此可见一斑。面对计算机专业办学规模大的现实,需要按照不同的分支学科,以规格分类的思想,围绕着相应能力培养的需求,定义各分支学科本科教育知识体系,构建恰当的课程体系。特别要求教师掌握总的教育目标和所授课程在人才培养中的地位和作用,围绕总目标,以知识为载体,通过研究型教学,实现对学生基本学科能力、可持续发展能力和创新能力的培养。通过构建与理论教学有机结合的实践教学体系,积极开展实践教学,进一步提高教育教学水平,有效地实现计算机专业人才的培养。
  
  一、按照社会的需求改善教育教学的有效性
  
  自1996年以来,我国的高等教育规模有了一个飞速的发展,大学教育早已步入大众化阶段。因此,必须调整观念,面对社会的需求,不断改进教育教学的适应性和有效性。
  我们首先注意到,计算学科虽然是一个年轻的学科,但它已经成为一门基础技术学科,在各个学科发展中扮演着非常重要的角色。特别是近些年的发展,更使他成为信息化建设的核心技术。推进信息化建设,不仅需要更先进、更便于使用的先进计算技术,同时也需要大批的建设人才。瞄准这一需求培养计算机专业人才,是计算机科学与技术及其相关专业的历史使命,也是实现专业教育从供给导向型向需求导向型转变的关键。
  分支学科的不同,社会需求的多样,拥有条件的差异,决定了教育者和受教育者适应面的不同。为了追求这些资源效益的最大化,学校必须根据社会需求、学校的特点、专业的特点、师资的特点、学生的特点(1个需要,4个特点),确定一个准确、具体的培养目标,并围绕着目标开展有效的教育教学活动。这是落实科学办学的“关键点”。
  多年来,不少教师并没有给予培养目标足够的重视,即使是教学计划的制定者,不少人也没有深入地去研究它,而是将教学计划中的“专业培养目标”看成是一段“框架性的文字”。就计算机科学与技术(类)专业而言,不同类型大学计算机专业“写出来的”培养目标大同小异。这意味着800来所学校的几十万计算机专业的在校生的培养定位的趋同性。这种趋同性不仅因抹杀了教育者和受教育的个性而浪费了宝贵的人力资源,更使一些人的培养在一定程度上难以满足社会的实际需求。教育目标的不明确、不合理,导致了目标实现有效性的部分丧失。
  为了促进这一问题的尽快解决,2006-2010教育部高等学校计算机科学与技术专业教学指导分委员会提出了计算机人才分类培养的专业发展战略思想,并在专业认证试点中进一步强调培养目标的准确化和具体化。
  
  二、设计课程体系
  
  对一个专业来说,科学的做法是先确定问题空间、能力构成、知识结构,然后再按照一定的思路设计课程体系。CC2001(Computing Curticula 2001)按照基础课程、核心课程、高级课程等三个层次进行设计。通常的理解是;基础课程用来奠定基础;核心课程构成专业教育的主干,他们要实现对专业核心知识体系的基本覆盖;高级课程用来完备课程体系,使他实现对核心知识体系的完整覆盖,并能很好地关注学科的发展。图1给出的另一个重要的问题是,按照能力培养的要求,教学计划绝不是一组课程的“集合”,而是一系列包含教育成分的教学活动构成的系统,课程是成系列的,是面向专业能力逐渐养成的。
  
  例如,计算思维能力是计算机专业人才的最基本最重要的能力之一,为了培养这一能力,通常会先安排学生学习数学分析为代表的、以实数为主要运算对象的课程。接着学习以离散数学为代表的课程,可以包括集合论、图论、数论、数理逻辑、近世代数等。在这些课程中,运算对象变成以抽象集合及元素为主,它们构成了一系列的基本运算系统,对应计算机科学与技术学科处理对象的基本形式。由于计算对象的变化,使得思考问题的特征发生了变化,多年的实践表明,要想较有效地实现教学目标,连续和离散相关的课程在时间上是不宜重叠的。
  在离散数学之后,如果有机会继续向前推进,则应进入计算系统的学习,只有进入了“计算系统”阶段,才能真正满足计算学科教育的基本要求。此时,形式语言与自动机理论是一门很恰当的课程。到此方构成一个较完整的计算思维能力训练梯级系统,如图2所示。美国大约在十几年前就在本科教育中实现了这种推进。受各方面条件的限制,这一推进在我国的一些院校里被放在了硕士研究生教育阶段完成。
  
  经过这一系列的训练,学生面对的计算才真正完成从作者所称的单一具体的“实例计算”迁移到一般的、形式化的“类计算,模型计算”,同时实现思想境界的迁移。所以,虽然在20多年前数值分析(计算数学)还是计算机专业的重要专业课,而今天则已经变成计算机科学分支学科的可选内容。而对其他分支学科来说,则是不要求的。
  要想使学生实现这种迁移,就必须有意识地在这些课程中做出“渐进”的努力,使学生一点点地习惯“计算机处理问题的形式和方式”,以便按照计算机的“习惯”设计“程序”。
  
  三、掌握课程体系和课程的地位与作用
  
  教师是教学计划的实施者,因此,为了保证总体教育目标的实施,每位教师都必须掌握培养目标、课程体系、课程体系与培养目标的关系、课程的作用与地位,懂得如何在自己的教学活动中实现课程的作用,并能够在教与学的过程中有意识地去落实,通过其作用的发挥来提高课程效果,以有效地保证教育目标的实现。
  过去,一段时间,一些人对“编译”课程(通常称为编译原理、编译方法、编译技术等)的作用持怀疑态度。认为毕业生很少有人将设计与实现编译系统,所以这一课程是没有用的。实际上,编译原理涉及的是一个适当抽象层面上的数据变换,既有明确的、便于抽象的问题,又有较成熟的理论,而且在限定规模下又容易实现(设计),除了知识外,还含有基本问题求解的典型技术和方法。所以,编译原理的教学目标是使学生掌握终生受用的一些基本思想与方法,在系统级上再认识程序和算法,提升计算机问题求解的水平,增强系统能力,体验实现自动计算的乐趣。包括掌握程序变换基本概念、问题描述和处理方法(自顶向下、自底向上、逐步求精、递归求解,目标驱动,问题分析、问题的抽象与形式化描述,算法设计与实现,系统构建、模块化);修养“问题、形式化描述、计算

[2]