基于流程图的民族高校计算思维培养探索

2020-07-20 03:29
科教导刊 2020年18期
关键词:流程图解决问题计算机

刘 晶

(中南民族大学计算机科学学院 湖北·武汉 430074)

0 引言

人工智能是引领未来的战略性技术,也是全球经济社会发展的重要驱动力。随着人工智能技术在人类生产、生活、学习中的应用,其发展潜能得到世界各国的关注,世界主要发达国家纷纷制订了人工智能战略计划。我国在2017年印发的《新一代人工智能发展规划》指出,要抢抓人工智能发展的重大战略机遇,完善人工智能教育体系,加强人才储备。[1]

人工智能浪潮席卷之下,人类的思维方式和工作方式必将发生重大转变,计算思维作为人工智能社会中个体必备的关键能力逐渐受到重视。我国教育部高等学校计算机基础课程教学指导委员会、中国计算机学会等组织,均对计算思维展开了较为深入的探讨。2010年7月,“九校联盟(C9)计算机基础课程研讨会”上,正式发表了《九校联盟(C9)计算机基础教学发展战略联合声明》,该声明强调计算机基础教学是培养大学生综合素质和创新能力不可或缺的重要环节,其中,学生计算思维能力的培养是计算机基础教学的核心任务。

周以真[2]教授指出,计算思维是“一个形成问题和制定问题解决方案的思考过程”。随着计算思维研究的发展,对计算思维的讨论从抽象和算法等源自计算机科学的主题延伸到实践应用中,更关注与具体学科知识结合而产生的实践要素。计算思维是数学思维与工程思维的互补和结合,有助于提高学生的创造力和创新力。[3]朱亚宗教授提出,计算思维与实验思维、理论思维并列为人类三大科学思维方式之一。[4]

为了顺应人工智能时代教育变革的主要发展方向,从实际教学情况出发,思考与分析计算思维能力的核心培养要素,提出了以流程图为载体的计算思维能力培养方法。在教学实践中强化了学生计算思维过程的培养,将生活算法实例与流程图实践相结合,呈现了学生抽象和解决问题的思维过程,形成了基于流程图的面向计算思维能力培养的计算机基础课程教学方法,取得了良好效果。

1 高校计算思维的教育核心与载体

计算思维是要培养能够综合应用多种思维技能思考问题,并理解和使用计算机来解决复杂工程问题的能力。美国国际教育技术协会和计算机科学教师协会联合规定了计算思维的九项核心概念和能力分别是:数据收集、数据分析、数据表征、问题分解、抽象、算法和程序、自动化、模拟和并行化。亚达夫等[5]将其简化概括为问题分解、算法、抽象和自动化。

计算思维的核心内涵强调问题解决的过程更重于问题解决的结果。因此,从工程角度出发的计算思维教学过程应至少包括问题识别与分解、系统抽象、方案设计与优化、方案实现四个部分。其中,前三个部分体现了思维的加工过程,最后一个部分则呈现了思维发展的结果。计算思维过程应强调使用抽象、泛化的思维方式定义和分解问题,突出算法设计和优化的思考过程。其中,分解与抽象是培养计算思维过程的重要核心内容。

1.1 计算思维的教育核心——分解与抽象

计算思维是创造力、算法思维、批判性思维、问题解决、合作思维和沟通技能的共同体现,最终目的是解决问题。程序设计、数据结构、算法分析与设计等课程涉及程序级的问题求解;数据库,数据挖掘等课程是系统级问题求解的基础,也往往是程序级问题求解的目标。对于复杂问题的求解,可以将之分解成几个子问题单元,再来分别解决每个子问题。也就是将问题的解决方案用若干个封闭步骤的集合(模块)表示,每个模块用于解决一个问题或子问题。

在对复杂问题的分解过程中,需要运用抽象的概念。抽象是计算思维的本质,指捕获问题对象的本质特征,省略一些不必要的细节,只留下需要强调的环节。设计问题解决方案时,先用抽象步骤,即细节仍未明确的算法步骤描述问题的解决方案,然后不断明确具体细节,最终得到解决该问题的具体步骤。

分解与抽象这一思维过程可以在不同层次进行,即在不同的抽象层次对问题进行定义和分解。每一层对应不同的抽象级别,逐层递进细化抽象的解决方案,直到得到该问题的每一个具体解决步骤。表1给出了不同抽象层次上的会议安排问题的分解。

表1 问题分解的分层抽象示例

1.2 计算思维过程的载体——流程图

现有的计算机类课程教学模式大多重视编程开发(实践环节)而忽视思维加工过程。最终的程序只能展现结果而不能呈现思维过程,这种重结果轻过程的培养模式并不利于师生对计算思维发展细节的把握,也与计算思维的本质不符[6]。将计算思维整合到课程教育,重要的是嵌入思维技能。培养思维技能的重要方法之一是对知识的表述。以图形展示知识与思考过程的知识可视化方法作为思维表述的一种方式,得到了广泛关注。思维导图和流程图等展现思维过程的工具,在教育教学、工程实践、项目管理等领域有着广泛应用。其中,流程图是相互连接的图形符号集合,其中的每个图形符号代表要执行的指令,符号之间的连线方向决定指令的执行顺序。

流程图是一种极好的表示算法思路的可视化方法。用流程图作为计算思维过程的可视化承载工具,有助于学生对问题进行分解和重组,进而进行系统抽象和建模,体现思维的加工过程。学生通过不同级别的流程图,可以展现在不同的抽象层次分析问题、解决问题的思维过程。

2 基于流程图的民族高校计算思维培养

