基于 Python 语言编程的学生计算思维培养探究

2022-04-29 14:37赵彦荣
计算机应用文摘 2022年19期
关键词:计算思维核心素养信息技术

摘要:依据高中信息技术课程新教材内容编排,基于单元教学中真实应用场景的项目活动所涉及的编程,可以采用Python编程方式实现。如何设计Python语言编程教学,是教师需要直面的一个问题。文章立足于高中信息技术新课标,以学生为主体,通过Python语言编程的层次化思考,创编灵活多样的实例教学设计,以激发学生的学习兴趣,培养学生的编程能力,帮助学生应用计算思维解决问题,促进学生全面发展。

关键词:信息技术;python 语言编程;核心素养;计算思维

中图法分类号:TP312文献标识码:A

Research on cultivation of students' computational thinking based onPython language programming

ZHAO Yanrong

(Lanzhou No.51 Middle School,Lanzhou 730000,China)

Abstract:According to the content arrangement of high school information technology new curriculum textbooks, the programming involved in project activities based on real application scenarios in unit teaching is implemented by python programming. How to design Python language programming teaching is a problem that teachers face directly.Based on the new curriculum standard of information technology in high school,this paper takes students as the main body,through the hierarchical thinking of Python language programming,and creates flexible and diverse case teaching designs to stimulate students' interest in learning, boost students' programming ability, expand students' use of computing thinking to solve problems,and promote students'all-round development.

Key words: information technology, Python language programming, core literacy, computational thinking

面向核心素養的高中信息技术新课程教学目标是全面提升学生信息素养,将信息技术的核心素养—信息意识、计算思维、数字化学习与创新、信息社会责任贯穿于学科教学中,从而培养学生数据意识、发展计算思维、提高解决问题的能力、培育学生的信息社会责任感[1]。

所谓计算思维就是应用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。本文通过对Python 语言编程的单元教学的整体规划与启发式实例教学设计,拓展学生计算思维。在信息活动中,正确理解计算学科中所蕴涵的科学思维方法界定问题,建构模型,合理组织数据,通过判断、分析,应用合理的算法形成解决问题的方案,总结利用符合信息进步的思维方式来思考和解决问题的过程与方法,并迁移到其他问题的解决中。

1 存在的问题

现状:大部分高中学生没有学过 Python 语言,对编程语言比较陌生;在信息技术新教材 Python 语言编程教学占比小,但各单元教学中真实应用场景的项目活动的编程通过 Python 编程实现,编程碎片化,不系列;出现了学生不易学,老师难教的局面。这就需要老师充分发挥自己的才智,针对教学对象与教学内容的分析,巧妙设计编程的单元与课堂教学,联系实际生活应用,通过浅显易懂教学设计,挖掘学生潜质,激发学生求知欲,提高学生编程能力,培养学生的计算思维。

2 教学设计

依据高中信息技术教材必修课程内容中的 Python 语言编程编排及其特征,将 Python 语言编程教学进行层次化设计,设计如下。

第一部分:基础部分,要求全体学生掌握 Python 语言编程的基础知识,如数据类型(整数、浮点、布尔、字符串)、运算符(算术、赋值、比较、布尔、位)、表达式、基本语句、常用函数、程序设计结构(顺序、分支、循环)等。

第二部分:提升部分,要求对语言编程有兴趣且有一定编程基础的学生进行,如开发小项目(安装Pygame—开发小游戏、创建 ship 类、方法等)、数据可视化(生成数据—绘制图形,调取文件—下载数据)、应用函数数据库实施有效编程等。

Python 编程知识作为高中信息技术课程知识体系的重要组成部分,主要是助推高中学生编程能力发展。通过编程的基础学习,实现用计算机科学的思维去思考、分析、解决问题,内化计算思维意识,提升学生计算思维能力;通过编程深层次的学习,阐明编程也是实现计算思维的一种方式,事实上计算思维就是人的思维,应用这种思维通过对所要解决的问题进行分解、抽象、算法、调试、迭代、泛化,最终实现预设问题的圆满解决;既培养了学生的计算思维能力,又提高了学生的信息技术素养。

3 利用 Python 语言编程案例培养学生的计算思维

依据教材内容与学生现有的知识和能力,采取相应的方法,创设教学情境,编程案例设计要贴近现实应用,能够激发学生的学习兴趣,注重学生应用编程的方式实现算法并解决问题,掌握利用计算思维解决问题的方法与策略,助力提升学生的信息素养[2]。下文通过两个 Python 语言编程实例教学设计,营造任务驱动的教学情境,引入问题,通过学生独立思考与合作学习来解决问题,从而培养学生计算思维的意识与能力。

3.1 实例一:求水仙花数

水仙花数是这样一个三位数:它的个位数、十位数、百位数的三次方之和等于它自身。如153=13+53+33。

(1)要求画出求水仙花数流程图

学生根据自己的思维及所学知识绘制流程图。不求相同,正确即可(图1、图2)。

(2)编写程序

根据学生自己所绘制流程图及参照图1、图2流程图和所学知识,编写程序。

参照图1编写程序。

