本文作者(王甲海,印 鉴),请您在阅读本文时尊重作者版权。
人工智能教学与计算思维培养
摘要:计算机专业教育要选择适当的知识为载体,来进行能力培养和素质教育。首先分析人工智能的基本教学内容和计算思维能力间的联系,然后给出了人工智能教学中计算思维能力的培养方法,并进行了总结。
关键词:人工智能;计算思维;创新思维
教育理应摆脱单一的知识和技能传授功能,着重唤醒学生自身的潜能,培养其自我性,主动、抽象能力和理解能力。从计算机专业教育的角度看,就是要处理好专业知识、能力和素质间的关系。知识是基础和载体,是表现形式。能力是技能化的知识,是知识的综合体现,它把知识运用的综合性、灵活性和探索性作为自己的重要内容。素质是知识和能力的升华,素质教育就是在知识和能力的基础上全面提高学生的基本素质,尊重其主体作用和主动精神,开发其潜能,进而培养其健全的人格[1]1。
在人工智能的教学过程中,将一般的课本知识和内容传授给学生的同时,还要挖掘深层次的内容,传授典型的问题求解思路和方法,重视科学的世界观和方法论。这样的教育过程将知识、能力和素质贯通,以人工智能的具体知识为载体,进行专业能力培养和专业素质教育,并强调创新意识的建立和培养。
笔者首先概述计算思维的内涵,然后分析人工智能课程内容与计算思维间的联系,最后论述如何通过人工智能的知识传授培养学生的计算思维能力,进而培养学生的专业素质和创新能力。
1计算思维
计算思维(Computational Thinking)于2006年由美国卡内基 #8226;梅隆大学的周以真(J.M. Wing)教授提出[2],其定义为:运用计算机科学的基础概念(即思想和方法)去求解问题,设计系统和理解人类行为。它的特征可描述为:是概念化而不是程序化;是根本的而不是刻板的技能;是人的而不是计算机的思维方式;是数学和工程思维的互补与融合;是思想而不是人造物;是面向所有的人、所有的地方。计算思维的本质是抽象和自动化。抽象体现在完全使用符号系统甚至形式化语言;自动化体现在算法实现最终是机械地按步骤自动执行。计算思维是一种形式规整的、问题求解的和人机共存的思维。典型的计算思维包括一系列广泛的计算机科学的思维方法:递归、抽象和分解、保护、冗余、容错、纠错和恢复,利用启发式推理来寻求解答,在不确定情况下的规划、学习和调度等。
计算思维的概念一经提出,就引起了国内外很多研究者的注意。2007年,微软研究院资助美国卡内基 #8226;梅隆大学建立了计算思维中心,以寻找计算机科学与其他领域交叉研究的新方法。2008年,ACM公布的《CC2001计算机科学教学指导草案》也明确提出应该将计算思维作为计算机科学教学的重要组成部分。董荣胜[3-4]论述了计算思维与计算机方法论的关系。朱亚宗[5]指出,计算思维、实验思维和理论思维是人类三大科学思维方式,并指出交叉创新是计算思维创新发展的根本途径。
但是,周以真教授给出的计算思维概念比较宽泛和抽象,如何理解计算思维的根本内涵,着手培养学生的计算思维,还存在很多需要深入探讨的课题。国内一些教育者就如何在实际教学过程中培养学生的计算思维作了一些探索[6-8]。2010年,教育部高等学校计算机科学与技术教学指导委员会编制的《高等学校计算机科学与技术专业人才专业能力构成与培养》中指出,计算机专业人才的专业基本能力主要包括计算思维能力、算法设计与分析能力、程序设计与实现能力、系统能力[1]25。其中,计算思维的定义为:计算思维可理解为如何按照计算机求解问题的基本方式去考虑问题的求解,以便构建出相应的算法和基本程序等[1]25。针对计算机专业人才的培养,计算思维能力主要包括问题及问题求解过程的符号表示、逻辑思维与抽象思维、形式化证明、建立模型、实现类计算和模型计算、利用计算机技术等[1]25-30。本论文围绕这个定义,探讨如何在人工智能的教学过程中培养学生的计算思维能力,进而培养学生的专业素质和创新能力。
2人工智能教学与计算思维培养
人工智能的主要知识体系包括知识表示和搜索。具体而言,我们讲授的人工智能课程的知识体系和主要教学内容如下:
1) 知识表示和推理。包括命题逻辑、谓词逻辑、归结推理以及其他典型的知识表示方法,如语义网络、面向对象的程序设计语言。不确定性知识表示和推理主要包括贝叶斯理论、非单调逻辑、模糊逻辑和模糊推理。
2) 搜索技术。基本的搜索技术包括盲目搜索、启发式搜索、博弈等。高级搜索技术包括局部搜索、模拟退火、遗传算法、粒子群算法等现代智能搜索技术。
3) 机器学习及神经网络技术。主要内容包括经典的机器学习内容(如机械学习、归纳学习、类比学习和解释学习)和基于神经网络的学习,还有现在比较热门的知识发现和数据挖掘技术。
在简要列举人工智能主要教学内容的基础上,下面主要论述人工智能主要理论内容与计算思维的对应关系。知识表示中最经典和基本的内容是命题逻辑,命题逻辑的内容主要包括命题的符号化、命题公式的定义、赋值和类型、等值演算、析(合)取范式、推理和证明。这里主要涉及计算思维的建模、形式化和形式化规约、抽象和分解。
面向对象的知识表示,如面向对象的程序设计语言,是另外一种为大家所熟知的知识表示方法。面向对象的本质是强调从客观世界中固有的事物出发构造系统,强调系统中对象间的关系能够反映客观世界中的固有事物及其关系。面向对象的知识表示方法具有良好的发展前景,它利用一些符号系统来刻画客观世界中的对象及其联系。