(通讯员 杨 凯)为培养学生的逻辑思维能力、想象力和创造力,加强信息素养,培养学生面向未来的必备技能,我校信息技术组首次开设Python创意编程活动课程,此次活动在高二年级选拔有编程基础和对编程感兴趣的同学,根据学生基础及能力进行分层教学。李树美、张茂月、祁倩倩三位老师精心准备,以三个不同主题开展教学。
编程教育学习是一种表达方式,编程是一种语言,是未来公民与人工智能交流的表达方式。编程教育学习是人工智能时代亟需的核心能力,是理解人工智能时代的基础。
本次编程学习以“玩”为基础,以Python语言为工具,边玩边学。编程学习就像玩游戏破关一样,学生彼此讨论“破关攻略”,你不会,我教你;我卡关,你帮忙。学生在互动中增进情谊,也学到了如何用团队力量解决问题。完成的作品可以分享给朋友,增加成就感。
编程学习培养学生计算思维,让学生能够“像计算机科学家一样去思考”,这种能力不仅仅是面对未来在计算机科学方面的学习,更是一种通用的思维方式,对学生来讲是受益终生的。通过本次活动,部分学生感受到了编程的魅力,相信更多的学生会加入到学习编程的队伍当中,努力提升自身信息素养。
张茂月老师指导学生
祁倩倩老师指导学生
李树美老师指导学生
学生演示《斐波那契数列“兔子问题”》
学生演示《创意绘图》
学生演示《乘法口诀》
信息技术备课组长杨凯老师总结
技术中心闫树勇主任点评
附部分学生作品(代码):
乘法口诀:
import os
for i in range(1,10):
for k in range(1,i):
print (end=" ")
for j in range(i,10):
print("%d*%d=%2d" % (i,j,i*j),end=" ")
print("")
os.system("pause")
运行结果:
斐波那契数列“兔子问题”:
print("我是 同学,下面我将使用递归法求解“兔子对数”问题")
def fib(n):
if n == 1 or n == 2:
return 1
else:
return fib(n - 1) + fib(n - 2)
n = int(input("请输入需要计算的月份数:"))
for i in range (1,n+1):
s = fib(i)
print(i,"月的兔子对数为:",s )
input("运行完毕,按回车键退出...")
运行结果:
创意绘图代码:
import turtle
turtle.pensize(1)
turtle.bgcolor("black")
turtle.speed(0)
colors=["red","orange","green","yellow","blue","purple",]
for i in range(6):
turtle.color(colors[i%7])
turtle.circle(25)
turtle.color(colors[(i+1)%6])
turtle.circle(35)
turtle.color(colors[(i+2)%6])
turtle.circle(45)
turtle.color(colors[(i+3)%6])
turtle.circle(55)
turtle.color(colors[(i+4)%6])
turtle.circle(65)
turtle.color(colors[(i+5)%6])
turtle.circle(75)
turtle.right(60)
for i in range(6):
turtle.color(colors[i%6])
turtle.circle(25)
turtle.color(colors[(i+1)%6])
turtle.circle(35)
turtle.color(colors[(i+2)%6])
turtle.circle(45)
turtle.color(colors[(i+3)%6])
turtle.circle(55)
turtle.color(colors[(i+4)%6])
turtle.circle(65)
turtle.color(colors[(i+5)%6])
turtle.circle(75)
turtle.color(colors[(i+6)%6])
turtle.right(60)
input("程序运行完毕,请按回车键退出")
运行结果:
二分查找代码:
print("我是李林同学,下面我将使用二分查找法在有序数列中寻找数字")
print("降序数列用1表示,升序数列用2表示")
q = int(input("请输入你的数列状态: "))
if q == 1:
print("当前处理的是降序数列")
flag1 = int(input("请输入数列左边界: "))
flag2 = int(input("请输入数列右边界: "))
print("数列:",end = '')
for i in range(flag1,flag2-1,-1):
print(i,' ',end = '')
print(' ')
x = int(input("请输入你要查找的数据:"))
step = 0
while(flag1 >= flag2):
mid = (flag1 + flag2)//2
step = step + 1
if mid > x:
flag1 = mid + 1
elif mid < x:
flag2 = mid -1
else:
break
print("查找次数为:",step)
else:
print("当前处理的是升序数列")
flag1 = int(input("请输入数列左边界: "))
flag2 = int(input("请输入数列右边界: "))
print("数列:",end = '')
for i in range(flag1,flag2+1):
print(i,' ',end = '')
print(' ')
x = int(input("请输入你要查找的数据:"))
step = 0
while(flag1 <= flag2):
mid = (flag1 + flag2)//2
step = step + 1
if mid > x:
flag2 = mid -1
elif mid < x:
flag1 = mid + 1
else:
break
print("查找次数为:",step)
input("按回车键结束运算")
运行结果:
(编 辑:杨凯 审 核:闫树勇)
|