方法一:使用 while 循环语句。

编程代码如下:

n=0

i=100

While i<1000:

a=(i%10)??3  b=(i∥10%10)??3=(i∥100)??3  m=a+b+c#a 是个位数三次方#b 是十位数三次方

#c 是百位数三次方

if m==i:

print(str(m)+是水仙花数)

n+=1

i+=1

print(水仙花一共有+str(n)+个数)运行结果如图3所示。

参照图2流程图编程。

方法二:使用 for 循环语句,调用 range 函数。编程代码如下:

for i in range(100,1000):

a=(i%10) ??3

b=(i∥10%10) ??3

c=(i∥100) ??3

m=a+b+c

if m==i:

print(str(m)+'是水仙花数')

else:

continue

运行结果如图4所示。

方法三:调用Pythonmath库常用函数 math 库,math.pow ()函数。

编程代码如下:

import math

for i in range(100,1000):

if (math.pow((i%10),3)+math.pow((i∥10%10),3)+math.pow((i∥100),3))==i:

print(str(i)+'是水仙花数'

运行结果如图4所示。

方法四:创建列表编程。

编程代码如下:

listz=[]

for i in range(100,1000):

if (i%10)??3+(i∥10%10)??3+( i∥100)??3==i:

listz.append(i)

print('水仙花数是:',end='')

print(listz)

运行结果如图5所示。

通过求水仙花数,绘制流程图与编写程序,阐明计算思维传承于数学算法思维,是一种选择合适的方式去陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法;计算思维是利用启发式推理来寻求解答,就是在不确定情况下的规划、学习和调度。

3.2 实例二:自定义函数

在Pytnon语言除调用内置函数外,可自定义函

数。要求学生自定义函数—输入人员基本信息(姓名、性别、家庭住址、电话)函数( xxlr())及保存函数(save())至人员信息.txt 文件。

(1)绘制信息录入函数(xxlr())流程图(图6)。

(2)编写程序。

编写代码如下:

filename='学生信息.txt'

def xxlr():

ryxx_list=[]

while True:

name=input('请输入姓名:')

if not name:

Break

sex=input('请输入性别:')       address=input('请输入家庭住址:')   phone_num=input('请输入电话号码:')

ryxx={'姓名':name ,'性别':sex ,'家庭住址

':address ,'电话号码':phone_num}

ryxx_list.append(ryxx)

ansswer=input('是否继续录入? y/n \n') if ansswer=='y':

Continue

else:

print('学生基本信息输入完毕,谢谢!') Break

save ( ryxx_list )

def save (lst):#存储函数

try:

ryxx_txt=open (filename ,'a',encoding='utf?8') except:

ryxx_txt=open (filename ,'w',encoding='utf?8') for i in lst:

ryxx_txt.write ( str (i)+'\ n')

ryxx_txt.close ()

xxlr ()

运行程序

输入学生基本信息。结果如图7。

查看保存的存储文件—学生信息.txt 。结果见图8。

上例通过自然语言的描述来绘制流程图,学习编程语言的架构及基础知识。以微小编写的程序,完成一个小任务,激发学生的学习兴趣,发挥学生的主观能动性。在实例设计教学中,进行知识的扩展,同一个任务可用不同的方式完成,如录入学生基本信息,可用 Microsoft Office 和 WPS Office 中的电子表格录入学生基本信息并保存,也可用其他方式;在实例二自定义函数编程中,也能录入学生基本信息并保存,以阐明编程语言与其他软件的区别和联系。针对编程语言的模块化编程(单人编程完成)及应用软件的开发(多人编程协作完成),通过实现算法、操作数据、数据可视化等应用,学会使用语言来掌握编程,从而培养学生的计算思维。计算思维是一种递归思维,是一种并行处理方式,是一种把代码译成数据又能把数据译成代码的等效转换,是一种多维分析推广的类型检查方法;计算思维是利用海量数据来加快计算,在時间和空间之间以及在处理能力和存储容量之间进行折中的思维方法。

总之,编程教学应实用、适用,现行教材中各章节项目活动中涉及的编程是通过 Python 语言编程方式实现[3]。那么我们也可自编 Python 语言小教程,以点带面,画龙点睛,以学生为主体及满足学生成长的需要,灵活地选用项目活动设计教学,引导学生从编程实践走向计算思维。计算思维是一种思维过程,是面向智能时代的基本思维,是未来世界认知、思考的常态思维方式。

参考文献:

[1]董荣胜.计算思维的结构[ M].北京:人民邮电出版社,2019.

[2]袁国忠.Python 编程[M].北京:人民邮电出版社,2020. [3]周彩萍.高中信息技术 Python 语言编程教学实践[ J].中国信息技术教育.2021(13):56?57.

作者简介:

赵彦荣(1969—),本科,研究方向:信息技术。

猜你喜欢
计算思维核心素养信息技术
新一代信息技术征稿启示
新一代信息技术征稿启示
新一代信息技术征稿启示
信息技术在幼儿教育中的有效应用
程序设计课程中计算思维和应用能力培养问题研究
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养
作为“核心素养”的倾听
“1+1”微群阅读