欢迎来到专业的卓越文库网平台! 工作总结 工作计划 述职报告 心得体会 疫情防控 思想汇报 事迹材料 教案设计
当前位置:首页 > 范文大全 > 公文范文 > 正文

基于计算思维培养的离散数学教学探讨

时间:2022-10-21 11:30:12 来源:网友投稿

摘 要 计算思维是是当前计算机教育中重点研究的课题,对计算机专业的人才培养提出了更高要求。针对如何培养学生计算思维的问题,本文主要探讨在离散数学的教学过程中,通过案例的巧妙设置,将抽象和自动化这两个核心思想贯穿于教学中。

关键词 计算思维 离散数学 案例抽象

中图分类号:G424 文献标识码:A

Discrete Mathematics Teaching Based on

Computational Thinking Training

YANG Haiqiong, WANG Maoji

(Ningbo Dahongying University, Ningbo, Zhejiang 315175)

Abstract Computational thinking is the key research topic in current computer education, put forward higher requirements of personnel training for computer professionals. On how to develop students" computational thinking problem, this paper focuses on the teaching process of discrete mathematics, through clever settings of cases, make abstraction and automation these two core ideas throughout the teaching.

Key words computational thinking; discrete mathematics; case abstract

计算思维(Computational Thinking)是由美国卡内基·梅隆大学周以真(Jeannette M. Wing)教授于2006年3月在《Communications of the ACM》杂志上首次提出的,其定义是:运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。周以真教授认为,计算思维不仅仅是计算科学家的事情,而是每个人必备的基本能力。他认为,每个孩子在平日中培养解析能力时,不仅仅要学会阅读、写作和算术(Reading, Writing, and Arithmetic——3R),还要掌握计算思维。

计算思维的概念一经提出就引起了国内外教育界和科学界的广泛关注。美国计算机协会(ACM)2008年公布对CC2001(CS2001)进行的中期审查报告(草案)中,就明确将“计算思维”与“计算机导论”课程绑定在一起,明确要求该课程讲授计算思维的本质。另外,计算思维直接促成美国国家科学基金会(NSF)重大基金资助计划CDI的产生,CDI计划旨在使用计算思维促进美国自然科学和工程技术领域产生革命性的成果。

数据结构、编译原理、操作系统、数据库原理等专业课程的学习都是建立在离散数学的基础之上,因此,离散数学在计算机专业教学中起着举足轻重的作用,是计算机专业的核心基础课程。并且此课程在学生抽象思维能力和逻辑思维能力的培养过程中有着重要作用。此文主要在讨论通过案例的巧妙设置,加强学生计算思维能力的培养。

1 计算思维的本质和离散数学的关系

我们知道,计算思维最本质的内容是抽象化和自动化,其特点是形式化、程序化和机械化。当一个人具备了技术思维能力时,具体表现为以下四点:对于具体问题,能理解其哪些方面是可计算的;能够对计算工具或技术与需要解决的问题之间的匹配程度进行评估,能够将计算工具和技术用于解决新的问题;能够识别出使用新的计算方式的机会;能够在任何领域应用诸如分而治之等计算策略。因此计算思维的结论应该是构造性的、可操作性的或者是能行的。这和计算科学的根本问题即什么能被有效地自动进行(对象的能行性问题)是相一致的。因为连续对象(即非离散对象)是很难进行“能行”处理的,所以几乎所有关于“能行性”的问题,都是处理离散对象的。“能行性”作为计算机学科的根本问题,直接导致了计算机本身的结构和处理对象都是离散型,并且许多连续对象都要经过离散后才能被计算机处理。所以,我们说,计算机科学与技术本质上是一门离散数学技术。

以离散数学为课程依托,培养学生的计算思维,并引导学生运用计算思维来解决学习中各种问题,这是值得笔者深思的。

2 在教学中嵌入计算思维的思想

