融合数学,发展计算思维
2021-05-30黄剑锋徐旭辉
黄剑锋 徐旭辉
摘要:数学学习是计算思维的基础,计算思维是解决问题的一种思考方式。计算机编程要求学习者沉浸在不断变化的问题解决过程中,通过面向学生介绍计算机编程的原理,记录并分析项目开展期间学生和教师之间的互动,揭示数学和计算机编程间的内隐联系,并从数学角度解决计算机编程问题,发展学生计算思维。
关键词:编程;数字能力;计算思维
中图分类號:G434 文献标识码:A 论文编号:1674-2117(2021)S2-0069-03
问题的提出
计算思维的研究主要在国外,其实在中国的古代数学中就已经存在计算思维,不过不够清晰和系统化,近年来我国也开始出现不少计算思维的研究著作,就信息技术课程而言,所涵盖的计算思维的内容涉及大量的“抽象与自动化”的内容,“抽象”与“自动化”是周以真教授提出的计算思维的本质。《高中信息技术课程标准》已提示隐藏在现有信息技术中的计算思维,挖掘其中的计算思维可以更好地实现信息技术课程目标,提高学生信息素养,提高综合素质,它是信息技术课程改革的助推剂,值得我们关注与认真研究。
理论依据
1.思维科学理论
20世纪80年代初期,钱学森创立了思维科学,他认为“思维科学即是研究思维规律、思维活动、思维方法的一门学科”。大量的事实和科学研究已经证明,思维训练作为一种提高个体思维的手段是有一定效果的。
2006年3月,美国卡内基·梅隆大学计算机科学系主任周以真(Jeannette M.Wing)教授提出:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
计算思维属于思维和思维科学的概念范畴,在信息技术教学活动中,计算思维应当作为一种思维方法进行训练,以信息技术教材的教学作为训练计算思维的载体,培养学生的计算思维能力,提高思维质量。
2.创新方法论
创新是指以现有的知识和物质,在特定的环境中改进或创造新的事物并能获得一定有益效果的行为,创新方法论是研究创新过程中有没有逻辑顺序、规则、方法以及有什么样的顺序、规则与方法为宗旨的哲学研究。而利用信息技术课程培养学生的计算思维就是在培养学生的创新能力,培养计算思维能力的最高目标就是为了创新,让学生能运用计算思维的智慧去解决实际问题。
3.高中新课程标准
高中信息技术新课标对信息意识、计算思维、数字化学习与创新、信息社会责任四个核心要素进行了具体描述,把计算思维放在一个核心的位置,计算思维所蕴含的思想和方法,对拓展学生的思维空间、培养学生分析问题解决问题的能力有很大益处。
数学学习与计算思维的联系
数学思维的特征是概念化、抽象化和模式化,在解决问题时强调定义和概念,明确问题条件,把握其中的函数关系,通过抽象、归纳、类比、推理、演绎和逻辑分析,将概念和定义、数学模型、计算方法等与现实事物建立联系,用数学思想解决问题。
计算思维是按照计算机科学领域所特有的解决方式,对问题进行抽象和界定,通过量化、建模、设计算法和编程等方法,形成计算机可处理的解决方案。
对比后可以发现,计算思维与数学思维在本质上非常相似,都属于人的大脑的思维,只是在实现问题的解决方案时要依靠不同的执行对象。经过数学思维所形成的解决方案,可以单纯依靠人的大脑来实现,而经过计算思维所形成的解决方案,大都可以借助计算工具,通过机器的“自动执行”来实现。
由此看来,数学是计算思维的基础,计算思维吸取了问题解决所采用的一般的数学思维方法,数学能力的培养是数学教学目标之一,数学基本能力包括有关数学基础知识的运算能力、思维能力、空间想象能力、分析和解决实际问题的能力等。学习者需要发展所有这些能力,以获得对数学有深刻有效的理解。这种数学能力与周以真教授所理解的计算思维密切相关,周教授指出,“计算思维是每个人的基本技能,而不仅仅是计算机科学家。对于阅读、写作和算术,教师应该为每个孩子的分析能力添加计算思维”。因此,学习者需要通过计算机编程来计算解决数学问题,同时,计算思维比单纯的计算机编程具有更大的意义,计算机编程是计算思维和数学思维的众多辅助工具之一。
研究方法
本研究以五(1)班学生(40名)作为研究对象,在为期五周的时间里,每周1课时,在信息技术课堂中教授Scratch编程,并从数学能力角度研究学生的学习过程、对数学理解和思考的描述,以及计算思维概念,展示学生解决问题的过程。为了帮助学生提升学习动机,教师鼓励学生灵活运用问题的解决方案,让学生自主选择要做的工作,通过定义自己的问题和相应的解决方案过程,为学生灵活使用数学探索提供方法。
教学实践
1.案例一:《神奇的画笔》
本课从起、承、转、合四个方面设计问题,建立起数学思维和计算思维的联系。教学过程如下。
(1)起:课堂导入主动建构
在PPT中出示正三角形、圆、五角星图形,让学生说说这些图形的特点、在计算机中如何表示这些图形。
问题一:如何画正三角形?
学生尝试制作画正三角形。
师问:为什么旋转角度是120度?(通过动画演示,让学生明白旋转角度的问题)
(知识生长点:从学生的学情出发,从画正三角形着手)
(2)承:顺水推舟逐层推进
问题二:照这样,你能画正四边形吗?
照这样,你能画正五边形吗?
照这样,你能画正N边形吗?
(学生完成后)归纳总结画正多边形的方法。
(知识发展点:让学生画正四边形、正五边形等图形,并总结出画正多边形的方法,为画圆这部分知识做好铺垫)
(3)转:意料之外情理之中
问题三:如何画圆?
讨论:如何画圆?(圆,没有棱边)
动画演示,呈现圆的演变过程。
师问:你发现了什么?(随着正多边形边数越来越多,形状越接近圆)
(知识转折点:从画正多边形到画圆建立联系,通过动画,学生理解圆是如何表示的)
(4)合:深化拓展迁移运用
总结:画正多边形、圆及五角星的方法。
2.案例二:《猴子接香蕉》
在《猴子接香蕉》课例中,部分学生制作了一个简单的角色移动游戏,同时慢慢了解角色的运动,以及哪些操作足以完全自由移动。在这种特殊的情况下,学生正在编写一个《猴子接香蕉》的游戏。在创作之前,学生已经绘制了游戏的主角——猴子、香蕉、背景。以下是课程开始前学生与教师的对话。
师:小猴子看到不远处的一棵树上不断有香蕉掉下来,正东奔西跑想去接住香蕉……这是一个有趣的游戏,你有没有想过你完成后想要的样子?
学生思考。
师:你觉得香蕉会做什么动作?
生1:像树叶一样落下来。
生2:我们需要帮助的一件事是让它位置定下来,以便知道香蕉的初始位置。
师1:那香蕉的位置如何定位?
生1:使用坐标,香蕉在舞台上方的高度是固定的。
生2:我们就将香蕉的初始位置的Y坐标固定。
师:你试着看看能否以某种方式出现。
生:我们还要改变X坐标,使香蕉在不同位置出现。然后它会像这样移动。
师:如果这样,你移动它,它落下的方向如何确定?
生:香蕉是垂直下落的,我们需要改变香蕉的高度(Y值)即可。
师:是的,每次香蕉落下,它會将Y坐标的值不断减小。
该课例蕴含了两个数学知识——位置和坐标;从师生对话中观察到学生已经积累了一些关于描述物体位置的学习经验和生活经验。他们在生活中已经认识了前、后、左、右等方位,并在二年级学习了有关序数的概念,知道可以使用一个序数表示在一条直线上人或物体的位置,接触、使用数射线,建立了数(自然数)与数射线上的点之间的对应关系,为本课学习做了一些铺垫。在本课中,角色(香蕉)以精确、预定的方式在坐标系中移动,需要学生建立对坐标系的结构和过程理解,即建立角色完整运动的路径预设。要使对象遵循我们设想的预期路径,必须通过编程语言块提供精确的指令,这时需要学生建立数学模型的思维。在课堂上,通过队列游戏,利用学生的上课座位作为教学资源,引导学生体验在平面上确定一点的位置需要两个条件。同时通过快速记录,引导学生亲身经历由自然语言到数学表达的符号化、数学化过程,领悟“用数对表示位置”的形成过程,并通过角色运动路径,建立起数学知识和编程问题的联系,厘清学生对程序问题的理解,最终通过编程语言实现效果。当学生需要为角色如何实现运动建立内在模型时,就会出现数学思维,学生需要对底层坐标系有一个清晰的理解。在某种程度上,学生可利用指令在试错的基础上反复应用,通过屏幕上角色的实际运动获得及时反馈,从而更好地理解坐标轴。教师确信以这种方式获得的实践知识有助于编程的学习。
进一步思考
目前,教师认为已经有效掌握学生如何学习编程的关键策略,并扩展了与计算机编程有关的数学概念,包括结构和操作思维,这促使教师继续研究该项目。教师还观察到学生已经发展了数学能力,尤其是推理能力、沟通能力、建模能力和解决问题能力。该项目促使教师进一步调查课堂编程如何帮助学生学习数学。
参考文献:
[1]Cohan Lie.低年级课堂中的计算机编程:学习数学[J].意大利教育技术杂志,2017,(02):25.
[2]周以真. 计算思维[A].中国科学技术协会学会学术部.新观点新学说学术沙龙文集7:教育创新与创新人才培养[C].中国科学技术协会学会学术部:中国科学技术协会学会学术部,2007:6.
[3]李辛.从一道题目的解法看数学思维、计算思维、算法及编程之间的关系[EB/OL].http://blog.sina.com.cn/s/blog_184a3700a0102xtrv.html.