APP下载

新工科背景下离散数学课程目标定位与课程改革

2019-05-09周晓聪乔海燕

计算机教育 2019年4期
关键词:离散数学工科建模

周晓聪,衣 杨,乔海燕

(中山大学 数据科学与计算机学院,广东 广州 510006)

1 新工科建设与离散数学课程

新工科建设的核心目标是要在国家实施创新驱动发展、“中国制造2025”“互联网+”“网络强国”“一带一路”等重大战略的背景下,为响应国家战略需求,支撑服务以新技术、新业态、新产业、新模式为特点的新经济蓬勃发展而培养大批新兴工程科技人才[1]。计算机科学与技术、软件工程作为比较传统的工科专业要与数据科学与大数据技术、智能科学与技术、物联网工程等新兴工科专业相结合来建设信息技术学科的新结构。

新工科建设的关键是要树立创新工程教育理念,深化工科教育改革,注重学生的工程和科技创新能力的培养,树立全面综合的工程教育理念,加强跨学科、多学科知识和能力、人文和管理能力,运用所学知识解决真实世界复杂工程问题的综合能力培养,树立全周期工程教育理念,培养学生树立对产品、系统和过程全生命周期的系统工程观,以更加开放和广阔的视野,立足当前需求,面向未来、面向国际,以学生为中心,建设贴近业界、聚焦需求、结果导向、持续改进的工程教育[2]。

离散数学是计算机类专业的核心基础理论课程,是计算机类专业许多核心课程的先导课程。传统上,离散数学课程具有内容抽象性高、逻辑性强、理论性强等特点,很容易被当做一门纯理论课程,甚至纯数学课程。虽然近年来对在离散数学课程中如何强化计算思维能力的培养进行了探索[3],但仍然是一种偏向理科教育的教学思路。为适应新工科背景下对新兴工程科技人才的要求,适应传统计算类专业与新兴专业融合发展的需求,需要在课程目标定位、课程内容组织和课程教学模式等方面做进一步的探索,以发挥离散数学这类基础课程在创新性、综合化、全周期工程教育中的重要作用。

2 课程目标的“新定位”

通常人们都会将培养学生的抽象思维和逻辑推理能力作为离散数学的主要教学目标[3],近年来随着“计算思维”概念的提出和不断深入讨论,人们也逐渐将培养学生的计算思维能力纳入离散数学的教学目标[4-5],不少学者也提出了将培养学生的模型构建能力作为离散数学课程的教学目标之一[6-8]。目前人们对离散数学课程教学目标的探讨都没有在新工科建设背景下工程教育的角度进行讨论。以CDIO教育模式为代表的工程教育模式强调培养学生树立产品、系统和过程全生命周期的系统工程观,强调围绕学生毕业后所制造产品、系统或过程的构思(Conceive)、设计(Design)、实现(Implementation)和运行(Operation)需要的知识和技能设计课程体系和课程教学目标[9]。因此,从工程教育角度探讨离散数学课程教学目标,要从信息技术产品的构思、设计、实现和运行需要的知识和技能出发,思考课程讲授的知识和培养的能力在信息技术产品的生命周期中所能发挥的作用而对课程目标进行定位。

信息技术产品生命周期过程中最核心的内容是离散模型的构建与转换。信息技术产品的构思和设计必然是对所要解决工程问题的离散建模,实现和运行则是将离散模型转换为在计算机平台上实现和运行的软件或硬件。按照计算机科学与技术专业教学指导委员会对计算思维能力的能力点描述,计算机类专业学生最基本的能力也是离散模型的构建与运行[10]。

如果说离散建模能力是制造信息技术产品所需要的最基础能力,那么离散数学课程则是培养学生离散建模能力的最基础课程,因此应当将培养学生离散建模能力作为离散数学课程的核心教学目标。已经有学者提出将培养学生的模型构建能力作为离散数学课程的教学目标[6-8],但仅是空泛地将模型构建能力培养作为课程教学目标还不够,需要根据工程教育理念,对课程目标进行细化,最好能进行量化,以定量化地考核课程教学目标对专业毕业能力要求和培养目标的支撑。

离散数学课程通常在大学一年级开设,因此要在课程中培养学生构建复杂模型的能力不现实,也很难通过讲授离散数学知识在计算机专业后续课程中的建模应用来完成离散数学课程的教学目标。离散数学课程培养学生建模能力的教学目标既要具体化、细化甚至量化,也要难度合适,切实可行。基于对离散模型特点的分析,我们将离散建模能力在离散数学课程的培养目标细化为培养学生能有条理、明确和系统地描述问题、分析和求解问题。

有条理(methodically)是指要能抓住问题要点,并对其进行有规律、有秩序的罗列,进一步要找到合适的切入点将问题进行分解、离散化,去掉细节,归纳要点,并按一定的规律进行枚举、罗列;明确化(definitely)是指给出的问题要点要清晰,无歧义,要点之间的关系、界限清晰,不模糊,要点之间最好没有重叠,进一步每个要点要容易理解或切实可行,甚至是机械化、形式化的;系统化(systematically)是指给出的问题要点要全面、周密,尽量能覆盖问题所有可能情况。