以往的学习中,学生普遍感觉离散数学的概念多,内容杂,学习不得要领。基于此,我们尝试在教学过程中提炼计算思维的思想,即什么是可计算的?从而揭开离散数学课程的本质。限于篇幅,仅举两例说明如何在教学中结合计算思维展开教学。

在讲授命题逻辑时,我们通过引入实例如设计一个符合如下要求的室内照明控制线路:在房间的门外、门内及床头分别装有控制同一个电灯F的3个开关A、B、C。当且仅当一个开关的搬键向上或3个开关的搬键都向上时电灯亮。从计算思维的角度看,可以将决定该题的逻辑思维过程抽象为符号演算,涉及命题逻辑中的联结词、真值表、主析(合)取范式、等值演算等内容。即将开关向上符号化为1,向下符号化为0,F灯亮符号化为1,灯灭符号化为0,借助命题逻辑的内容,可以将该表进一步抽象化为F的逻辑表达式。

在讲授欧拉图和哈密尔顿图时,我们也可以将计算思维融入其中。具体的,可以从图论的起源——哥尼斯堡七桥问题谈起。欧拉当时研究七桥问题时将桥的形状、长度、宽度等因素都舍去,用一条边表示桥,用点表示与桥连接的地点,从而构建了无向图模型。接着,在讲述欧拉当时如何思考的基础上总结出两条判定定理。最后让学生通过玩一笔画游戏深刻领会如何判定一个图中是否有欧拉图和欧拉通路。对于哈密尔顿图同样也是如此,从周游世界问题开始,引导学生通过思考抽象出该问题的本质,然后引出判定哈密尔顿图的必要条件和充分条件。通过比较定义和判定条件的不同,对这两个知识点进行概括总结,单词接龙是一个很好的例子。规则是假设有多张卡片,每张卡片上都写着一个英文单词,现在要把这些卡片按照一定的顺序连成串。要求每张卡片(第一张卡片可以除外)上的单词的首字母恰好是前一张卡片上的单词的尾字母,并且每张卡片只能用一次(不区分大小写)。对此问题,学生可能会给出两种抽象模型。第一种方法是很自然的,将每个单词作为一个顶点,两个单词之间存在一条边当且仅当前一个单词的末字母与后一个单词的首字母相同。这样单词接龙问题就转化为寻找哈密顿通路的问题。第二种方法是将所有的英文字母看作26个节点,每个单词看作一条有向边,有向边的始点是单词的首字母,终点是单词的尾字母。这样单词接龙问题就转化为寻找欧拉路径的问题。对比这两种方法,第一种方法是NP难问题,第二种方法的复杂度为多项式时间。显然第二种是更好的方法。通过这个例子,引导学生对具体问题进行抽象,并对比各种解决方法的可计算性和复杂性,从而有效训练了学生的计算思维。

事实上,在离散数学教学中,最本质的内容是抽象和自动化这两点,几乎每个知识点都涉及这两点的内容。如何将知识点用浅显易懂的方式传递给学生成为教师的使命。笔者认为通过案例将计算思维的本质传递给学生就是一个很好的方法。

3 结语

在计算机专业课程的学习中,离散数学是一门难啃的骨头。然而计算思维的提出给我们提供了一种改革离散数学教学内容和教学模式的新思路。在离散数学教学中结合计算思维,需要任课教师在教学实践中不断探索,总结经验,将课程的本质呈现给学生,有效提高学生的逻辑思维、计算思维和创新思维等能力。

参考文献

[1] Jeannette M.Wing. Computational Thinking[J].Communications of the ACM,2006.49(3):33-35.

[2] CS2001 Interim Review [EB/OL].http://wiki.acm.org/cs2001/index.php? title=main_page,2008.

[3] 牟琴,谭良.计算思维的研究及其发展[J].计算机科学,2011.38(3):10-15.

[4] 耿素云等.离散数学(第四版)[M].清华大学出版社,2011.

推荐访问:离散 数学教学 探讨 思维 培养

猜你喜欢