基于计算思维培养的初中C++编程教学研究

2020-05-09 10:08朱玉红强家虎张天征
考试周刊 2020年23期
关键词:计算思维初中教学信息技术

朱玉红 强家虎 张天征

摘 要:近年来,随着计算思维研究的深入,其作为信息技术学科独立性与价值性的支撑得到凸显。鉴于此,编程类课程作为培养计算思维的有效载体重新得到信息技术课程的青睐。本文阐述了计算思维的内涵与价值,分析了C++编程在培养计算思维方面的优势,设计了基于计算思维培养的C++编程教学模型和基本课程架构,以期对计算思维教育的实证研究提供一些经验和支撑。

关键词:计算思维;信息技术;初中教学

一、 问题的提出

近年来,为了应对学生对信息技术课程内容的前沿性与求真性越来越高的需求,计算思维培养受到了我国信息技术课程研究者越来越多的关注。同时,多元化、创新化的培养需求日益剧增,单纯的技能培养或是能力培养早已不能应对日新月异发展的科技。思维培养作为信息技术课程基础性价值的体现,被确定为高中信息技术课程培养学生的核心素养之一。与此同时,我们注意到如何实施计算思维培养,尤其是在初中阶段,通过哪些途径和方法让“计算思维”真正落地基础教育值得我们探究。

二、 关于计算思维

2006年,周以真教授首次提出计算思维的概念。2011,她对计算思维进行了新的阐述,她认为计算思维是一种解决问题的思维过程,能够清晰、抽象地将问题和解决方案用信息处理单位所能执行的方式表述出来。

分析周以真多年来对计算思维的阐述可以看出,她将“问题解决”视为计算思维非常重要的环节。2011年,国际教育技术协会(ISTE)和计算机科学教师协会(CSTA)联合制定了中小学计算思维的操作性定义,其中也明确将计算思维定义为解决问题的一种过程。除此以外,学术界很多计算思维研究者还提出了“抽象说”“自动化说”“信息表达说”“社会计算说”“三维目标说”等对计算思维的认识。本文作者结合实际教学经验认为“问题解决说”对于中学生信息技术课程的操作及计算思维培养过程更有利,下文也将围绕“问题解决说”展开对计算思维培养的课程设计。

2017年中国人民教育出版社出版的普通高中信息技术教材及课程标准中将计算思维与信息意识、数字化学习与创新、信息社会责任共同作为信息技术学科四大核心素养,并在课标的解读中对计算思维从概念到实操等多方面做了描述。为基础教育计算思维的培养开辟了一条全新的道路。

目前,我国基础教育依托信息技术课程,算法与编程、数据与分析两个领域内容进行的活动设计是最常见、有效的提升学生的计算思维的一条途径。当然,计算思维教育不等同于算法学习(编程学习),但算法学习(编程学习)是计算思维培养的最有效、不可或缺的途径。

C++作为一种面向对象的程序编写语言,在问题描述方面非常擅长,同时能够很好地承接学生在小学阶段学习过的图形化编程内容,更适宜开发学生的计算思维。

三、 基于计算思维培养的教学设计

(一)计算思维教学模型设计

2013年南安普敦大学的Cynthia Selby博士和John woollard博士从五个方面提出了计算思维的要素,包括算法思维、评估、分解、抽象、概括。

根据陈鹏、黄荣怀等人的统计与研究,关于计算思维概念、定义、特征和要素,学者们使用的词汇频率从高到低为:问题解决、抽象、过程、计算机……

在国际教育技术协会和计算机科学教师协会给出的计算思维的操作性定义中不仅将计算思维视为一种基于问题解决的过程,并对其关键环节给予了明确表述包括(但不限于):制定问题-逻辑化地组织和分析数据-通过抽象再现数据-通过算法思维来支持自动化解决方案-识别、分析、实施可能的解决方案-找到最有效的解决方案-推广并迁移到更广泛的问题中。

将大量理论研究结合一线编程教学实践,我们从计算思维的“问题解决”观出发,以计算思维的分解、抽象、算法、评价与归纳五大特征为主线,基于皮亚杰建构主义中以学生为中心的观点,设计提出了基于 C++编程的教学模型。

