2021-4-9 | 学科教育
本文作者:王杨 赵传信 张林静 杨娜娜 单位:安徽师范大学数学计算机学院 南京邮电大学计算机学院
近年来,计算学科的教育创新问题已经受到国内外教育界的高度关注[1]。自1989年计算被作为一个学科独立存在以来[2],计算学科教育的内涵和外延在不断演进。近10多年来,计算学科的课程体系主要包括“算法和数据结构”、“编程语言”、“体系结构”、“数值与符号计算”、“操作系统”、“软件方法学和工程”、“数据库和信息检索系统”、“人工智能”以及“机器人与人机通信”等九个方面。这一框架一直是目前国内计算机专业课程的设置依据之一。但是随着计算需求的增加,现存的计算学科教学内容并不能很好地适应社会发展新形势。究其原因,一是教学内容没有很好地体现社会计算、情感计算、服务计算、普适计算、绿色计算等计算范型;二是随着信息技术墙的到来[3],计算学科已经成为其他学科必不可少的基础服务性学科。从当前计算机人才培养类型来看[4],信息服务型的计算机人才培养模式尚未成熟。在国内,根据《国家中长期科学和技术发展规划纲要》和国务院2009年发布的《关于加快发展服务业的若干意见》,信息服务的需求愈发强烈。为了适应这一形势,我们从服务计算的视角,提出了一种新型的计算学科教育模式,以满足目前计算学科的现实需要。同时,我们结合河北师范大学的专业实践和南京邮电大学的智慧校园系统建设为案例,验证了本文所提出的服务计算新模式的科学性和可行性。
1计算学科教育现状分析与课程设置调查
在60年代,学者们普遍认为计算学科教育的主要任务是培养学生的算法设计能力。80年代以后,一批学者针对原有认识的不足,扩充了计算学科的先前定义。他们将其定义为“描述和变化信息的算法过程”,包括其理论、分析、设计、效率分析、实现和应用系统的研究;同时指出学科的根本问题是“什么能(有效地)自动进行”。这使得计算学科的教育内容更加系统化、科学化。但是,随着计算机软件技术和硬件技术的日益成熟,计算学科教育的着眼点发生了相应的变化。自1989年,ACM攻关小组提交了著名的“计算作为一门学科”的报告之后,计算学科教育人才培养的目标一直处于动态变化的过程。综合计算学科教育的历史,我们认为计算学科教育的立足点应该包括三个方面:(1)计算思维能力的培养。(2)工程开发能力的培养。(3)服务创新意识的培养。根据美国专家JeannetteM.Wing的观点,计算机科学工作者首先应该具有计算思维的能力。计算思维能力的培养主要通过“研究一种能够突破人的计算能力限制,致力于问题求解的机器”加以实现。
比较国内外的计算学科教育理念,国外强调深层次学科思维能力的培养,而国内则更为强调应用层面的人才培养。我们认为,国内的计算学科教育本身缺少深厚的理论与实践基础,更多地停留在模仿与学习层面。这一实际情况导致了我国当前计算机应用人才的快速增长。但是,计算机技术开发与应用的目的之一是更好地为社会提供服务。从2010年中国互联网大会的主题“服务——网络价值之本;绿色——网络发展之道”和近年来中国计算机学会引导的方向来看,面向服务的计算学科教育已经成为学术界和产业界的双重期待。计算学科教育立足点的变化致使计算学科核心教学体系做出相应的调整。中国的计算学科教育经历了几十年的发展,其内容描述需要更加细致。一般认为,计算学科教育中的基本问题主要包括:(1)计算的基础平台和环境问题。(2)计算过程的能行操作与效率问题。(3)计算的正确性问题。(4)计算的服务性问题。围绕前三个问题,计算机教育专家们已经给出很好的解决途径,相关课程的设置构成了计算学科目前的专业课程群[5]。对于第四个问题,目前还没有得到很好的解决。从计算学科的应用现状来看,服务计算已经渗透到计算机科学、信息技术和信息管理等多个领域。从科学哲学的角度来看,当技术发展到一定地步,提升技术、服务社会成为一种必然[6]。因此,构建面向服务的计算教育模式正成为一个富有挑战性的学科教育新课题。
2面向服务的计算学科教育框架
面向服务的计算学科课程体系可以借助学科的极小课程集加以描述。计算学科的极小课程集是指仅包含与其相应的科学概貌、基本原理和基本技术的最少课程。极小课程集与核心课程或基本课程概念不同,与学科各专业方向课程的交集相比,极小课程集的基数更小,更能凸现学科特征,所以它们的作用是不可替代的。计算框架的本质是从服务的视角实现计算学科的发展任务。服务具有无形性、同步性、动态性等特征。因此,面向服务的计算学科与传统计算学科课程设置的差别主要在于理念不同。面向服务的计算学科课程着重体现了学以致用的学习特征。这是因为计算学科理论框架和硬件产品以及系统软件在我国目前情形下难以形成重大突破。如果将成熟的计算学科理论和技术应用到社会实践中,一方面会提升社会信息服务水平,同时也会促进计算学科自身的发展。面向服务的计算学科课程体系与现有的课程体系是兼容的。
面向服务的导论类课程主要面向一年级学生。课程目标是根据社会服务的计算需求激发新生的学习兴趣。课程一方面全面介绍计算领域的总体概貌和计算学科的知识体系,另一方面深度挖掘社会服务环境中的计算需求,使学生感受计算学科广泛的社会需求,进而激发学生的学习热情。面向服务的计算理论与实践课程主要包括计算机组成原理和操作系统等。这部分课程的学习强调基本的计算原理,以及这些基本理论产生的社会服务功能。面向服务的程序设计语言类课程也是计算学科的必修课。新的课程群设置注重面向服务的软件开发功能,同时兼顾传统计算课程的融合,在舍弃和充实的原则下,构建具有自适应性的面向服务的计算学科框架,并在此基础上,建立新的面向服务的计算学科课程体系。
新课程群主要以服务语言开发和服务计算范型为基础,以服务感知、服务聚合、服务挖掘、服务管理、服务优化,服务保障为理念而设计。计算导论类课程主要使学生增加社会服务意识,而面向服务的系统开发课程和面向服务的计算原理课程是两大支撑课程组。服务通识课程以及面向服务的软件工程等课程主要是培养学生的社会适应度和学生的实际工程应用能力。面向终端用户(包括学生以及社会人才需求方)的服务感知、服务聚合和服务设计是面向服务课程效果反馈的智能化动态调整模块。