任美睿 郭龙江
(陕西师范大学 计算机科学学院,陕西 西安 710119)
2017 年教育部发布《高校思想政治工作质量提升工程实施纲要》,提出充分发挥课程、科研、实践、文化等方面工作的育人功能,挖掘育人要素,完善育人机制[1]。同年,教育部积极推进“新工科建设”,对复合型工程人才的培养提出更高要求,以培养德学兼修、德才兼备的高素质工程人才为目标,强化工科学生的家国情怀、国际视野、法治意识、生态意识和工程伦理意识等,着力培养“精益求精、追求卓越”的工匠精神,提升学生的工程科技创新、创造能力[2-4]。“线性代数”课程是高等学校理工科各专业的重要学科基础课程,它在工程技术、科学研究等许多领域都有着广泛的应用,是解决实际问题的有力工具,也是培养科技创新能力的载体。但是,由于当前线性代数课程的教学中普遍强调理论和解题方法的讲授,往往忽略了抽象概念的起源、本质、实际意义以及行列式、矩阵等工具在实际专业领域中的应用,同时也忽略了课程的育人功效。这样的教学导致学生学完后知道了许多新的概念,也掌握了解题方法和技巧,但仍然不知道这些知识到底有什么用?即“只知其然,未必知其所以然也”。因此,在“新工科”背景下,应该积极探索线性代数课程的创新教学模式,加强工科数学基础课程教学与专业需求的结合,同时实现思政育人功效,促进科学教育、人文教育、工程教育的有机融合,培养科学基础厚、工程能力强、综合素质高的人才,掌握我国未来技术和产业发展主动权[2]10。
本文以计算机科学与技术(师范)专业为例,依据线性代数课程在专业培养体系中的定位与学生的毕业要求,以学生为中心,构建了思政+专业育人融合的线性代数教学模式。
线性代数作为计算机科学与技术、人工智能等相关专业重要的学科基础课程,是计算机技术所需的解决实际问题线性化的有力工具,是数值计算、计算机图形学、虚拟现实、密码学等技术的理论基础,更是人工智能、数据科学等新兴领域的主要数学工具。事实上,人工神经网络中的所有参数都被存储在矩阵中,训练模型的过程涉及大量的矩阵运算。因此线性代数在计算机及相关专业中的作用是不言而喻的。
线性代数是面向计算机及相关专业大学一年级新生开设的课程。在高中学习阶段,学生们在高考指挥棒的指引和家长的监督下,将大部分时间和精力都花在重复性地“刷题”上,导致学生缺乏独立思考能力和创新意识。上了大学以后,脱离了家长的监督,升学压力小了,表现出学习动力不足,主动性明显下降。所以,针对低年级学生,在线性代数课程中开展课程思政教育,让学生树立正确的理想信念、价值观和责任意识显得尤为重要[5]。另外,目前国内的线性代数教学普遍存在着教学内容偏重于数学的定义、定理、运算规则等理论介绍,课程的建设缺少对专业内容的思考和理解,结合专业领域的内容欠缺,导致与专业需求脱节[6-7]。然而,当教学脱离其知识的历史形成过程、文化背景和应用场景,学生不了解学习内容与专业之间的联系,势必会影响其学习态度,难以激发学生的学习热情[8-9],与其他专业课孤立的“线性代数”的学习就如同在黎明前的黑暗中摸索的人,看不到即将到来的曙光[10]。因此,正如《礼记·文王世子》中所言:“师也者,教之以事而喻诸德者也”。在线性代数教学过程中不仅要授学生“谋事之才”,也要传“立世之德”。
要解决线性代数课程教学中存在的问题,在课程建设和教学模式设计中,既要考虑课程对学生专业发展需求的作用,又要考虑德育功效,做到“育才”与“育德”的有机统一。一致性建构原则是课程理论中课程设计的一条重要指导性原则,该原则是指教师在进行课程设计时应当首先确立课程预期学习目标,再依据学习目标确定相应的学习成效评估标准,并设计能够促进学生达成学习目标的教学活动[11]。
线性代数课程目标的设计要首先考虑其对专业的培养目标和毕业要求的支撑,再依据课程目标设计其教学活动和效果评价标准,然后基于效果评价反馈进行课程目标和课程活动的改进,从而形成完整的教学闭环。本文基于计算机科学与技术(师范)专业的毕业要求,设计了线性代数课程教学目标对毕业要求指标点的支撑关系,本专业毕业要求共8 个指标,每个指标又被分解为3个指标点,线性代数课程主要对指标点1-3、3-1、3-2 和7-2 具有支撑作用(如表1 所示)。
表1 线性代数课程目标与毕业要求对应关系
(续表1)
本课程基于课程目标设计了线性代数教学内容与思政元素、专业应用拓展相融合的三维立体教学架构,图1 给出了基于课内12 个主要知识点以及课外活动与思政内容和专业拓展内容间的关系。
在教学实施中,采用“1 +2 +3 +4”的教学模式,即1 个中心:以学生为中心。2 个融合:线性代数知识与专业育人融合、与思政育人融合。3个平台:雨课堂、QQ 讨论群、微信公众号。4 个策略:以唯物辩证法为方法论,指导教学;以现代信息技术和教学法为支撑,设计教学;以两个“融合”为特色,实施教学;以协作学习活动为依托,延伸教学。具体策略介绍如下:
1. 基于唯物辩证法,厘清课程主线、构建知识体系——培养学生思辨能力和科学精神
线性代数知识蕴含了大量的辩证关系,如具体与抽象、变与不变、特殊与普遍、现象与本质、部分与整体、联系与发展、理论与实践等等,深刻剖析线性代数中蕴含的辩证思想,不仅可以加深对线性代数概念与理论的理解,而且有助于发展和提高学生的思辨能力,对提高学生的实际工作能力会起到重要作用。教学过程中,基于具体与抽象、特殊与普遍、现象与本质的关系,采用由简而繁,由浅入深,利用几何的直观理解抽象的代数的教学手段,例如对行列式、矩阵(2、3 阶→n 阶)、线性方程组解存在性判别(2 元→n 元)、特征值与特向量、对角化问题(2 阶方阵→n 阶方阵)等,都是从简到繁,借助几何图形的直观发挥学生的想象空间,使研究内容向更高维空间进行拓展。基于变与不变的关系,首先分析矩阵的初等变换对矩阵的变化与如何利用初等变换求行最简形、求矩阵的秩、解矩阵方程、求矩阵的逆,再进一步研究矩阵初等变换中的不变因素——秩,正是因为这种“不变”,才使得初等变换带来的“变”有更为广泛的应用。利用联系的观点,以线性方程组求解为主线,顺次引入行列式、矩阵和向量3 个重要工具,基于这3 个工具进一步讨论线性方程组解的存在性、解的结构及求解方法。之后的相似矩阵与矩阵对角化以及化二次型为标准型,可以看做行列式、矩阵、线性方程组的应用。让学生通过归纳、对比和思考将知识之间的联系绘制成思维导图,形成对知识的识记与理解。基于理论与实践的关系,在教学过程中结合教材的知识点拓展相关的专业知识与应用案例,同时培养学生利用Python 语言实现线性代数中经典算法的能力。理论到实践过程,也是将数学知识应用到专业领域的过程,在此过程中,学生对学习对象的认识会更深刻,也会激发其学习兴趣,进一步改善学习态度。
图1 “线性代数”课程思政与专业融合教学架构
2. 基于“雨课堂”+BOPPPS 有效教学法——实现全员参与式互动教学
在教学过程中,使用“雨课堂”和QQ 平台实现课前、课中、课后三大教学环节(如图2),记录学生的学习行为和学习效果,并运用BOPPPS 有效教学法组织教学。BOPPPS 教学方法强调目标导向和参与式学习,注重教学的有效性[12],在教学中巧妙设计课程导言(Bridge-in),并使其尽可能与思政点相融合,教学目标(Objective)分为知识、能力和思政目标,利用前测(Pre-assessment)、参与式学习(Participatory learning)和后测(Postassessment)考查学生的认知、应用能力、情感态度和价值观,总结(Summary)部分加入对学生表现的评价,以褒奖为主,也可以请学生对所学知识作概括和反思。在前测、参与式学习和后测部分可将课堂测试或讨论以问题形式推送给学生,学生可以全员参与问题的回答,并记录成绩。对一些主观问题,学生以图片方式上传解题过程,教师展示学生的作答情况,并对优秀学生给予加分记录到“雨课堂”中。在课堂讨论环节,学生的情感态度会反映在学习行为和效果中,对没有参与回答问题或不认真作答的学生,系统会自动记为0 分。通过BOPPPS 有效教学法的合理设计,利用“雨课堂”提供的实时答题互动功能,实现了全员参与式互动教学。
图2 教学环节设计
3. 与专业贯通,与思政育人融合——实现育“德”与育“才”协同功效
通过讲授过程中巧妙设计,合理融入思政元素及专业应用案例,在帮助学生塑造正确的世界观、人生观、价值观的同时,也使学生了解了线性代数在专业领域的作用,增强了学习动机,提高了学习兴趣。具体地说,通过对行列式、矩阵、线性方程组、特征值产生与发展历史的介绍,使学生形成科学的历史观,通过介绍中国古代对数学乃至科学技术领域的贡献增加学生的民族自豪感、爱国情怀。通过对线性代数做出突出贡献的科学家的成就和生平的介绍,使学生了解数学家对待科学研究孜孜以求,勇克难关的科学精神,引导学生恪守规范的同时要有勇于创新的意识,同时要学会感恩培养过自己的师长、国家,要做到“吃水不忘挖井人”。通过运用马克思主义普遍联系原理和辩证唯物主义认知论,让学生把联系的观点运用到学习当中,帮助其对科学知识的理解,并在联系的基础上,通过归纳、演绎、对比和思考等科学研究方法,形成对知识的理解与运用。在课程内容中融入专业拓展知识,培养创新意识、科学精神和职业认同感。
4. 开展“以学生为中心”的课上和课下教学活动——培养协作、探究的学习能力
以“学生”为中心,开展课上翻转课堂、课下思维导图绘制、小论文撰写、“线性之家”公众号推文等活动。基于费曼学习法,每学期挑出1 ~2节课作为翻转课堂,在翻转课堂前,将授课任务布置给学生,让学生以小组形式,进行PPT 制作和教学设计,上课时随机选出一组进行课程内容讲解,其他组提交录制的微课。利用这种方法,使学生实现从“是什么”到“为什么”再到“怎么做”的认知层次的提升[13]。另外,以小组为单位进行思维导图的整理,通过梳理知识点之间的关系,培养学生的系统观和思维能力。以小组协作方式撰写小论文,论文选题主要围绕线性代数在实际中的应用,包括特征值与特征向量的几何意义及应用,矩阵的对角化及应用,矩阵分解及应用,最小二乘法及其应用,线性代数在机器学习中的应用等,通过查找资料、分析、讨论并撰写论文的过程,培养学生的协作能力、沟通表达能力、论文写作能力及创新意识。通过“线代之家”公众号的搭建,将思政及课程知识的拓展融入每个推文内容中,每个小组负责一篇推文,在整理撰写推文的过程中,学生能够更深入地了解中华民族辉煌的数学成就,线性代数在计算机领域的应用等内容。这些课外活动,使学生在活动交往中产生情感共鸣,培养了责任意识和协作、探究的学习能力。
如何选择合适的思政元素和专业拓展知识,使之能够与教材知识有机地融合是教学设计的难点。专业拓展知识的融入既要考虑学生现阶段的知识储备是否能够理解和接受,还要考虑到这种拓展能否有效地完成教材知识点的内化吸收和升华。同时,还应充分挖掘育“德”功能,引入科学精神、理想信念、责任担当、守正创新等思政元素。
矩阵作为线性代数中的核心内容和重要工具,贯穿了整个教学过程。下面笔者围绕矩阵及运算这部分教学内容介绍课程思政与专业育人案例。
在讲授矩阵的定义及运算时,首先介绍矩阵的发展历史与重要作用,强调矩阵在各个领域的重要性。并针对2020 年6 月美国对哈尔滨工业大学和哈尔滨工程大学禁用Matlab 软件的事件,让学生对以下问题展开讨论:为什么美国“疯狂”打压我国? 面对这样的打压,作为大学生应该做些什么? 以此启发、引导学生热爱祖国,扛起社会责任,为开发具有自主知识产权的优秀产品作出自己的贡献。
基于矩阵分块思想,介绍拓展知识——矩阵乘法的并行计算,并进一步介绍我国科学家在量子并行计算领域的成就:2020 年12 月国际期刊Science发表了我国科学家量子计算研究重要进展。中国科学技术大学潘建伟等科研人员构建的76 个光子的量子计算原型机“九章”,问鼎全球最快计算机。“九章”使并行计算速度指数级增加,其处理特定问题的速度比目前最快的超级计算机快一百万亿倍,这一突破使我国成为全球第二个实现“量子优越性”的国家。引导学生学习知识要精益求精,不断探索,要有创新意识和永攀高峰的钻研精神,同时树立爱国情怀和民族自豪感。
在讲完分块矩阵后,引导学生从列向量的视角重新解读线性方程组,线性方程组反映了常数向量与构成系数矩阵的列向量之间是否存在线性关系,并进一步反映了常数向量是否处于列向量所张成的空间中。引导学生在分析问题时,要多方面观察,寻找更多的可能性。
在讲授矩阵初等变换时,通过类比学生在大学四年生活中的每一次变化,例如,学到了新的技能、掌握了新的知识,都像是做了一次初等变换,每一次变化不是显著的,但就是这一次次“初等变换”,使同学们变得更有学识和能力。但正如矩阵的初等变换不会改变秩一样,同学们在不断追求进步,不断顺应时代与科技的发展变化而改变自己的同时,不变的应该是为实现中华民族伟大复兴而奋斗的理想信念、为国家信息技术领域贡献力量的初心使命。习近平总书记指出:“心有所信,方能行远。面向未来,走好新时代的长征路,我们更需要坚定理想信念、矢志拼搏奋斗”。
在讲授线性方程组的解法时,通过介绍高斯消元法是西方人对线性方程组进行初等行变换的“尊称”,但事实上,这种方法最早出现在我国东汉时期的《九章算术》一书,后来经日本传入欧洲。在高斯出生的德国,很多线性代数教科书中把这一方法称为“Traditional method of China”。通过介绍中国古代对线性方程组的研究所做的巨大贡献,使学生增加文化自信和民族自豪感。
在讲到相似矩阵时,利用基底变换推导相似矩阵间的关系式,通过分析对角矩阵有哪些特点(优点),引导学生寻找相似矩阵中的“最佳矩阵”——对角阵,一个矩阵如果与对角阵相似,那么这样的矩阵也会具有对角阵的一些优点,其特征值就是对角阵中的对角元。引导学生“见贤思齐,择善而从”,要有远大的理想抱负,在学习和工作中追求卓越。
现实生活中许多事物及关系都可以用矩阵来抽象表示,因此矩阵在现实生活中,特别是计算机科学中具有重要的应用价值。在教学中,考虑到授课对象是大一新生,多数同学对专业不了解,所以专业拓展内容不宜过于复杂,既要有利于线性代数知识的内化吸收,也要能激发学生对专业学习的兴趣和认同感。据此,笔者在矩阵部分专业拓展内容引入时,主要设计了以下几个应用案例:
1. 矩阵的基本运算在数字图像处理中应用
矩阵的基本运算是基础且重要的内容,虽然运算规则比较容易掌握,但由于矩阵本身的抽象性,学生学习的时候经常会产生这样的疑问:为什么要这样算,这样的运算到底有什么用? 引入矩阵的基本运算在数字图像处理中应用的案例,一方面是因为可以很自然地进行专业内容的拓展介绍,使学生了解到线性代数的知识对专业学习是非常有用的,从而增加学习动机;另一方面是由于人们对图像的记忆相对于对数字的记忆更加快速,通过将数字与图像进行关联能够强化对矩阵运算内容的理解、记忆和运用。
数字图像由二维的元素组成,每一个元素具有一个特定的位置(x,y) 和幅值f(x,y),其中f(x,y) 称为像素,因此在计算机中数组图像可以以矩阵形式存储。单色(灰度)图像中每个像素的值表示其亮度,取值范围为0 ~255,0 表示黑、255 表示白,其他值表示处于黑白之间的灰度阶[14]。利用Python 程序将lena.jpg 转换为灰度图像,并获得其对应的矩阵形式(512×512 阶),通过执行矩阵加法让每个元素都加上相同的正数60(如果结果大于255,则取值255),实现图像的亮度提升,通过加上相同的负数-60(如果结果为负,则取值为0),实现图像亮度的降低(如图3)。通过将lena 图像与另外一幅风景图像对应的矩阵做线性组合运算实现图像的叠加(如图4)。为了让学生直观看到图像的矩阵表示,从lena 图像对应的(512×512)的矩阵中截取了5×5 的区域data[200 ∶205,200 ∶205],并将局部区域矩阵运算结果放到对应的图像下方,使学生能够建立矩阵与图像,以及矩阵的运算与图像的变化之间的对应关系。
图3 矩阵加法运算——实现图像明暗度变化
图4 矩阵线性运算——实现图像叠加
2. 矩阵初等变换的程序实现与在加密解密中的应用
矩阵的初等变换,特别是初等行变换在解线性方程组、矩阵求秩、矩阵求逆、求特征值、证明两矩阵等价中具有非常广泛的应用。基于专业特色,笔者采用由课内知识点出发,由易到难、由理论到实践、由课内到课外的层层递进的教学设计流程(如图5 所示),在理解了初等变换ri↔rj( 第i行与第j行交换) 、ri× k( 第i行乘以非零数k)、rj+ri×k( 第j行加上第i行的k倍)概念基础上,让学生用自己熟悉的编程语言编写3 个初等行变换对应的函数ExchangeTwoRow(i,j)、ScalarMultiplyRow(k,i)和ScalarMulRowAdd(k,i,j)。由于初等行变换函数功能简单,所以3 个函数的编写对学生来说并不困难;接下来,可以布置让学生进一步调用上面的3 个函数实现求行最简形,构造可逆矩阵的程序;最后向学生介绍利用初等变换构造可逆矩阵的方法可有效地用到加密技术中:已知B是明文矩阵,加密时,通过构造一个加密的密钥矩阵A(可逆),采用矩阵乘法C =AB可获得密文矩阵C;解密时采用矩阵乘法A-1C =B,由密钥矩阵A的逆矩阵和密文矩阵求得明文矩阵。如何有效地构造可逆矩阵是实现加密、解密的关键,而初等变换恰恰可以有效地实现这一功能。由于课上时间有限,所以将这部分内容作为课下拓展活动:两个学生为一组完成信息加密和解密任务,并将任务完成情况传到雨课堂。通过这样由“听”到“做”、由“学”到“用”的教学活动,学生对初等变换及相关定理能够更深入地理解并熟练地运用,同时对其在专业中的具体应用也有了了解。
图5 矩阵初等变换教学设计流程图
3. 通过图像的变化领会矩阵秩的性质
矩阵的秩是相对抽象且难记忆的知识点,特别是秩的相关性质,这是因为抽象的信息与感官没有直接的联系,所以难以记忆和理解。因此,可利用该知识点在专业领域中的应用,考虑建立数字与图像之间的关联,从而达到拓展专业知识,强化知识记忆的目的。譬如针对矩阵秩的下面两个性质:
性质1:给定矩阵A和可逆矩阵P、Q, 则R(PA)=R(AQ)=R(PAQ)=R(A),即一个矩阵与满秩矩阵相乘保持秩不变。
性质2:给定矩阵A,B(假设A与B可乘),则R(AB) ≤min{R(A),R(B)} 。
在教学中,可基于Python 语言,首先将le⁃na.jpg 的灰度图像转换为对应的矩阵A,然后利用Q=np.eye(512)∗2 语句构建一个对角元素值均为2 的512 阶纯量矩阵,再用B=(np.ones(262144)∗0.002).reshape(512,512)构建一个元素值均为0.002 的512 阶方阵,然后用A分别乘以Q和B,并将结果矩阵AQ和AB转换为图像显示出来,图6 给出AQ对应图像及其局部矩阵运算的结果,由于Q是满秩(可逆) 的纯量矩阵,AQ中的每个元素数字都增大了2 倍,使得对应图像中人物不变,但起到提亮图像的作用,且结果矩阵AQ的秩没有变化。图7 给出了AB对应图像及其局部矩阵运算的结果,由于B是一个降秩矩阵(秩为1),所以AB的秩变为1,原来矩阵A中信息丢失,结果图像变成条形图案了。
图6 A与满秩的纯量矩阵相乘后的效果
图7 A与秩为1 的矩阵相乘后的效果
本课程的教学成效评价采取形成性评价(平时30%)+终结性评价的方式(期末70%),其中形成性评价由多元评价方式组成。评价内容不仅包括认知的评价,而且包括对情感态度与价值观的评价。其中情感态度和价值观的评价主要关注学生在课前、课中、课下任务及小组活动中的行为所体现出的态度、价值观,借助雨课堂记录学生成长过程中的具体行为和产生的结果,以此作为衡量情感态度和价值观的评价依据,考核内容依据课程目标来设定,表2 给出了教学效果评价的设计方案。同时以问卷形式收集了学生对课程思政与专业育人成效的反馈信息,2020 级计算机科学与技术专业2 个班总计99 人,参与问卷人数93 人,统计结果如图8 所示。图9 给出了期末总评成绩直方图,2020 级两个班平均分81.5 分,及格率为95.6%,在此轮教学中学生评教分数为98.194 7,名列学院前茅。评价结果充分说明了采用这样的教学模式有效提升了学生学习课程的兴趣,调动了学生学习的积极性和主动性。
表2 教学效果评价设计
图8 课程思政及专业育人效果反馈
图9 总评成绩分布直方图
本课程基于一致性建构原则,以毕业要求和课程目标为导向,探索了线性代数教学与思政育人、专业育人相融合的三维立体教学架构,课程实践中采用“1+2+3+4”的教学模式,以唯物辩证法作为指导,以现代教学理念和信息技术为支撑,深入挖掘线性代数知识中的思政元素和专业应用案例,使线性代数知识的传授与思政育人结合,与专业贯通,实现了三者的有机融合。让学生在正确的理想信念和价值观的引领下,激发专业学习兴趣和职业认同感,达到“育德”与“育才”的协同功效。