经典数学难题的现代哲学阐述
2022-07-12臧美凤
在学生成长的过程中,总是有一些经典的数学难题困扰着他们,如果能用编程的方式解决这些问题,对学生思维方式的启发将是巨大的。编程思维作为一种解决问题的思维方式,将会对学生的终身学习产生深远的影响。
● 编程思维
编程思维是人们在解决程序化问题时,唤起的思维方式,包括逻辑推理和解决问题的思路等方面。编程思维作为方法论的指导作用随处可见,如建筑项目的规划体现了可行性分析的思维方式、十进制体现了信息编码的思维方式、割圆术体现了极限思维的思维方式。
● Python语言
Python是一款功能强大、成熟且稳定的高级语言,具有如下优点:①入门简单。程序界面简洁,程序编写过程简单,容易上手。②难度系数低。设计严谨,从问题解决的角度出发,用简洁的语言和算法来解决问题。③兼容性强。免费开源,可移植,可扩展,可以嵌入多平台使用。④类库丰富。可以使用turtle库来绘制各种精彩的图案等。
● 创意案例
本案例以培养学生的编程思维为主要目标,激发学生的兴趣,让学生在体验编程的快乐中培养编程思维。
1.情境引入
教师利用Python编写的“读心术”小程序与学生互动,让学生近距离感受Python编程的神奇。
2.角色扮演
教师提供事先编好的Python小程序,运行代码,让学生角色扮演人工智能医生和来访者,零距离体验人工智能医生的底层代码;接着让学生体验“恐龙岛寻宝”游戏,将课堂气氛推向高潮,激发学生设计互动游戏的欲望;然后带领学生读代码,引导学生创作互动小游戏。
在热身环节结束后,教师抛出问题:某人有一对兔子,假设雌雄各一只,从第3个月开始每个月都会再生一对兔子,新生的兔子到第3个月又开始生小兔子,如果兔子一直长生不老,那么第n个月后,一共有多少只兔子?(如下页图1)
如果用传统的方法来处理,解题过程比较复杂,因为笔者引导学生借助Python来解决这个问题。
3.抽象建模
引导学生透过复杂的现象看到本质问题,这个问题实际上就是数学上的斐波那契额数列,而求兔子的对数,则可以抽象为斐波那契额数列求和。因此,可以借助循环语句和变量循环赋值的方法来编程解决此问题。
以1对为单位,从第1个月开始,每个月总共的兔子数量是1,1,2,3,5,8,13……可以看出前2个月为1,从第3个月开始,当月的数量为前2个月数量之和。假设第1项为n1=1,第2项n2=1,那么第3项n3=n1+n2,然后将n2的值赋给n1,将n3的赋值给n2,以此类推进行循环,找出此数列的前n项。
4.算法设计
算法是用于解决某个问题的一系列步骤,是解决问题的指令集合,在用程序解决实际问题的时候,一般先设计算法,然后再用特定的程序设计语言来编程。算法设计的优劣会直接影响程序执行效率的快慢,因此算法也被称作是程序设计的灵魂。本案例使用流程图来呈现算法(如图2)。
5.程序实现
引导学生按照设计的流程图用Python来完善程序(如图3),本节课重点内容是print()语句、input()语句以及循环语句的使用。在程序实现的过程中,引导学生不断调试,培养其认真严谨的治学态度
6.多元评价,共同提高
多元评价在编程思维的培养过程中也非常重要,形成性评价应贯穿整个学习过程,帮助教师在教学过程中根据学生反馈及时发现学生的掌握情况,以便调整自己的授课进度。教师在课堂最后引导学生进行自我评价,生生互评,使学生根据他人的分享和评价发现更加优化的程序设计思路。
● 结语
Python语言编程非常适合没有编程基础的初中生学习,界面友好,功能很强大,其摒弃了复杂的语法,从问题解决的角度出发,用简洁的语言和算法来解决问题。编程思维提升的是学生的元认知能力,即“对认知的认知”,元认知能力强的学生,有清晰的目标,并且执行能力强,善于总结反思。因此,编程思维应作为一种文化价值观得到传播,使学生乐学善思,成为学习的主人。
参考文献:
[1]查德清.务本求实 简约灵动 科学有效——我看信息技术高效课堂[J].中小学信息技术教育,2011(06):34-35.
[2]臧美凤.STEAM教学模式在初中信息技术课堂中的应用——以蘇州高新区实验初级中学为例[J].中学教学参考,2020(03):16-18.
[3]徐燕萍.境脉学习:一种引导学习转型的新范式[J].江苏教育研究,2019(10):23-27.
[4]Wing Jeannette M.Computational Thinking[J].Communication of the ACM,2006,49(03):33-35.
作者简介:臧美凤,硕士,中学一级教师,江苏省苏州高新区学科带头人。