日期:2023-01-06 阅读量:0次 所属栏目:职业教育
计算思维[1]是美国卡内基·梅隆大学计算机科学系主任周以真教授在美国计算机权威期刊《Communications of the ACM》杂志上给出的概念,它被公认为近十年来最具有基础性、长期性的重要思想。计算思维概念一经提出就引起了学术界和教育界广大学者的深切关注。学术界主要关注的是如何利用计算思维改变传统的思考问题方式,进而促进相关领域的创新能力培养,而教育界主要关注如何在人才培养过程中加强计算思维能力的培养。近年来,国内外许多计算机教育者对计算思维进行了深入研究。中科院自动化所王飞跃教授率先将国际同行倡导的“计算思维”引入国内,王教授翻译了周以真教授的《计算思维》一文,[2]撰写了相关的论文《计算思维与计算文化》。中国科学院计算所李国杰院士提出:“计算思维是运用计算机科学的基础概念求解问题、设计系统和理解人类行为,它选择合适的方式陈述一个问题,对一个问题的相关方面建模,并用最有效的办法实现问题求解。”[3]孙家广院士在《计算机科学的变革》[4]一文中明确指出:“(计算机科学界)最具有基础性和长期性的思想是计算思维。”中国科学院计算技术研究所研究员徐志伟总工认为:“计算思维是一种本质的、所有人都必须具备的思维方式,就像识字、做算术一样;在2050年以前,让地球上每一个公民都应具备计算思维的能力。”在国外,美国NSF、Purdue、Duke、Princeton和CMU等机构学府对于计算思维都有较多的讨论,他们普遍认为计算机专业的核心课程应结合计算思维开设,同时为非计算机专业开设CS导论性质的课程。一些教学实践工作者将计算思维的思想和概念引入到计算机教学过程,希望以计算思维驱动计算机学科的教学和课程改革。[6,7]
离散数学作为计算机类专业的核心基础课程,具有知识点散、概念多、理论性强、高度抽象等特点,被广大师生认为是一门既难教又难学的课程。离散数学教学内容包括数理逻辑、集合论、代数结构和图论等四部分,它在各学科领域,特别在计算机科学与技术领域有着广泛应用。从科学计算到信息处理,从理论计算机科学到计算机应用技术,从计算机软件到计算机硬件,从人工智能到认知系统,无不与离散数学密切相关。通过离散数学,不但可以掌握处理离散结构的描述工具和方法,而且可以增强抽象思维,培养严谨的逻辑推理能力,为创新型研究打下基础,对后续的计算机专业课程,比如程序语言、密码学、数据结构等核心课程,提供了必需的理论基础。更为重要的是通过逻辑推理、离散结构以及构建模型等方面的学习和研究,可以提高学生的数学思维能力和实际问题求解能力。离散数学本身的课程内容虽然具有一定的联系,但又自成体系,容易给学生造成各部分内容互不相连的错觉,从而无法明确该课程学习目的。另一方面,离散数学课程中,定义和定理比较多,抽象难懂,学生一时难以理解和记忆。通过调查发现,大部分计算机专业的学生普遍对离散数学并不感兴趣,认为本课程对专业知识和逻辑能力的培养没什么作用,甚至于有些老师认为该门课程可开可不开,进而压缩上课课时。因此,如何有效地开展离散数学教学改革是一项非常值得研究的课题。本文在分析了计算思维与离散数学之间的内在关系基础上,重点探讨了如何在教学内容和教学方法两个方面展开改革以加强学生计算思维的培养。
一、计算思维与离散数学
根据周以真教授的定义,[1]计算思维是运用计算机科学的基本概念来求解问题、设计系统和理解人类行为,包括了一系列广泛的计算机科学的思维方法。比如,在解释一个看起来比较复杂的事物时,计算思维通常会采用约简、转化、仿真等思维方法;在处理复杂的问题时,通常会采用抽象以及分而治之的思维方法。计算思维采用多视角、最适合的表示方式来表述一个问题,或者对问题的某个特定方面进行建模,从而使问题易于理解和处理。周以真教授认为一个人具备计算思维能力体现在如下几个方面:给定一个问题,能够理解其哪些方面是可以计算的;能够对计算工具或技术与需要解决的问题之间的匹配程度进行评估,能够理解计算工具和技术所具备的能力以及其局限性;能够识别出使用新的计算方法的机会;能够在任何领域应用诸如分而治之等计算策略。
离散数学作为计算机相关专业的一门重要基础课,它所研究的对象是离散量的结构以及相互间的关系,其内容对后续的数据结构、编译原理、数据库原理、人工智能等计算机核心课程都具有非常重要的作用。通过学习离散数学,可以培养和提高学生的抽象思维和逻辑推理能力。而抽象思维和逻辑推理恰恰是计算机科学最常用的思维方法,也可以说是计算思维的核心所在。因此,离散数学教学内容所蕴含的思维方法恰恰体现了计算思维,另一方面,也可以从计算思维所包括的思维方法角度重新审视和梳理离散数学的教学内容,从培养计算思维和解决实际问题两个角度展开教学内容和教学方法方面的研究,更好地进行离散数学的教学,从根本上解决传统离散数学教学中所面临的问题。
二、基于计算思维培养的离散数学教学内容改革
在离散数学的教学中,讲授的具体知识点基本都涵盖了计算思维中其它基本概念和思维方法。比如数理逻辑部分就涵盖了归结推理、约简等常用的思维方法,等价关系涵盖了软件测试中常用的样本点选取的思维方法;代数结构涵盖了抽象的思维方法。为了更好地展开教学,针对离散数学的教学内容进行了基本概念和思维方法的抽取,并在实际教学过程中将这些计算思维中的方法传输给学生。例如,在讲解数理逻辑中的归结推理方法后,将以伪代码的形式表达其算法,并且鼓励学生利用LISP语言完成命题逻辑的归结推理算法。同时,在给出归结推理算法后,对算法的复杂度、完备性、可终止性等问题进行简单论述,从而告知学生谓词逻辑本身是不可判定的。下面两个表格(见表1、表2)列出了在教学过程中整理出来的部分教学知识点与计算思维的对应关系。限于篇幅,在此不一一阐述。
三、基于计算思维培养的离散数学教学手段改革
在对教学内容进行改革的基础上,采用何种有效的教学手段展开教学,是能否培养学生计算思维能力的关键。在教学过程中,主要采用两种方法:归纳学习法和案例驱动法。
所谓归纳学习法是通过归纳思维,形成
对知识的特点、中心、性质的认识、理解与运用。在教学过程中,讲解完具体的教学内容后,都会将其蕴含的计算思维方法进行归纳总结,并利用其蕴含的计算思维方法去解决一个实际生活中的问题,比如:在讲解完代数系统部分的内容后,其蕴含的主要计算思维方法就是抽象,从而可以将有理数四则混合运算、实数运算和复数运算等抽象为代数系统。然后,就可以引入面向对象程序语言中的抽象概念,包括类、对象等,很好地将离散数学中的教学内容与学生所熟悉的编程语言有效地结合起来。一方面,加深学生对教学内容的理解,另一方面,学生能够灵活运用所学的计算思维解释现实问题。
归纳学习法是从教学内容出发,提炼计算思维,解决现实问题的过程。而案例驱动教学法则是根据现实问题,使用计算思维引出教学内容的过程。在教学过程中,如果突兀地引入具体的教学内容,而不对其应用场景进行阐述,大部分学生都会感觉无法理解。为此,引入了案例驱动教学法。例如,在介绍最短路径算法时,一般先引入旅行商问题,然后利用抽象的思维方法将一些无关的因素去掉,进而构建出一个抽象图的形式呈现出来的模型,自然地引入了最短路径算法。同时在算法介绍过程中,可以对权值所表示的含义进行解释,既可以表示时间也可以表示路长,从而产生两种不同的路径。最后可以让学生把这一问题推广到软件项目管理中关键路径的处理,激发更深层次的思考。在讲述欧拉图的时候,可以类似地展开案例教学法。首先,给出著名的哥尼斯堡七桥问题,然后利用抽象的计算思维方法忽略桥的宽度、距离等无关的因素,从而对哥尼斯堡七桥问题进行建模,自然地得出欧拉图的定义。
四、结束语
作为计算机相关专业的核心基础课程,离散数学为计算思维能力的培养提供了一个很好的平台,也为更好地展开离散数学教学内容的组织和教学方法的改革提供了思路。本文在分析离散数学教学内容和计算思维的内在关系基础上,从教学内容和教学手段两个方面进行了一定的探索,将计算思维的培养有机地结合到离散数学的教学过程中。从教学效果和学生反馈来说,都取得了显著的成效。然而,在加强了计算思维的培养之后,还要求能够应用新的思维方法解决具体的专业问题,能够推陈出新,提出新的思维方法。这些方面仅仅依靠离散数学的教学还远远不够,需要将计算思维的培养理念贯穿于各个专业课程的教学过程中。
参考文献:
.Communications of ACM,2006,49 (3):33-35.
[2]周以真.计算思维[J].中国计算机学会通讯,2007,3(11).
[3]李国杰.计算思维不仅仅属于计算机科学家[N].大众科技报,2009-08-02(B01).
[4]孙家广.计算机科学的变革[J].中国计算机学会通讯,2009,2.
[5]廖伟志,李文敬,王汝凉.计算思维在离散数学课堂教学中的应用[J].计算机科学,2008,35(11).
[6]廖伟志,李文敬,王汝凉.基于培养学生计算思维的任务驱动式“离散数学”教学模式研究[J].学科建设与教学改革,2009,(21).
[7]李芳,李一媛,杨兵.计算思维在《图像处理》课程中的实践及应用[J].计算机科学,2008,35(11).