刘刚
摘要:为了更好地促进学生对数学学科知识的理解,作者与数学教师一起探索,以Python编程作为教学手段,帮助学生在编程的过程中理解和巩固数学概念,培养学生的模型观念、应用能力和创新意识。
关键词:Python;编程;学科融合
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2023)11-0075-03
研究背景
信息科技的快速发展在不同的学科中都展现了一定的优势,而《义务教育信息科技课程标准(2022年版)》更是提出了全新的课程理念与内容,其中的“身边的算法”这个内容与数学学科的内容可以进行信息化教学融合,借助信息科技将数学教学中的抽象问题具象化,帮助学生建立数学模型,理解抽象问题。模型思想能够帮助学生在学习过程中形成“问题情境—建立模型—求解验证”的数学模型,即通过数学建模的思想来改善自己的学习方式。
Python编程在初中数学教学中的实例
笔者在教学中基于Python 的简单易学、开源、可扩展性、丰富的库、规范的代码等特点,尝试通过Python编程的使用,协助数学教师解决初中阶段数学教学中的一些问题,帮助学生理解这些章节中的内容,培养学生的计算思维和模型思维。下面,笔者通过Python编程在初中数学教学中的不同案例,阐述如何让Python编程与数学的教学进行学科融合。
1.建立方程模型,培养学生数学运算素养
《义务教育数学课程标准(2022年版)》提出:数学运算素养是指在明晰运算对象的基础上,依据运算法则解决数学问题的素养。它主要包括理解运算对象、掌握运算法则、探究运算思路、选择运算方法、设计运算程序、求得運算结果等。在初中数学的学习中,很多的知识点都因计算量庞大而无法被具体感知,而计算机编程强大的算力可以帮助学生直观地感受整个计算过程,理解方程求解方式的由来。
案例一:以古趣算题来理解二元一次方程的求解过程。
在数学教材中,在讲授二元一次方程时使用了《孙子算经》中的数学名题“鸡兔同笼问题”:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡、兔几何?”学生集体讨论出不同的方案,主要分为以下两种方式。
方案1:算术方法。
把兔子都看成鸡,则多出94-35×2=24只脚,每只兔子比鸡多出两只脚,故,由此可先求出兔子有24÷2=12只,进而鸡有35-12=23只。也可以先求鸡的数量:35×4-94=46,46÷2=23。
方案2:列一元一次方程解。
设有x只鸡,则有(35-x)只兔。根据题意,得2x+4(35-x)=94。通过求解可以分别求出鸡和兔的数量。
这两种常规方法,是学生在学习二元一次方程之前能够掌握的方法,笔者通过一元一次方程来引导学生思考:是否可以使用二元一次方程来进行求解?(引导学生列出二元一次方程等式)
方案3:设有x只鸡,y只兔,依题意得出x+y=35和2x+4y=94。
在讲解的过程中,学生发现单独看二元一次方程式,每一个等式都有很多解,需要通过列表的方式呈现,传统的方式呈现比较烦琐,而使用Python进行x+y=35的解数据呈现可以快速完成列表的展现,具体程序代码如图1所示。
思路分析:一元一次方程通过简单的数学算式就能进行求解,而二元一次方程中引入了两个未知数,所以单独一个方程式就会出现多解。但是将两个方程结合形成方程组时,就可以出现唯一解,所以需要分别列举出两个不同方程式的解,通过对比发现符合两个方程式的唯一解。在列举的过程中,计算量相对较大,而Python的使用减少了学生数据的计算时间,同时直观地呈现了所有的解,并能通过枚举法的方式找到唯一解,学生还可以通过验算呈现结果的正确性。
2.增强几何直观,培养学生的空间观念和推理能力
初中数学中的“图形与几何”领域包括“图形的性质”“图形的变化”“图形的坐标”三个主题,学生需要从演绎证明、运动变化、量化分析三个方面研究图形的基本性质和相互关系。“图形的变化和图形与坐标”中需要学生具有一定的空间观念,即能够运用运动的观点来研究图形,理解变化规律和变化中的不变量,学会运用数形结合的方式,用坐标法分析和解决实际问题。因此,笔者使用Python中的Turtle模块来演示图形的变化,如图形的轴对称、旋转和平移,以及使用坐标来表示图形等。
案例二:以海龟画图模块来认识图形的旋转。
教材中“图形的旋转”章节以将三角形旋转一定的角度得到旋转图形引入,引导学生认识旋转中心和旋转角度的概念。将旋转前和旋转后的两个图形进行对比,引导学生发现旋转的性质:在一个图形和它经过旋转所得到的图形中,对应点到旋转中心的距离相等;两组对应点分别与旋转中心的连线所成的角相等,都等于旋转角;旋转中心是唯一不动的点。对旋转性质的理解,学生可以运用全等三角形的知识进行推理证明,推理的过程中需要学会旋转作图,通过Python程序可以帮助学生快速作图,更加直观地理解旋转的性质。以旋转三角形为例,具体程序代码如图2所示。
思路分析:以等边三角形为例,将旋转点设置为起始点,当三角形绘制完成时回到起始点,设置旋转角度,再次进行绘制,这里设置了图形的颜色(学生可以更加直观地看出旋转前的图形和旋转后的图形的区别)。旋转前后两个图形是全等图形,所以绘制图形的代码也是相同的,只需要复制代码就可以实现绘制。为了实现图形的多样化,学生可以更改部分代码,如绘制平行四边形、梯形、圆形等,也可以通过设置不同的顶点作为旋转中心,来验证不同的旋转性质,从而加深对旋转的认识。例如,只需要将旋转角度设置为180°就可以验证两个图形是否为中心对称,同时也可以让学生绘制一些中心对称图形。
3.形成模型观念,培养学生的应用意识和创新意识
初中数学需要学生了解函数的概念和表示方法,能够举出具体的函数实例,初步形成模型观念,能用适当的函数表示法刻画实际问题中变量的关系。很多学生在绘制函数图形的过程中会出现绘制的图形不够标准而误导解题思路的情况,所以在函数图形的绘制中,笔者引入了Python编程的Numpy和Matplotlib两个函数库。Numpy(Numerical Python)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Matplotlib是风格类似Matlab的基于Python的图表绘图系统。
案例三:基于Python编程的两库的二次函数图形绘制。
学生之前已经学习了一次函数和正比例函数,对函数的定义以及变量有一定的理解,所以学生可以列出y=x^2的函数表达式。根据函数表达式绘制出相应的图像是一个难点,图像需要在坐标系中绘制,相应的变量x和y就变成了坐标系中的x坐标和y坐标,所以绘制图像首先应该找出更多符合函数表达的点,利用点来实现图形的绘制,而利用Python中的Numpy库可以得到不同的符合函数表达式的点坐标,再利用Matplotlib库的绘图系统,将点坐标进行平滑描绘,就可以得到一个函数图像。以y=x^2为例绘制的二次函数图像的Python编程代码如图3所示。
思路分析:函数图像的绘制需要知道函数的表达式,代码中函数的表达式可以根据需要进行更改,绘制图像可以根据需要设定x的描点显示范围,如代码中从-10到10。根据需要也可以设定根据x的取值范围来进行绘制,如x>0(设定显示范围的左边部分为0),描点间隔的设置影响的是图像的平滑程度,设置的间隔值越小,图像越平滑,相应地需要程序运算的次数也会增多。以时间效率为代价,plot函数的作用是将描点显示在绘图系统上,只需要根据上面获得的x,y的值作为横坐标和纵坐标就能实现描点,为了更直观地显示具体产生了多少组点坐标,笔者在代码最后输出打印了对应的点坐标。在图3所示的代码中,学生可以根据函数需要,输入不同的函数表达式来得到自己想要描绘的函数图像,形成模型观念。
初中阶段的函数图像都可以通过调用Python中的Numpy和Matplotlib两个函数库来实现绘制,特别是反比例函数图像,对于学生来说绘制的难度比较大,通过Python编程的方式,可以帮助学生更好地理解函数图像和对应点坐标之间的关系。
结语
笔者通过Python编程与数学教师共同学习,帮助学生在编程的过程中理解和巩固数学概念,培养了学生的模型观念、应用能力和创新意识。学科融合不仅让不同学科相互促进,而且更好地实现了立德树人的目标。
参考文献:
[1]尚林哪,董俊.巧用Python编程,助力数学教学[J].中学数学研究:华南师范大学版,2021(24):53+1-2.
[2]陈晓红.基于数学问题的计算思维培养——以Python语言“编程计算”教学为例[J].中国信息技术教育,2021(03):36-39.
[3]羅晶,周思言.学科知识与信息技术课程融合的教学实践与探索——以数学函数与Python相结合为例[J].中国科技教育,2020(12):56-57.