图1 基于计算思维培养的C++编程教学模型

(二)计算思维培养的教学内容设计

按照结构主义观点的思路进行计算思维培养教学体系设计我们应该总结出计算思维的各个特征点(例如,分解、抽象、转化、递归、并行……)并将这些特征点进行清晰地归类和划分,然后通过一堂一堂课程教授给学生,并逐渐内化为学生的思维方法。这种结构主义教学体系培养模式适应于工业化人才培养需要,具有标准易掌握,培养速度快的优点,是当今世界通用本科人才培养模式。但如果将其生搬硬套到初中生的计算思维培养中来,却不是很适宜。因为从某种程度上来说这种讲授的培养模式是线性的,不利于学生思维的养成,更加不利于思维发散性和灵活性的培养。思维培养的主体是学生,关键是思维过程。思维的主体需要在通过对问题的分析、综合、概括、抽象、比较、具体化和系统化等一系列迭代过程中体验感悟思维的过程。因此,我们可以基于以上教学模型,以“问题解决”为主线引导学生提升计算思维。例如,在How to change?问题中,教师首先给出的是背景情境:妈妈在姐姐和弟弟的喝水杯中倒入了不同的饮料,如何在不交换杯子的情况下交换对方的饮料呢?然后让学生思考进而明确问题是“互换”,分析问题后可将两个杯子抽象为计算机中的存储单元,饮料抽象为存储单元中的变量值。解决问题的方法则是可以开辟一个新的存储单元,建立一个新的变量,通过第三个变量的传递将原来的两个变量进行交换。最终总结后可将这一方法迁移到解决类似问题中,例如解决系统中两个文件的名称互换的问题。

当然我们也并非要放弃对计算思维特征的强化与量化过程。可以根据计算思维特征学习的难易程度不同,将其主要特征点与C++编程教学内容相融合,设计不同层次的任务。依据难易程度不同赋予不同的指代目标。将整体教学流程纵向上划分为知识准备阶段、经典练习阶段和提升能力阶段。让学生以问题为主线,解决任务。表1为部分教学架构表。

四、 当前存在的问题

在以往传统的教学中,计算思维是隐藏的教学内容中的,要靠学生自己去领悟,现在要把这些明白的讲出来,让学生有意识地去学习,提高培养质量,缩短培养时间。但同时我们也应该清醒地认识到,计算思维培养固然重要,但计算思维的培养离不开计算能力的基础支持和计算工具的实践应用,因此,计算思维的培养要循序渐进。

针对计算思维教育,國外一些高校研究机构已经进行了大量的教学实践,取得了很好的效果。而我国的基础教育中还没有明显的推动,基于教学实践的计算思维教学体系还未成型。实证研究的缺乏是计算思维培养课程目前的一大现状。

参考文献:

[1]J M Wing. computational thinking and thinking about computing[EB/OL].2008.

[2]Operationaldefinition of computational thinking for k-12 education[EB/OL].[2012-04-15].http:∥www.iste.org/Libraries/PDFs/Operational_ Definition_of_Computational_thinking.sflb.sahx.

[3]何钦铭,陆汉权,冯博琴.计算机基础教学的核心任务是计算思维能力的培养——《九校联盟(C9)计算机基础教学发展战略联合声明》解读[J].中国大学教学,2010.

[4]陈鹏,黄荣怀,梁跃,张进宝.如何培养计算思维——基于2006~2016年研究文献及最新国际会议论文[J].现代教育远程研究,2018.

作者简介:

朱玉红,天津市,天津外国语大学附属滨海外国语学校;

强家虎,天津市,天津市南开区教育中心;

张天征,天津市,天津外国语大学附属滨海外国语学校。

猜你喜欢
计算思维初中教学信息技术
新一代信息技术征稿启示
新一代信息技术征稿启示
新一代信息技术征稿启示
信息技术在幼儿教育中的有效应用
浅谈“导学互动”教学模式对初中数学教学的作用
程序设计课程中计算思维和应用能力培养问题研究
浅谈初中班级高效管理策略
巧用西方文化导入,提高初中英语课堂教学质量
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析