课程制订工作综述
过去几年在计算机科学和计算机工程教育领域中,课程制定工作有了很大发展,尽管碰到了大量困难,有时争论热烈,大学和工业若干团体已经制定了内容相当复杂的计算机科学和计算机工程标准课程。至今在许多大学里,学生只能在计算机科学课程或计算机工程课程之间作出抉择,而不能同时选择计算机科学和计算机工程全部课程。如果一个大学生参加工作以后对他将要面临的任务准备不足,肯定会给他本人带来不幸的后果。
目前看来,根据ACM(计算机联合会)和IEEE(国际电气和电子工程师协会)计算机协会的建议和大学现有课程来规划计算机科学课程发展趋势的做法还是正确的。需要改革和加强的课程有:分布系统、通信系统以及网络,模拟系统设计概念,软件工程概念,计算机辅助设计工具和辅助设备,应用概念(例如问题分析、规模和性能评价的概念),有效性、可靠性及可维修性概念,系统寿命周期概念,管理概念,通信技术和概念。
计算机科学和计算机工程课程制订工作
大量的课程制定工作起始于六十年代初。在这之前,计算机教育和训练的主要力量是计算机生产厂本身。为了填补计算机人员在供需之间的巨大空白,五十年代纷纷建立了大量私立计算机学校。在工业界和专业团体的赞助和指导下,高等院校在六十年代就开展了计算机教育。
在1963年ACM年会上就计算机科学和计算机工程教育召开了专门小组会议,其讨论结果已登载于1964年4月“ACM通讯”上,后来就发展成为大学肄业生计算机科学教学大纲初步建议,该建议系由ACM计算机科学课程委员会所制订并在1965年所公布,最后在国家科学基金资助下扩充成为比较全面的建议即著名的“课程‘68’”。大体与此同时,工程教育委员会下属电气工程计算机科学教育委员会专门制定了电气工程方面计算机科学方针,并建议作为大学肄业生课程教学大纲。这两者后来就被确定为计算机科学和工程教育的学习和研究范畴。1968年以来专业团体的会员和专门小组发表了大量论文和报告。
大学肄业生课程制定工作制订课程方面最新完成的工作,是由IEEE计算机协会在1976年公布的定稿,和ACM在1977年6月公布的初稿。关于课程的摘要连同由Engel编写的两种课程建议的仔细比较,分别列于图1、图2和图3。目前已有12所大学采用上述课程建议,同时还对它们做了大量分析工作,对报告未涉及的范围提出了建设性批评意见,而对其建议内容却是一致赞成的,认为必须把商业信息系统、数据处理系统、保健信息系统等都包括在计算机科学和工程领域中,还建议设置诸如软件工程一类的应用课程。大学肄业生课程一般都切实可行,因为工业、大学和政府所采用的方针和建议都是通过专业团体拟订的。这样做,或许有助于缓和四年制教学大纲中低年级计算机科学课程注册人数日益增加的矛盾。另外,这些人在上课时对介绍计算机设备以及使用小型和微型计算机可能有所帮助。
除了转学课程以外,学院是否有必要把全部计算机科学教学大纲编到应用课程中去是值得怀疑的。职业市场的趋势很清楚,它将雇用至少获得学士学位的大学毕业生,根据Hamblen调查,每名获得学士学位的大学毕业生大体有从事十种职业的可能性,两年制毕业生起码也可找到初级程序员一类工作。
大学毕业生课程制订工作大学毕业生课程制定工作没有大学肄业生课程的进度快。IEEE计算机协会和ACM都在积极从事大学毕业生课程制订工作,但至少还要一、二年时间才能拟出其方针和建议。至今在大学毕业生课程制定工作中,只有个别大学能发挥作用,这跟教师对这项工作是否重视关系甚大。
继续教育课程制订工作关于继续教育的一些课程和教学大纲,在课程制订工作中通常都有重大争议。继续教育广义上指对职员进行的教育,其制订工作在颇大程度上取决于本地工业的需要,其理论性将保持在最低水平上。由于职员需要掌握诸如微处理器一类新技术,这类教育将保持持续增长。许多专业团体都在从事制订继续教育的方针和建议。IEEE计算机协会理事会中许多工业界人士,都具有从事继续教育的经验。
影响计算机教育的若干因素
技术变革的影响在今后十年中,计算机技术的不断革新以及计算机在社会中作用的不断扩大,势必对计算机科学和计算机工程教育产生重大影响。
微型计算机系统的影响微型计算机系统的普及,必将对计算机科学和计算机工程教育产生重大的影响。目前人们已有可能以595美元买到“畅销”的计算机成套元件,而且这个价格仍在不断降低。我们在使用分批和分时大型计算机系统许多年后,发现自己又面临着小型计算机系统的许多问题,例如小型计算机系统固有的局限性以及大学生对它是否易于理解和适用。这个技术上的演变,给教育工作者带来了许多问题,他们已经试图使自己适应这个具有深远影响的技术变化,但是关于阐明如何把微型系统编到计算机科学课程的一些文章直到最近才有发表。几乎所有的作者都一致认为,微型计算机实验室设备,可使学生了解一些概念和问题,诸如应用硬件、计算机运行、操作系统、后备程序、程序规模、机内通信、维修以及计算机管理的概念和问题。这类问题学生在毕业以后都会碰到。小型和微型计算机实验室,可给学生提供处理上述问题的实际经验,而这在过去根本无法做到。
计算机与社会的关系在讨论对“全体公民”进行计算机教育重要问题时,“计算机与社会”课程就显得很重要。在不同学校里讲授上述课程,主要采取两种方式:第一种方式讲授某些程序设计方法以及讨论若干问题,第二种方式不讲授程序设计方法,仅在讨论各种专题之前介绍计算机系统的一些基本名词和概念。“计算机与社会”课题正在变得日益普遍,八十年代最重要的问题之一或许是要对每个普通公民都进行计算机教育,使他们有可能获得充分的信息来正确理解诸如中央数据库的含义、电子划账的处理和控制、计算机辅助指令或者计算机管理指令,以及存贮和处理绝密信息计算机系统的安全性。今天大多数人只是简单地把计算机看作是一种威力强大的工具,他们把一切都归咎于计算机,而往往没有意识到人类所作出的许多重大贡献,所以必须进行巨大的努力来提高他们的认识水平,使他们对计算机的作用作出恰如其分的评价。如此大规模的教育,绝不可能通过常规的上课方法来完成,而必须大规模地使用通信技术,于是就考虑到利用公用电视和电台的教育节目作为解决这个问题的途径。随着计算机技术的不断进展,今后十年内或许有可能向装有终端和计算机的家庭观众讲授电视课程;对于没有计算机设备的观众,则可以利用“故事方式”节目来阐明使用计算机的方法。为了对大多数人进行计算机教育,还应该不断地探索更多的有效途径,这是教育工作者在八十年代甚至一直到2000年面临着的一个最重要的任务。
大学和工业合作的必要性在未来竞争(特别是国际竞争)日益加剧的情况下,工业将要求比现在高得多的生产效率。为了使学生受教育的基础能跟工业日益复杂的要求相适应,大学和工业就必须加强合作。设置计算机科学和工程教学大纲的目的,在于要培养受过良好教育和训练的大学毕业生,使他们能对公司的经济利益作出贡献。它将主要表现在生产技术和经营管理方面。接受这种正规训练的大学生,不但能增长技术知识,而且能同时熟悉技术管理和公司制定政策的复杂性。但在大学和工业合作中,双方都发现所抱的宗旨和目标存在着很大的差距(甚至大分歧),应该创造一种合作环境,使大学和工业之间的教育和研究活动以及人员轮换都能正常地进行。我们从斯坦福大学、麻省理工学院以及卡内奇-梅隆大学跟工业建立联系例子中可以看出,这种合作关系是多么勉强和困难!
国际竞争和合作的影响
美国计算机工业将面临着来自国际计算机集团日益加剧的竞争。世界上国民生产总值比重较高的国家如日本、英国、西德以及法国,都致力于研究,其中发展计算机系统所占的比重正在与日俱增,国外发表的技术论文质量看来比过去要高,大学和工业也许还不准备应付对美国的这个挑战。再从国际合作成果来看,由外国团体应邀所作标准课程报告拷贝的数量,以及世界主要大学就课程信息和特邀讲授课程制订情况所作正式调查报告的数量,都是很值得重视的。事情很清楚,计算机科学和工程领域的迅速发展,使得课程制定工作已成为全世界的事情,联合制订课程的工作必然会变为现实。
各个计算机协会之间的合作是非常重要。重复劳动是个普遍存在的问题,计算机领域尤为突出,因为计算机发展如此迅速,经常使人处于手忙脚乱状态中。为了控制这种局势,多年来AFIPS(美国信息处理协会联盟)就在其成员协会间合作计划中起到促进和协调作用。AFIPS通过它的教育委员会,准备在1979年夏天召开全国计算机教育会议。其次,通过出版物、会议以及通过各种不同专业团体有关人员的非正式聚会,进行全面的合作,广泛交换意见和传播当今的思潮,也是解决重复劳动问题的良好途径。这种途径尽管已经开始采用,但更加重视尚有待于将来。国际合作也很重要。国际信息处理联盟)主办的许多国际会议确实很成功,它除了三年召开一次会议以外,还召开了许多工作性质会议,吸引了许多国家代表,对于传播计算机教育思潮和观点取得了一定成绩,然而,参加会议的代表们主要来自发达国家,这意味着必须采取措施协助不发达国家制订计算机教学大纲。此外,我们还要提到各种国际组织在这方面的工作,例如联合国科教文组织(UNESCO)和经济合作与发展组织(OECD)主办的一些会议,以及它们就分析和讨论扩大技术教育所作的各种工作报告。可以说,八十年代一个重要问题,是要在广泛合作和扎实的基础上制订出国际规模的发展计算机教育的战略。
八十年代计算机科学和工程大学毕业生
十年代新的职员,都将是主要大学中四年制或五年制计算机科学和工程系毕业生,他们都具有良好的基础知识,例如经典的电气和电子工程基础知识,很强的数学能力,比较精通计算理论,有使用数字系统丰富的经验,以及软件工程技术的完整应用知识。他们还精通计算机工业在技术、伦理和经济方面的问题,可同时在工业部门中兼职当学徒或进行实习。
就是有计算机科学或计算机工程学位的大学毕业生,也应具有进行有效交流活动的能力,除了数学课程和计算机科学课程将继续在全部课程中占有支配地位以外,我们应该更加重视那些能提高学生们交流技巧的课程,因为还有为数众多的大学毕业生没有能力充分表现他们自己。根据目前估计,当前大学毕业生在他们一生中至少要变换三至四次主要工作,因此我们一定要承担责任使每个毕业生都具有独立思考和进行充分交流的能力。据称,贝尔实验室公司招聘计算机科学大学毕业生的质量要求如下:具有良好的说写能力、解决问题能力、一定的管理能力及设计某个系统“人的部分”的能力,具有扎实的数学基础知识、计算机科学基础知识以及编制软件过程的全面知识。
[本文选自Computer1978年9期69~82页。李国祥摘译]