

面向T+型能力培养的计算机类专业人才培养模式改革与实践
作者: 李薇 黑新宏 王磊 鲁晓锋 王一川 张亚玲
[作者简介]李薇 (1973—),女,黑龙江哈尔滨人。博士,副教授,硕士生导师,主要研究方向为智能计算、机器学习。
*[通信作者]黑新宏(1976—),男,陕西延安人。博士,教授,博士生导师,主要研究方向为安全关键计算机系统、轨道交通系统。[摘要]针对当前计算产业国产化在核心技术发展面临巨大挑战的问题,西安理工大学计算机科学与工程学院以“培根、启智、润心、铸魂”为培养理念,重塑了以T+型能力培养为导向的计算机类专业核心课程体系,构建了渐进达成的多元融通式教学模式、教学研用贯通式实践教学体系,加强铸魂育人,实现专业教育与思政教育的有机融合,有效提高了计算机类专业人才的培养质量。
[关键词]T+型能力;系统能力;立德树人;人才培养
[中图分类号]G642[文献标识码]A[文章编号]1005-4634(2023)01-0066-08
0引言
随着大数据、人工智能、区块链等新技术的接踵而来和融合发展,新产业、新模式的不断涌现,科学技术已成为引领世界大发展、大变革、大调整,支撑关键领域产业的革命性力量,是建设世界强国的重要保障。然而,目前我国在核心技术上仍然落后于世界先进水平。高端服务器、CPU、芯片设计和制造等关键设备、软件、技术等依然是我国数字科技发展的短板,国家急需强化科技力量,突破关键核心技术,提升科技创新能力,解决缺“芯”少“魂”、核心工业软件等卡脖子问题。因此,各高校计算机类专业对人才培养进行了积极的探索和实践:如开展以计算思维为导向的教学改革、积极研究基于成果导向(Outcome based education,OBE )的教育理念、采用线上线下教学模式、构建以学生学习成果为主导的持续改进式评价体系[1]等,这些教学改革和实践有效地提高了教育质量和人才培养水平。
然而,对于计算机类专业学生,依然存在一些问题:如很多学生只是会解题,不会发现和提出问题;只是会解决讲过的问题,不会解决新问题;未能很好地建立计算机系统完整概念,缺乏系统观,难以解决系统层面的问题;很多学生欺“软”怕“硬”,对计算机系统的核心内容掌握不够,难以完成复杂的涉及软硬件协同设计的任务;虽然当前教学模式已经逐渐由灌输式的传统教学向混合式教学转换,但重点还是关注怎么教;教模式和学模式未能有效配合也限制了学生创造性学习潜能的挖掘、独立思考能力和探究能力的培养,学生在学习过程中缺乏强有力的后劲支撑。鉴于此,如何以能力培养为导向,改革与推进人才培养模式,深化一流专业、一流课程,培养一流创新人才,促进我国基础科学研究水平的不断提升,从跟跑、并跑,进而成为领跑,是当前计算机类专业人才培养需要解决的核心问题。
1T+型能力培养模型
教育部计算机类教学指导委员会指出,高等院校计算机类专业学生需要掌握8个知识领域,包括离散结构、程序设计基础、算法、计算机体系结构与组织、操作系统、网络及其技术、程序设计语言和信息管理;具备4个方面的专业基本能力,即计算思维能力、算法设计与分析能力、程序设计与实现能力和系统能力[2]。其中,计算思维能力包括逻辑思维、抽象思维等9个能力点;算法设计与分析能力包括复杂算法设计、复杂算法分析等8个能力点;程序设计与实现能力包括3个能力点,即小型程序设计、大型程序设计和系统程序设计;系统能力包括系统认知能力(6个能力点)、系统设计能力(19个能力点)、系统开发能力(23个能力点)和系统应用能力(14个能力点)[3]。综上所述,计算机类专业学生T型能力培养模型如图1所示。由于系统能力的能力点占总能力点的75%,因此系统能力培养是专业能力培养的核心,即T的垂直部分;计算思维能力、算法设计与分析能力、程序设计与实现能力是培养系统能力的根基,是计算机类专业学生必须具有的横向能力,即T的横向部分。
随着信息技术的快速发展,科技创新已成为未来社会发展与变革、国家实力与技术竞争的核心,面对创新引领的未来社会,计算机类专业的学生不应只具备知识的积累和技术能力,而是应该具备融合知识、技能和品行3个方面的综合能力,具备能够应对未来社会发展变化的竞争能力、技术创新能力,即可持续竞争力与胜任力[4-5]。因此,计算机类专业人才培养在T型能力培养的基础上增加了可持续竞争力和胜任力的培养,即T+型能力培养(如图2所示)。
2面向T+型能力培养的计算机类专业人才培养模式2021年,教育部高等教育司司长吴岩在全国高教处长会议上指出,人才培养质量是高等教育的核心;2018年以来,西方发达国家对中国的IT企业进行持续性打压限制,如中兴和华为事件已为IT行业敲响警钟,中国迫切需要整体推进核心技术的掌握,打破Wintel联盟,加速形成一个完整的正反馈国产化生态系统。有鉴于此,西安理工大学计算机科学与工程学院以T+型能力培养为核心,从课程体系、教学方法、实践育人等方面进行改革与实践,构建了具有家国情怀、学科理论扎实、系统能力强、综合素养高的计算机类专业人才培养模式(如图3所示)。
2.1培根——以T+型能力培养为导向,重塑计算机类专业核心课程体系人才培养的核心是知识、能力和素养。能力培养是本科教育的关键因素。计算机科学与工程学院以T+型能力培养为导向,通过数理基础、知识体系、硬件基础、软件基础、实验体系和系统开发的纵向衔接,横向贯通,形成系统的知识体系和能力结构,构建了“六维一体”能力培养的专业核心课程体系(如图4所示),旨在培养学生适应未来社会发展的系统能力、可持续竞争力和胜任力。图4专业核心课程体系专业核心课程体系以T+型能力培养为主线,从专业基础能力训练、专业核心能力训练和专业拓展能力训练3个层次,对学生进行系统能力、可持续竞争力和胜任力培养:(1)夯实数理基础。通过高等数学、线性代数等课程奠定学生数理根基,培养学生的抽象思维能力、逻辑推理能力、空间想象能力、数学演绎能力,使学生能够运用抽象思维和数学建模方法进行计算机处理系统的理论建模。(2)夯实硬件基础和软件基础。通过电路与电子技术、程序设计类课程、算法分析与设计等课程,使学生掌握各种经典算法、算法实现与优化、计算机各个组成部件的工作原理、设计方法,为学生解决计算机系统中的复杂问题奠定理论基础和实践支撑。(3)培养学生系统开发能力。通过软件工程导论、软件项目管理等课程,使学生掌握开发复杂软件系统时的系统工程化原则、基于计算机系统的相关分析和设计方法、系统架构设计与评价等,从而培养学生的复杂系统开发与实现能力。(4)构建支撑T+型能力培养的知识体系和实践体系。通过编译原理、计算机系统结构、操作系统等课程,建立微机系统整体概念,培养学生的系统观;理解计算机软硬件系统的基本架构与工作原理,提高对计算机系统的总体认识;将软、硬件知识有机结合,建立计算机系统结构的完整概念,培养学生的硬件设计、软件开发和系统扩展的能力。通过实践体系,将学生能力培养所需的知识和能力体系融入到不同课程又相互关联的实验环节中。通过理论与实践的有机结合,使学生从认识计算系统概念与特征,到理解计算系统各种要素,再到设计开发计算系统相关程序,培养学生基本的计算机系统设计与开发的专业基础能力,设计、开发计算机软件的专业核心能力,以及软、硬件协同设计与开发的专业拓展能力。
2.2启智——创新教学组织形态,构建渐进达成的多元融通式教学模式陈宝生指出本科教育要合理“增负”,提升挑战度;课程要有难度、有深度、有选择性,要将“水课”转变为“金课”[6]。为了适应不同学生的特点和需求,切实提高学生的核心素养与能力,计算机科学与工程学院构建了以学习成果为导向的渐进达成的多元融通式教学模式(如图5所示)。以学习成果为导向的教学理念不仅仅是关注学生掌握多少知识,而且重点关注学生通过多样化的教学组织形式的学习,能够取得哪些学习成果。
以面向对象程序设计课程为例,课程教学目标主要有3个:目标1,使学生掌握C++语言的基本语法,掌握面向对象程序设计的基本思想与原理;掌握类与对象的定义和应用、数据成员、成员函数、封装性、继承性、重载、多态性、I/O流、模板和异常处理。目标2,能够运用面向对象程序设计思想对复杂问题进行分析与设计,并在解决问题的过程中拓展学生的思维视角,培养学生的逻辑思维、计算思维等思维技能,进而培养学生解决复杂问题的综合能力。目标3,在实践环节中,以完成项目的形式,引入系统工程思想和工程化方法的学习,使学生形成系统观,培养学生的系统思维能力、团队合作能力、探究能力和独立研究能力;培养学生设计、开发软件系统的能力,能够综合应用C++语言开发应用程序,解决生产生活与科学研究中的实际问题。
学习成果导向的渐进达成的多元融通式教学模式由课前自主学习、课堂理论教学、课堂实践强化、课后复习拓展四部分构成。以面向对象程序设计课程为例,教师根据课程教学目标(即学生学习完这门课程后应该取得3项学习成果),设计教学的各个环节,以使学生能够获取相应的学习成果。
(1) 课前自主学习环节:第一,教师提前布置课前学习任务,学生在智慧树上观看“面向对象程序设计”课程教学视频进行自主学习,在学习过程中记录难点疑点问题。自主学习的主要目的是学生在学习知识的过程中能够形成个性化知识,即观念。第二,各小组对于教师布置的课前任务进行讨论、交流,提出解决方案,完成翻转教学所布置的任务。第三,学生进行线上测试,目的是检验是否理解本节教学内容所涉及的基础性知识;对于出错的问题,学生可以查阅教师提供的学习资料或在线咨询教师,找出错误原因,加强对知识的理解。
(2) 课堂理论教学环节:首先,教师通过知识回顾、要点概括、师生问答、角色变换、生讲生评、课堂讨论、小组竞赛等方式引导学生分析问题,思考如何解决问题,鼓励学生大胆讨论、交流,并在解决问题的过程中渗透情感、态度和价值观。以模板一节内容为例,提出问题“如果函数实现同一类功能,只是部分细节不同,通常采用什么机制?”引导学生回顾函数重载知识。第二,继续提出问题“如何输出三种不同类型数组的元素值”,学生利用函数重载在解决该问题时,发现函数重载的缺点,即代码可重用性差。在此基础上,教师引出函数模板的意义,高度概括函数模板的知识要点,使学生明确本节的核心知识点。第三,在讲解函数模板具有提高代码可重用性的特点时,引出“勤俭节约、传承美德”的观念,引导学生树立节约的意识,形成健康文明的生活方式和消费理念。第四,学生提出自主学习时遇到的问题,教师进行解答;教师针对模板的易错点提出问题,启发学生思考。通过你问我答,我问你答,加强师生互动,消除学生在学习过程中的疑问,强化学生对易错点的理解和掌握。第五,进入翻转课堂,师生角色互换。教师由专家转换为引导者,学生由学习者转变为探索者、知识的主动建构者。在这一环节,对于学习任务一采用生讲生评方式;对学习任务二采用讨论方式,在讨论的过程中引导学生积极思考、相互合作,增加知识的积累;对于学习任务三,采用小组竞赛方式,在竞赛的过程中激发学生的主动创新意识,培养学生的创新思维。此外,教师进行点评,并启发引导学生思考相关扩展性问题。第六,教师对本节课内容进行小结,通过引例引出下节主要内容,并安排课后学习任务。
(3) 课堂实践强化环节:以综合性项目设计与开发为驱动,旨在培养学生的自主学习能力、系统设计与开发能力、研究能力和创新能力。以“设计研究生初试管理系统”为例,第一,项目导入是让每个学生明确本次项目的任务和要求,通过讨论分解任务;确定系统可以划分为两类:研究生类和复试研究生类,这两个类的关系是继承关系。第二,学生从系统实现的角度进行方案设计,确定每个类的成员函数和数据成员,并灵活运用友元机制、重载机制和静态机制;此外,学生根据研究生复试的实际情况,扩展系统功能,保证系统功能的完整性和有效性;第三,在调试程序时,要求学生不仅检查实验结果是否满足任务要求,而且要讨论设计方案是否是最有效的,是否可以改进优化,引导学生深入思考,培养学生的创新意识和创新能力。最后,以项目答辩的方式检验程序,培养学生的表达能力。
(4) 课后复习拓展环节:目的是引导学生对所学知识进行总结和反思。首先,学生依据本章节的思维导图,对所学内容进行总结。在总结的过程中,复习整合已学知识,理解知识之间的意义和联系,并对自己在实验过程中出错的问题进行三方面的反思。第一,在解决问题时,自己最初的设计思路是什么?回顾自己用了哪些知识。第二,自己应该怎样分析、设计?不仅要知道怎么解决问题,而且要形成自己的看法和见解,将新知识融入到自己原有的认知结构中,完善自己的知识体系。第三,是否还有更好的解决方法?通过深度思考,理解知识的内涵,学出自己的个性和智慧。通过总结与反思,一方面,培养学生在学习之后能够进行思考的习惯,进而使学生能够有所悟和有所获;另一方面,引导学生逐步形成思考问题、分析问题和解决问题的计算机学科视角,掌握本学科知识背后隐藏的学科精神内涵和文化底蕴,培养学生的学科能力。其次,学生进行在线章节测验,以进一步复习巩固所学知识。再次,在线实验采用计算机实践教学云平台(头歌,EduCoder,https://www.educoder.net/),在头歌平台上,教师将实验题目设计为趣味闯关游戏,以激发的学生学习兴趣;通过牵引式的通关实战,学生一方面训练了逻辑思维、计算思维,掌握了分析问题、解决问题的技能,提高了学生的编程能力。另一方面,学生在闯关游戏参与过程中体验编程的乐趣,激发愉悦的情绪。此外,由于在线实验采用的是智能化运行评测,对程序的可读性、规范性要求比较高,为了能够顺利通过,学生在编写程序时逐渐形成精雕细琢、追求完美的精神理念,培养学生严谨、理性等品质。最后,教师在头歌平台上发布挑战性实训任务,对学生进行在线拓展训练。挑战性实训任务主要是具有一定难度、创新性的任务,这些实训任务是需要学生深度思考、跳一跳才能够完成。学生在完成挑战性实训任务过程中,一方面,拓展思维,将思维深入到知识的发现和再发现过程中,进而建构知识。另一方面,学生通过经历、体验,积累个性化知识、体验性知识,实现知识增值,将知识转化为智慧和方法。在线拓展训练有助于引导学生将挑战变成一种习惯、一种品质。学生在渴望、期待和欣赏挑战的过程中,激发其成长意识,提升其发展性学力和创造性学力。