计算机专业教育必须做到与时俱进。优化该专业知识结构、强化创新能力培养,是智能时代提升计算机类专业教育水平的重点举措和有效途径。该文给出凝练课程演化不变要素、重构和更新知识结构、强化新型计算系统设计能力提升以及改革专业课程教学方式的具体思路。
智能时代计算机专业教育创新势在必行
计算技术经历了主机时代、个人机时代以及网络时代,当前正在进入智能时代。计算机专业教育必须与时俱进,以适应新时代特征与人才需求。其背景主要体现在以下几方面:
时代需求
智能时代以 “物移云大智链” 智能科技协同发展、人机物融合形成新型计算环境为主要特征,正在并必将引起智能经济、智能社会与智能生活的重要变化。以新型计算技术为核心的智能科技的快速发展必然引发计算机专业教育的优化与变革。同时,计算机科学与技术专业具有的技术快速演化和系统形态多极等特性使得计算机专业教育必须适应智能时代特征,才能更好地培养新时代计算机创新人才。
问题导向
进入21世纪后,一方面,全球科学技术更加趋向于融合和交叉;另一方面,我国计算机专业教育被人为或自然地快速分化或细分,已由计算机科学与技术1个专业细化为14个具体“专业”,形成计算机类专业教育。尽管如此,计算机科学与技术专业仍然是各类高等院校开设最多的专业。据统计,目前全国已有超过1000个类型不同的计算机科学与技术专业,该专业在计算机类专业中扮演核心角色是毋庸置疑的,但如何才能扮演好这一角色?具体而言,如何优化教学内容、强化能力培养、提升教学质量、更好地支撑计算机类专业教育,已成为教育界必须尽快解决的问题。
内在动力
自20世纪末以来,我国计算机科学与技术专业教育的优化与改革基本是参考美国提出的计算机教育大纲,进而提出和实施适合我国的计算机专业教育指导建议。进入21世纪后,我国计算机专业教育,包括计算机系统能力培养,取得了重要进展。经历10余年的计算机学科快速发展,我国计算机科学技术创新研究与应用和国际先进水平差距缩小,在高性能计算、移动计算等领域已处于并跑状态。进入新时代,计算机专业教育在借鉴国际先进经验的同时,还需自主提出适应智能时代的计算机专业教育,这已成为我国计算机教育界的应有担当。
智能时代计算机专业教育创新思路
为了适应新时代的专业人才需求,在有限学时条件下提高专业人才培养的效率与效果,尽管已有创建新学院、开设新专业、扩展新课程等多种人才培养途径,但作者认为面向智能时代计算机科学技术的发展特点和人才需求, 对已有计算机专业人才培养方案进行合理的知识重构和能力提升,是一种更为普适的实现途径,也是国际计算机教育界采用的主流方式。这种途径的难度与重点在于要深入分析计算技术与应用发展对专业知识与能力的内在影响,并据之调整、重组、更新知识单元/知识点以及能力要素。我们应按照我国2030年之前的智能科技以及社会经济发展目标,基于专业优化途径,参考国际教育经验,确定计算机科学与技术专业教育的优化思路。
教育理念求新
我国特色社会主义进入承前启后、继往开来、全面建设现代化强国、逐步实现全体人民共同富裕和中华民族伟大复兴的新时代。新一代信息技术开始呈现“物移云大智链”融合发展和人机物融合等态势,计算机专业教育理念必须与时俱进,力求适应时代发展,主要体现在以下几方面:
立德树人 计算机专业教育应以培养国家建设者和接班人作为根本任务,培养立志为中国特色社会主义奋斗终身的计算机创新人才。因此要将价值塑造、人文情怀以及团队合作、勇于担当等融入专业教育的知识学习和实践环节之中。
计算为本 面对计算机科学技术的快速发展和不断分化,计算机专业教育应不忘 “计算”初心,秉持计算为本,强化数学基础,提升计算思维,扩展反映时代特点的新型计算理论与方法学习。
能力为魂 面向计算机科学技术专业的系统观特征,计算机专业教育应以“厚基础、重能力、扩素养”为教育思想,注重培养计算机专业人才的持续学习、系统设计、性能优化等创新素养与能力,使专业人才具备不断适应时代的持续发展力。
全面发展 在德智体美劳全面发展的育人体系指导下,计算机专业教育应结合专业特点,在计算为本基础上,注重学科交叉、技术融合、系统集成、领域应用等,提高计算机类专业人才全面发展的质量。
教育内容更新
为了适应智能时代科技与产业发展需求,计算机专业人才培养注重以下教育内容更新思路:
数学为基 当代计算科学技术更多的是解决不同领域需求的复杂计算问题。这里的“计算”具有广义性,包括科学与工程计算、数据与信息分析、知识与应用处理、感知与控制实现等,计算的本质是模型构建与算法设计,但基础都是数学。因此,智能时代计算机专业学生必须夯实数学基础,尤其是离散数学、线性代数、概率论、优化方法,需持续强化或新增适应时代需求的知识点。
算法为核 新型计算平台支撑数据智能处理、智能机器人等不同领域应用的关键之一是提供强有力的算法及其软件实现。计算机专业学生不仅应掌握基本算法的优化设计与性能分析,还应学习新型智能算法的机理与应用,并熟悉基于群体化开发的算法软件的设计与实现。
系统为主 计算平台(计算系统)是连接数据和算法的纽带,其结构、功能与性能决定了不同应用的成效,未来更多是构建场景驱动的智能计算系统。因此,我们应深化系统思维与系统能力培养,不仅使学生掌握主流计算平台的异构并行结构等,还要掌握计算平台的可靠性、稳定性、可扩展性以及自动化运行管理等非功能特性优化。
开放为策 计算机科学技术的快速演化、形态多极以及学科融合等特性,决定了计算机专业教育必须实施开放教育策略。其开放性具有多层含义:(1)微观层面,课程内容与设置适度灵活,注重计算机理与新型案例结合;(2)中观层面,专业方向动态调整与适度扩展,注重与社会需求相适应;(3)宏观层面,产学深度融合,并与国际开展交流合作,注重工程化与国际化教育。
教学方式创新
在智能时代,AI和大数据与学习科学结合,可以推动计算机专业教育和学习方式创新。精确定义教学内容 、快速构建教学环境 、量化分析教学过程 、科学评价教学效果以及支持个性学习模式,都可以有效提高专业教学效率和效果。
扩展MOOC课程,提升云化专业学习平台 面向核心和骨干课程,选择名师与名教材,深化相关MOOC与SPOC课程建设,在疫情防控期间云化学习得以提高的基础上,扩展和提升云化专业学习效果,实现优质专业教学资源共享,尤其注重为一般院校或边远地区院校提供支持,提高其计算机专业的教学质量与教育效率。
研发/采用智能化学习工具 自主研发或科学选择相应的智能化学习与验证工具、网络化软件开发工具等,可以解决数学基础学习的原理验证与高效理解、专业学习的实验验证与优化设计等问题,有助于提高学习效率,支撑能力养成。
基于大数据和AI的教学分析与优化 我们可以基于物联技术感知学生的专业学习过程,利用大数据和AI 分析方法分析学习效果、优化课程内容,为学生制定个性化的学习方式。
智能时代计算机专业知识与能力提升实施路径
为有效实现适应智能时代的计算机专业知识与能力优化,现提出以下实施策略与实现路径:
注重凝练计算技术发展中的“不变要素”
虽然计算机科学技术快速发展,新概念、新理论、新技术以及新工具层出不穷,但核心专业课程的基本概念、机理较为稳定,形成了专业知识进化过程中的“不变要素”。因此,我们应首先凝练计算技术发展中的不变要素,以构成计算机专业本科教育的基本内容。例如,计算机操作系统经历了主机、个人机以及云/端发展阶段,正在向智能机器人OS等多样化发展,而其不变要素仍是“并发”“虚拟”“同步”等核心概念与基本机理,以及“效率”“体验”等设计目标。
适度压缩过时或过细的知识单元/知识点
在传统的计算机专业教育过程中,无论是教材编写,还是理论教学,都存在一定的知识老化、内容过细问题,而新时代计算机专业教育要更多突出计算系统以及软件系统优化设计,因此需要依据技术进步与专业发展,适度压缩过时或过细的知识单元/知识点,为在有限学时内扩展新内容创造条件。例如,在传统计算机组成原理课程中适度压缩CPU内部组成单元实现细节的内容,该内容可在基于LSI的数字电路中论述,这样使得原理课程可扩展多核等新的知识点。
扩展更新适应新时代的知识单元/知识点
考虑到以“物移云大智链” 为代表的新一代信息技术对数学基础、计算机理以及计算平台的共性影响,更新或扩展知识单元/知识点是必要的。第一种方式是增强某一知识点,例如,在离散数学中强化集合与图论;第二种方式是扩展知识单元,例如,将单机计算平台扩展为新型“云-网-端”计算平台,并据之梳理知识点;第三种方式是新增知识单元/知识点,如智能计算系统。根据上述三种方式,系统能力培养的内涵与途径也将发生相应变化。
注重新型计算系统教材建设
教材是实现专业教学优化和重构的重要载体,实施智能时代计算机专业教育优化,需要编撰和出版相应的系列化专业教材。一类是依据专业教育优化方案对已有教材(例如《计算机系统组成原理》 《计算机网络》)进行重组、更新或提升。另一类是为适应智能时代计算机专业教育发展而新编的教材。例如,中科院计算所陈云霁教授团队结合自主设计的NPU及其软件开发,编写了《智能计算系统》一书,一年内三次再版,已成为计算机类专业新开设课程的主选教材。
提升新型计算系统能力培养实践条件
实验与实习等实践条件建设是提升计算机系统能力培养的重要保障。多数高校的计算机设计实验仅有基本CPU自主设计这一类实验课程。高校需要进一步将基本CPU自主设计与操作系统、编译原理集成,形成基本计算系统设计实验;为适应时代发展需求,要构建“多核+专用智能硬件+网络互联”的新型计算系统实验平台,诸如智能机器人系统、多媒体智能处理系统、大数据智能分析系统等也需要新型创新设计验证平台;还需遵循开放教育思想,深化多形式的产学合作,构建更丰富的系统能力实践环境。
夯实计算机类专业核心教育
如前文所述,从计算机科学与技术专业派生出的新型专业,其基础和核心均是计算理论和计算系统知识单元及能力要求。因此,优化计算机科学技术知识结构与能力素养必将夯实计算机类专业教育基础。在此基础上,扩展和优化新型专业的知识单元和能力素养,即可有效提升计算机类专业教育的整体质量,为国家培养大批适应时代要求的计算机类专业复合型人才。
智能时代计算机专业知识层次及能力结构
智能时代计算机专业人才知识结构
适应智能时代的计算机专业知识以数学基础、计算平台、算法软件、应用共性形成层次化知识结构。其纵向具有逻辑层次性,即下一层次是上一层次的基础,上一层次是下一层次的进化,层次递进,形成体系;其横向具有协同关联性,即同一层次的课程及知识单元之间内容关联,协同表达,形成同层知识整体。智能时代计算机专业人才的知识结构如图1所示。
数学基础 数学基础包括高等数学、离散数学、数理逻辑、线性代数、概率论与数理统计、优化理论与方法等。该层次知识需在现有内容上进一步强化。
计算平台 基于计算机系统基础、计算机系统组成、操作系统与编译原理,以分布/并行计算系统、计算机网络与移动网络、智能前端系统构成“云-网-端”新型计算平台。该层次知识需在已有基础上重组和扩展。
算法软件 以算法设计与分析、数据结构、数据管理、高级语言程序设计为基础,扩展新型智能算法、新型软件开发方法及其工具。该层次知识需进一步优化和提升。
应用共性 以人机交互、应用场景建模与仿真、专用智能计算系统、智能机器人系统、数据处理与服务系统等应用共性知识单元为主体。该层次知识重在凝练,可依据不同专业特色适度扩展。
智能时代计算机专业人才能力结构
从适应智能时代科技与产业发展需求出发,计算机专业人才不仅应具备现代大学生共有的基础能力,还应具有适应计算技术发展的专业能力以及适应时代的扩展能力,如图2所示。
基本能力
当代大学生应具备的基本素养与能力包括科学思维与分解问题的能力 、创新素养与敏锐感知的能力 、协同意识与环境适应的能力以及终身学习与持续发展的能力等。智能时代的社会必然是一个学习型社会,专业人才必须养成自主和主动学习的习惯,才能不落伍于时代;必须具有创业精神,不断增强持续发展能力,才能立足于时代浪潮之中。因此,终身学习与持续发展能力成为新时代计算机专业人才的基本能力。
专业能力
智能时代计算机专业本科生和研究生应具备的专业素养与能力主要体现在以下几方面:
数理基础与计算思维能力 智能时代更多的是解决非确定性问题。因此,算法优化是核心,而算法的基础是数学。计算机专业人才在掌握扎实的数学分析、数理逻辑的基础上,还应具有深厚的矩阵论、概率论和离散数学等基础。计算思维是运用计算机科学的基础概念进行问题求解和系统设计的思维方式,是计算机人才必须具备的基础能力。
计算系统思维能力 系统思维是全局整体性的思维。计算机专业人才必须具备扎实的系统思维,才能在各种新型计算系统的设计、构建及应用中完成具体的系统实现,并达到高效的预期目标。
新型计算系统创新设计能力 智能时代的计算系统形态多样,系统设计领域的计算机专业人才应具有应用场景分析、智能算法优化、硬件平台实现,以及强化新型硬件与智能软件协同、“云-边-端”结合等方面的优化设计能力。
综合应用系统研发能力 智能时代的知识分工趋向聚合,学科分支交汇更多。面向领域的新型计算应用系统也形成了鲜明的信息物理融合等特征。例如智能机器人研发涉及机电一体化、感知技术、自动控制、硬件平台、算法优化等技术。因此,计算机专业人才需具备综合系统集成设计与开发的能力。
扩展能力
服务领域的计算机专业人才应具备的扩展能力,主要包括国际化交流与合作、领域场景综合分析以及多学科知识融合等能力。例如,信息领域的国际化特点更鲜明,计算机专业人才的外语水平、交流技巧等必将影响其工作质量与事业发展。
计算机科学技术专业知识结构及能力优化实施要点
在上述智能时代计算机专业人才知识层次与能力结构及其优化思路的指导下,我们可以依据不同类别的专业课程,具体化专业知识优化与专业能力提升。由于各层次课程的特性有较大差异,因此其优化实施重点各有不同。
数学基础
数学基础是计算机科学与技术专业的核心理论基础,在智能时代计算机专业教育优化中的作用更为重要。数学基础主要包括离散数学、高等数学(数学分析)、线性代数、概率论与数理统计、数学建模以及优化方法。每一个知识单元都是在特定数学结构上,基于基本概念,严格精确地构建概念体系及其性质。夯实专业理论基础,提高计算思维和逻辑推理等科学素质,提升应用数学知识解决实际问题以及创新的能力。
其优化要点体现在以下几方面:
知识点优化 依据智能时代计算技术及其应用发展需求,综合考虑强化数学基础以及总学时受限等因素,优化数学基础知识点。适度删除已学知识点或弱化证明细节,强化或扩展适应智能时代计算技术发展需要的知识单元或知识点。例如,在概率论与数理统计知识单元,可删除或简化高中已学习的样本空间、古典概率等知识点,适度增加非参数统计、方差分析等知识点。
知识表达创新 探索数学的计算表征与认知,搭建数学与计算机科学的桥梁。已有研究及实例表明,多类数学结构的概念、运算及关系可用计算表征,通过计算也可随机生成实例、判断性质、验证定理。因此,掌握基于计算的数学知识表达和认知能力,不仅可使计算机科学与技术专业的学生更容易理解与掌握数学知识,还可培养学生基于计算方法解决问题的工程能力。
学习方法改进 无论是学习数学知识、理解自然科学基本原理,还是利用数学表示专业模型和复杂工程问题,传统的手工计算方式都难以实现。MATLAB 等数学相关的软件工具或 Python 等新型编程语言具有丰富的表达能力,提供了先进有效的数学学习方式,用来学习数学知识更易于形象展现和深刻理解,并可使学生掌握用数学工具解决复杂工程问题的能力。
计算平台
计算平台层专业知识依据智能时代计算机系统发展,形成基础计算系统与“云–网–端”计算平台两个逻辑层次。前者包括计算机系统基础、数字逻辑与计算机组成、操作系统、编译原理;后者主要是并行计算结构以及并行程序设计、分布式系统、计算机网络以及智能嵌入式系统,旨在培养学生协同设计新型计算系统软硬件的能力。如图3所示。
计算平台知识与能力的优化体现在以下几方面:
课程重构 传统课程的开设存在知识点重复、前后衔接不连贯等问题,例如独立开设的“数字逻辑电路”和“计算机组成原理”课程就存在此类问题。高校可将这两门课程重组合并成“数字逻辑与计算机组成”课程。
知识衔接 系统能力培养需注重培养学生对整体计算机系统的理解。因此,各课程知识点之间应合理安排并紧密衔接,尤其是硬件与系统软件之间的合理衔接更为重要。例如,“计算机系统基础”课程采用“自顶向下”的方式,从程序员视角出发,在目前主流的IA-32/x64+Linux平台上展开深入的计算系统教学,学生不仅可以理解计算系统完整机理以及硬/软件逻辑关系,还可了解课程知识点及其在计算平台体系中的作用与地位。
并行强化 随着智能时代下的计算应用规模急剧扩大,多核/多处理器/多计算机并行计算成为计算技术发展的必然趋势,计算平台知识优化应强化分布式系统、并行程序设计知识单元,并在计算机体系结构中加大并行知识点比重,实现并行知识点从云到端的全覆盖。
新点扩展 考虑到多核/众核处理器、分布/并行计算已成为主流计算模式,我们可以基于基础计算系统,形成“云-网-端”计算平台。在“云”层,原本为研究生开设的分布式系统课程,通过适度精简,可扩展到本科生教学,以便使学生理解“云”如何为新型智能应用提供计算和存储服务;在“网”层,新增物联网与移动计算知识点,丰富“网”的内涵;在“端” 层,增加智能手机、自主运动体等主流嵌入式智能终端以及智能嵌入式硬/软件设计等知识点,提升学生基于嵌入式硬/软件的新型系统开发能力。
能力并重 计算平台强调知识点与实践紧密结合,以便在加深学生对专业知识理解的同时强化其设计能力。具体来说,每一个知识点的配套项目实践成绩可以作为学生学习效果的考核指标。例如,数字逻辑与计算机组成要求学生从逻辑门开始学习,逐步设计并构建流水线CPU,以加强学生的计算机系统底层技术能力;操作系统训练学生系统软件编程开发与调试能力;分布式与并行系统项目实践加入MapReduce、TensorFlow、CUDA等应用编程实践,强化学生算法优化、系统部署以及应用开发的能力。
算法软件
如前所述,随着云计算、大数据、物联网、人工智能等技术浪潮的不断兴起,软件的需求空间被进一步拓展,软件正在成为人类社会的基础设施,计算无处不在、软件定义一切、赋智万物的智能时代正在开启。智能时代对计算机专业人才的软件能力培养提出了新的需求和挑战。算法与软件知识体系优化正是在智能时代计算机专业人才的软件能力培养需求推动下,针对程序设计、数据结构与算法基础、数据库系统、软件工程等相关知识单元和知识点开展的。
其优化主要体现在以下几方面:
软件能力提升 软件能力包括程序、算法、系统、工程以及创新等能力。算法能力体现为针对要解决的问题能够设计算法并分析其复杂度;系统能力指有效处理和控制软件系统复杂性的能力;工程能力表现为高效、高质量、低成本开发和演化大规模复杂软件系统的能力;软件能力培养强调专业知识传授、专业知识学习能力培养、创新能力培养三位一体并融会贯通,在解决软件工程挑战问题、应用领域软件难点问题的过程中培养学生的创新能力。
软件知识优化 软件知识优化包括程序设计、数据结构与算法基础、数据库系统、软件工程几个层面。在程序设计层面,进一步加强程序分析与理解能力的培养,并加强系统程序设计、基于大数据的编程、混源编程等能力的培养;在数据结构与算法基础层面,主要增加智能时代背景下的应用实例,适度增加近似算法、随机算法、数据驱动的算法等内容;在数据库系统层面,注重数据库系统设计与优化,适度增加新型的数据表示方法,强化设计实践;在软件工程层面,压缩和简化传统软件工程模型与方法,增加群智开发、开源软件与生态、开发运维一体化等内容,并注重强化大型开源软件开发和维护支撑平台上的工程实践。
应用共性
计算机科学与技术是一种服务型技术,只有面向领域深度应用才可发挥其应有潜力。由于应用领域的特点多样化与需求个性化,专业教育难以覆盖各个领域的具体需求,因此需凝练不同领域的共性需求,以形成支撑领域应用的共性知识体系与能力素养。目前该层次主要考虑专用智能计算系统、人机交互系统、智能数据分析与服务系统、智能机器人系统。前二者为较普适的应用基础,后二者为两类不同的应用形态。
其优化主要体现在以下几方面:
凝练基本机理,注重与时俱进 各门课程在凝练基本知识和机理的基础上,更加注重能体现时代特征的新知识、新方法与新技术论述。例如,“智能计算系统”课程突出了智能算法的智能硬件实现;“人机交互”课程在总结传统人机交互机理的基础上,强化了动作交互、自然交互以及多模态交互等新发展;“智能机器人系统”课程在给出现代机器人系统组成的基础上,增加了智能机器人操作系统和智能实时控制算法。
专业知识融合,注重学科交叉 上文提出的共性应用知识不仅具有多专业知识融合的特点,还涉及多个计算机专业方向以及应用领域背景。各课程在前设课程基础上,应注重实现不同专业知识的高效融合,以适应应用领域的特点与需求,同时还应注重应用需求牵引,优化多学科交叉设计,并注重集成优化设计。例如,“人机交互系统”课程涉及认知科学与人机功效,“智能机器人系统”课程涉及机电一体化和自适应控制。
硬件软件集成,注重系统设计 无论是“智能计算系统”“人机交互系统”还是“智能机器人系统”,这些课程均论述了相应的专用硬件、智能算法以及系统软件,需注重系统层面的优化设计及系统能力强化训练。例如,“智能数据分析与服务系统”课程在论述智能数据分析理论与方法基础上,也突出了基于云平台的数据服务系统设计与实现。
结束语
本文内容是智能时代计算机系统能力研究组的研究成果。为使研究深化,研究组依据知识结构层次,分设4个研究小组,除了本文前三位作者之外,还有武永卫、金海、李宣东、庄越挺、温莉芳等30余名计算机专业教育和课程教学专家参与专题研讨和《智能时代计算机专业系统能力培养纲要》部分章节编写,限于篇幅不一一列出,在此一并致谢。
我们认为,智能时代计算机专业教育优化与创新是一个系统工程,不仅涉及专业课程改革、配套教材编写、实验条件提升,还与产学合作、专业竞赛、人才评价等关联。因此,我们提倡各方凝聚共识,同心协力,共同推动我国计算机专业教育满足智能时代需求,服务我国新时代强国发展目标。
周兴社
CCF会士、CCF咨询委员会委员、CCF杰出教育奖获得者。西北工业大学教授。主要研究方向为嵌入式计算与CPS、普适计算与云计算。
zhouxs@nwpu.edu.cn
王志英
CCF杰出会员、CCF教育专委会副主任、CCF杰出教育奖获得者。计算机教育研究会副理事长。国防科学技术大学教授。主要研究方向为计算机体系结构、微处理器设计。
zywang@nudt.edu.cn
马殿富
CCF会士、CCF杰出教育奖获得者、CCF杰出教育奖评选委员会主席。北京航空航天大学教授。主要研究方向为关键实时系软件建模与形式化验证。
dfma@buaa.edu.cn
特别声明:中国计算机学会(CCF)拥有《中国计算机学会通讯》(CCCF)所刊登内容的所有版权,未经CCF允许,不得转载本刊文字及照片,否则被视为侵权。对于侵权行为,CCF将追究其法律责任
点击“阅读原文”,查看更多CCCF文章。