能够有条理、明确和系统地描述问题是离散建模的第一步,作为本科一年级学生,能较好地做到这一点,在后面的专业学习再结合后续课程知识就能逐步形成对复杂问题进行离散建模的能力。离散数学课程的逻辑、集合、函数、关系、图、树、计数等知识非常适合作为载体培养学生有条理、明确和系统描述问题的能力。离散化是条理化的第一步,而数学语言是明确描述问题的最好语言。将离散建模的理念贯穿到整个课程的教学,将有条理、明确和系统描述问题的准则贯穿到教师的例题讲解和学生的习题解答,就可让学生逐步掌握离散模型的特点,进而以离散建模思维方式分析问题和求解问题,达到培养学生离散建模能力的目标。

能否有条理、明确和系统地描述问题、分析问题和解决问题可作为学生是否具有基本离散建模能力的度量,可通过学生在作业或考试中对课程问题求解的表述进行评价和量化,比提高学生抽象思维、逻辑推理能力这种相对空泛的目标更容易量化课程教学目标的达成度,更符合工程专业认证的理念。对于计算机类专业本科一年级学生,要有条理、明确和系统地描述问题并不是十分容易达到的目标。我们在多年教学实践中发现,能抓住问题的要点,并能准确、全面表述问题求解要点的初学者实际上不多,因此有必要在离散数学这样的课程中系统训练和培养学生的这种能力。

3 课程内容的“新组合”

离散数学被誉为计算机科学的数学,但是计算机科学到底需要哪些专门的数学知识却颇有争论,这导致离散数学课程的教材模块众多,使得学生总认为离散数学课程的内容比较“离散”,各个模块的知识缺乏有机联系。教师可以从培养学生离散建模能力的角度出发,对离散数学课程的知识内容重新进行整理与组合,以更好地挖掘这些知识内容之间的内在联系,从而凸显课程的教学目标。

表1以Rosen编著的《离散数学及其应用(英文影印版第七版)》[11]为基础,对该教材包含的知识模块从离散建模的视角进行初步整理与组合。

教师可从模型表示、模型分析和模型转换等角度考虑离散建模所需知识。模型表示不仅包括模型元素,还包括模型元素之间的约束和对模型元素可能的操作。模型元素以及元素之间的约束、操作一起确定离散模型的结构。为建立好的模型,还要能对模型性质和性能进行分析。模型性质的分析可从模型元素的性质、模型约束以及模型操作出发分析模型是否充分描述待求解问题。模型性能的分析主要是分析模型元素的个数,操作的效率等,以求能更高效率地对模型进行转换,最终使用计算机技术进行高效地求解。建模的过程和目的都是对模型进行转换,首先将具体的应用问题转换为有条理、明确和系统化(但仍可能是自然语言)描述的抽象模型,然后到机械化、形式化的(用伪码或受限自然语言描述的)算法模型,或者是完全使用数学语言描述的数学模型,最后到使用计算机语言描述的软件或硬件,从而达到使用计算机技术进行求解的目的。

因此,从离散建模的视角出发,学习集合、整数、函数、关系、序列、矩阵、图、树、布尔代数和自动机等相关的知识的主要目的是掌握可用于表示和描述模型的元素及离散化结构,而逻辑、函数、关系、布尔代数等相关内容则可展示如何描述模型元素之间的约束。逻辑和证明技巧,包括归纳证明技巧则是对模型性质进行分析所要掌握的基础知识,组合计数的相关知识是学生能对模型性能进行分析的必备知识,最后算法相关的基础知识则是将用自然语言描述的模型转换到计算机语言描述的软硬件之间的重要环节。

计算机类专业本科一年级学生通常已经学习相关程序设计语言的基本知识,在离散数学课程中尽早地、比较系统化地学习算法基本概念和算法分析基本方法有助于提高学生程序设计的能力,也有助于学生学习后面的数据结构与算法、算法设计与分析等课程,所以我们非常认同在离散数学课程中引入有关算法的内容,这使得离散数学课程真正成为计算机专业的课程而非数学专业的课程,也使得离散数学课程的教学可更符合工程教育理念。

4 课程教学的“新模式”

以培养学生离散建模能力为核心的课程教学目标需要课程教学“新模式”的支撑。离散数学课程由于内容多,学时有限,课堂上经常是教师从头到尾一直讲解,很少开展探究式、交互式等鼓励学生主动学习的教学模式。为避免这种“满堂灌”的教学,需要大胆抛弃以往注重课程知识系统性和完整性的教学思路,利用已有的国家精品课程资源,精心设计每堂课的教学目标和教学过程,以精选例题、习题为中心实施探究式教学,将系统性、完整性的知识学习主要留给学生通过网络资源或教师自己录制的视频、课件完成,而将课堂时间用于知识的串联,离散建模思维的贯穿,通过探究式、案例式学习让学生主动地学会有条理、明确和系统地描述问题、分析和求解问题。