目前,一般高校的计算机程序类课程的做法是,从识别与理解问题直接进入代码编程实现的阶段,缺乏对问题进行分解和重组,进而进行系统抽象和建模的思维加工过程的观察和指导。

民族高校生源组成复杂,学生来自全国各地,分布广泛,并有相当一部分“双少”学生(来自少数民族地区的少数民族学生)。受限于各地区的教育发展水平,学生入学时的计算机水平参差不齐,甚至相距甚远。因此,课堂教学实施必须考虑分层教学、因材施教。实现这一教学方针最根本的解决方法是注重计算思维过程的培养。

对于计算机编程基础薄弱的学生,在具体的程序语言学习过程中由于对语法、函数不熟练,极易产生沮丧、厌学的情绪。如何满足不同层次的学生需要,让学生掌握分析问题和解决问题的思维方法,让学生能学懂,有兴趣,有收获,其重点在于计算思维过程的培养和训练。流程图作为一种计算思维过程抽象表达的形式化工具,能有效地展现问题解决的分解过程和演绎。[7]

2.1 计算思维核心要素在流程图中的体现

在学习具体的程序设计语言语法之前,先通过画流程图,将问题抽象、分解成几个子问题,接着分别用流程图表述每个子问题在不同抽象层次的算法设计思路,逐层细化,直到每一步具体的执行步骤。流程图在这一过程中,将思维过程可视化并清晰呈现,有助于理解和认识学生的思维加工过程,从而更好地帮助学生掌握如何设计和执行算法。

在问题分析和算法设计阶段,流程图可以减少对编程语言和语法的关注,将设计聚焦在解决问题的过程上,如图1。

计算思维核心要素在流程图中的体现如下:对于问题分解这一计算思维要素,可以通过流程图中各种具有确定含义的符号和连线,配以简单的文字说明来可视化描述问题的输入、输出和问题的分析、解决方法和步骤。对于抽象这一计算思维要素,可以将问题中的对象、指令等通过流程图中的符号加以表征说明,然后使用顺序、选择、循环等结构建构它们之间的关系,从而实现对同类型问题的抽象与提炼。不同级别的流程图对应不同抽象层次的问题解决过程,不断细化对象和指令,得到最终的解决方案。图1是学生画的会议安排问题的流程图。

2.2 教学实践及评价

计算思维的培养和其它工程问题一样,需要通过实践来训练。因此,在我校计算机专业本科新生的计算机基础课程教学实践中,结合生活中的实例讲解了流程图的基本标准符号,使用方法和工具。从食堂排队调度,冒泡排序,会议安排的问题实例入手,让学生各自利用流程图表述问题的解决思路,接着分小组进行分析讨论,整理修正流程图,然后学生在课堂上展示和讲解自己的流程图,阐述问题抽象和解决方法,以及需要注意的问题。通过3轮这样的课程实践训练,学生正确利用流程图表述思维过程的能力有明显提高,基于流程图的计算思维训练不仅加强了学生对分解和抽象等计算思维过程的掌握,更培养了学生以计算思维解决问题的能力,还培养了学生的创造性思维和协作精神等。

图1 不同抽象层次的流程图

在实践过程中,学生通过思考和讨论,更新解决问题的思路,进而优化自己的流程图,从而发现最佳的问题解决方案。这一阶段所形成的流程图,呈现了学生抽象和解决问题的思维过程。使得教师可以根据流程图了解学生解决问题的思路,从而进行针对性的指导,在后续研究中还可以将其作为评价学生计算思维发展的重要依据。

2018至2019连续两年的实践教学显示,在计算机专业大一年级学生的计算机导论课程和程序语言设计课程中,强调流程图的计算思维教学方法,为下一步实现方案的具体程序开发,即计算思维的发展结果打下了良好的基础。在后续的程序设计语言、数据结构等课程中的实验编程表现有明显提高。表明在学习具体的编程语言之前,用流程图清晰表述问题的分析和解决方案,掌握分解和抽象等计算思维的核心内容,能够令学生的计算思维在问题识别、问题分解、问题解决、创意拓展等方面综合发展。

3 总结

人工智能的迅速崛起正在改变世界发展的态势,发挥大学应有作用,强化计算思维的培养是这一态势竞争的重要一环。未来的世界需要能有效理解、应用并创造计算技术,具备解决问题的思维和能力的人。在计算思维的常规培养模式下,教学过于关注程序的开发和算法的技巧,强调思维的结果,缺乏显性呈现的解决问题的思维加工过程。因而教师作为引导者很难做出针对性的指导和评价,从而局限了计算思维培养的效果。

流程图作为很早就应用在计算机编程领域的可视化思维过程展现工具,在问题定义、分解和形成方案的过程中发挥了重要作用。流程图的绘制过程不仅能够帮助学生梳理思路,还能记录思维发展的全过程,便于了解学生的思维过程,进行针对性的指导。教学实践初步证明了流程图方法能够有效促进计算思维中的问题分解与抽象等思维过程要素的发展,尤其对于入学前几乎没有计算机基础知识的部分同学,计算思维能力有明显提升,后续程序编制、算法分析等课程内容的掌握程度比往届没有经过流程图强化训练的同学要好。

猜你喜欢
流程图解决问题计算机
云的识别指南
联系实际 解决问题
助农解决问题增收致富
在解决问题中理解整式
计算机操作系统
基于计算机自然语言处理的机器翻译技术应用与简介
计算机多媒体技术应用初探
解决问题的设计
一种程序源代码的标准化流程图转化方法∗
信息系统审计中计算机审计的应用