表1 离散建模视角下的离散数学课程知识模块的“新组合”

例如,对于离散数学课程的命题逻辑部分的主要内容是命题公式真值表的构造、命题公式的等值演算和自然语言命题在命题逻辑中的符号化。实际上,高中数学已经涉及到基本逻辑运算符“与”、“或”、“非”,因此没必要从基本逻辑运算符的真值定义开始讲解,可直接将重点放在真值表的构造,在给出命题公式直观语法的基础上,构造含2、3个变量的命题公式真值表,并强调:①需要有规律地罗列2个或3个命题变量的所有可能赋值,这里还可强化学生有条理、系统表述问题的重要性;②真值表的构造应该按列构造,每列考虑命题公式的一个运算符的计算,而不是一次性地给出一行命题变量某个可能赋值组合下整个公式的真值。

例如,对于命题公式(p®q)Ú(ØpÙq)的真值表,除给出p和q所有可能赋值的两列外,还 应 该 有 计 算 p®q、Øp、ØpÙq和(p®q)Ú(ØpÙq)四列,而不只有计算整个公式(p®q)Ú(ØpÙq)这一列。每次只考虑一个运算,可以让思路更有条理化,这时还可串联基本逻辑运算符计算真值的特点,也可引入公式语法树的直观概念,让学生初步掌握怎样根据公式语法结构排列真值表的列,进一步还可讨论如何由计算机自动构造真值表。

作为本科一年级课程,教师不应期望通过讲授离散数学知识在计算机专业其他课程中的应用来培养学生建模能力,而应该在课程本身的内容中挖掘案例,例如上面遵循语法树这样的(命题逻辑公式)模型构造真值表。又如,自然语言命题在命题逻辑或谓词逻辑中的符号化都可认为是一种建模,用精确、无歧义的逻辑公式建模不精确、可能模糊的自然语言命题。从培养建模思维的目标出发,教师在讲授时要让学生学会抓住自然语言命题中的要点,理清它们之间的关系。

实际上,离散数学课程知识模块到处都有类似的离散建模思维的体现,例如大家都公认许多应用问题可使用图和树的知识进行建模。但同样的,其他知识模块也很多适合强化离散建模思维的内容,例如使用递推式建模组合计数问题,组合等式的组合证明则是用实际的应用问题实例化抽象的组合等式,是从抽象到具体的逆向建模。

因此,要以离散建模思维的培养为导向,充分挖掘离散数学课程各知识模块中的建模案例,开展以案例为中心的探究式教学新模式,通过精心设计的课程教学过程,向学生展示如何有条理、明确和系统地描述问题、分析和求解问题。强化离散数学课程各知识模块间的相互应用,使离散数学课程的知识成为有机整体,而不是分散的知识模块。全方位地将计算思维与离散数学课程教学内容相结合,既体现离散建模思维在其他课程,特别是程序设计课程中的应用与类比,也要重视计算机技术在离散数学课程的应用,例如真值表的自动构造、组合计数问题和递推式的计算机程序验证等。

5 结 语

新工科建设的核心目标是要培养大批的新兴工程科技人才,新工科建设的关键是要树立创新的工程教育理念。离散数学作为计算机类专业的核心基础理论课程,要从信息技术产品的构思、设计、实现和运行需要的知识和技能出发,思考课程讲授的知识和培养的能力在信息技术产品的生命周期中所发挥的作用,确立以离散建模能力培养为核心的课程教学目标,从离散建模的视角审视离散数学课程各知识模块与模型表示、模型分析和模型转换相关的知识,将这些知识整合成更为有机的整体。大胆抛弃强调知识体系完整性和系统性的教学思路,以离散建模思维的培养为导向,充分挖掘离散数学课程各知识模块中的建模案例,开展以案例为中心的探究式教学模式,通过精心设计的课程教学过程,向学生展示如何有条理、明确和系统地描述问题、分析问题和解决问题。

我们在近几年的教学实践中,通过积极思考和调研,挖掘了一些离散数学课程中适合用于培养离散建模思维的案例,在教学过程中取得了不错的效果。我们将在总结以往经验的基础上,编写相关教材,不断深入教学实践与改革,以期离散数学课程能在新工科建设背景计算机类专业工程人才培养中发挥重要作用。

猜你喜欢

离散数学工科建模
“新工科”和OBE模式下的车辆工程实践课改革
新工科背景下计算机专业创新创业人才培养探究
物理建模在教与学实践中的应用
新工科背景下项目推动式教学模式的探索
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
求距求值方程建模
天津大学:成立全球首个新工科教育中心
Dijkstra算法设计与实现
建构主义教学法在离散数学教学中的应用初探
慕课风暴下“离散数学”课程的教学思考与对策