赵文财
摘 要:教育部最新发布的中职信息技术学科新课标中的“程序设计入门”模块,要求引导学生了解程序设计的基本理念,初步掌握程序设计的方法,培养学生运用程序设计解决问题的能力。文章旨在如何做好“程序设计入门”的教学及增强中职学生学习计算机语言的兴趣方面进行相关的教学探究,以期达到新课标中的“程序设计入门”模块的教学要求。
关键词:教学;兴趣;练习
教育部发布中职《信息技术》学科的新课标中,要求“程序设计入门”模块所需教学学时约12学时,如何在这12学时内完成好教学任务,对学生、教师或学校都是新课题。首先,对中职学生来说,学程序设计有一定的困难,其次,对学科教师来说,教学难点在于如何在12学时内完成教学内容及提高学生学习程序设计的兴趣,结合福建省计算机应用基础学业水平测试大纲,本文针对这些情况,从教学策略和教学评价两方面进行教学探究。
1 教学策略
1.1 程序设计模块的教学导引
以海龟绘图为指引,贯穿整个程序设计的教学过程,见表1。
1.2 精心设计课堂的上机操作练习
通过一个个有趣的实例,引导学生了解程序设计,提高学习的兴趣。如下例。
实例1-1 制作正方形(图1所示)。
参考代码如下:
import turtle #调用turtle 模块
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.done()
学生通过上机实践,制作正方形,通过本例让学生学会在python IDLE中编辑代码、运行代码、调试代码、保存代码及提交程序文件;教师通过网络教室广播逐行讲解代码,上机操作演示,让学生看懂海龟作图的常用命令及语法使用。
实例1-2 制作六边形(图2所示)。
import turtle #调用turtle 模块
turtle.forward(100)
turtle.left(60)
turtle.forward(100)
turtle.left(60)
turtle.forward(100)
turtle.left(60)
turtle.forward(100)
turtle.left(60)
turtle.forward(100)
turtle.left(60)
turtle.forward(100)
turtle.done()
以上代碼由学生根据上面的正方形的制作原理自己编写完成,学生通过完成任务,灵活掌握海龟作图的几个常用命令,从而对编程产生浓厚的学习兴趣,初步掌握python语言。
实例2 制作五环(图3所示)。
参考代码如下:
import turtle
turtle.up()
turtle.fd(200)
turtle.down()
turtle.circle(100)
turtle.up()
turtle.bk(200)
turtle.rt(90)
turtle.down()
turtle.circle(100)
turtle.lt(90)
turtle.circle(100)
turtle.up()
turtle.bk(200)
turtle.rt(90)
turtle.down()
turtle.circle(100)
turtle.lt(90)
turtle.circle(100)
turtle.done()
本例需教师对以上代码逐行讲解,上机操作演示制作五环过程,学生认真做好笔记,本节通过教师上机讲解,学生跟练,在一课时内完成以上任务,大部分学生可完成并提交,学生通过上机操作体验,对海龟作图命令有了更深理解,同时让学生进一步了解计算机语言的顺序结构,熟悉程序在计算机中的一般执行过程。
实例3制作多只海龟(图4所示)
参考代码如下:
import turtle
小黑=turtle.Turtle()
小白=turtle.Turtle()
小白=turtle.Turtle("turtle")
小黑.up()
小白.up()
小白.fd(100)
小黑.lt(90)
小黑.fd(200)
turtle.done()
本例旨在引导学生学习python语言中的的变量和赋值,学生上机操作后,通过变量(小黑、小白)展现出一只只形象可爱的海龟,对变量概念有更深的理解。
实例4-1 通过两段海龟作图代码对比,引出程序设计教学的另一个重要知识点“循环”,学生通过对比两段代码,初步理解for循环语句,代码如下:
import turtle
a=turle.Turtle()
a.forward(100)
a.left(90) import turtle
a.forward(100) —比较,改进为→ a=turtle.Turtle()
a.left(90) for in range(4)
a.forward(100) a.forward(100)
a.left(90) a.left(90)
a.forward(100) Turtle.done()
a.left(90)
Turtle.done()
實例4-2绘制同心圆(图5所示)。
参考代码如下:
import turtle
for i in range(1,6):
turtle.circle(20*i)
turtle.rt(90)
turtle.up()
turtle.fd(20)
turtle.lt(90)
turtle.down()
turtle.done()
本例有一定的难度,只有部分学生可以理解,可作为拓展讲解。
实例5 制作任意多边形。
参考代码如下:
import turtle
n=int(input("输入几边形:"))
for i in range(n):
turtle.fd(100)
turtle.lt(360/n)
turtle.done()
本例旨在引入程序设计的另一个知识点键盘输入(input函数),教师通过本例生动有趣的讲解,使用input函数可通过键盘控制制作任意多边形,学生通过上机实践,体会input函数用法,并对前面的for循环和海龟作图命令综合归纳,使得前后知识连贯。
实例6 幻影海龟作图(图6所示)。
参考代码如下:
import turtle
import random
a=turtle.Turtle()
a.color("red")
a.shape("turtle")
a.up() #抬起,不划轨迹
n=int(input("产生海龟数:"))
i=1
while i<=n:
a.goto(random.randint(-200,200),random.randint(-200,200))
a.stamp() #让海龟在所在位置留下印迹
i=i+1
turtle.done()
本例旨在引入while循环,有一定的难度,只有部分学生可以理解,可作为拓展讲解。
实例7 制作时钟(图7所示)。
参考代码如下:
import turtle
a=turtle.Turtle()
a.color("green")
a.shape("turtle")
#a.speed("slowest")
a.goto(0,0)
a.lt(90)
m=0
for i in range(1,61):
a.up()
a.fd(110)
a.down()
if i%5==0:
m=m+1
a.fd(10)
a.up()
a.bk(25)
a.down()
a.write(m,font=("黑体",16))
else:
a.up()
a.fd(5)
a.down()
a.fd(5)
a.up()
a.bk(25)
a.down()
a.up()
a.bk(95)
a.rt(6)
a.rt(90)
a.fd(120)
a.lt(90)
a.down()
a.circle(120)
a.up()
a.goto(0,0)
turtle.done()
本例旨在引入if条件分支语句,有一定的難度,只有部分学生可以理解,可作为拓展讲解。
2 教学评价
结合学测要求,可以有针对性的设计上机练习题,如:
(1)操作要求:
打开样例ks1.py文件,完善代码:
a=2
?
print("a+b=",a+b)
程序功能为输出: a+b= 5。
文件中提供的程序代码不完整,请将程序中的 ? 改为正确的内容。(注意:不能修改程序的其他部分)
(2)操作要求:
打开样例ks2.py文件,完善代码:
?
for i in range(4):
turtle.fd(100)#前进100
turtle.rt(90)#右转90
turtle.done()#停止画笔
程序功能为:绘制边长为100像素的正方形。
文件中提供的程序代码不完整,请将程序中的 ? 改为正确的内容。(注意:不能修改程序的其他部分)
教师综合分析学生提交的上机操作结果,对症下药,有针对性的指导学生,如此循环,即可达到事半功倍。
总之,根据福建省中等职业学校学业水平考试计算机应用基础考试大纲的要求,通过以上的教学策略,及上面列举的上机课堂实例,主要是对教材教学的补充,并进行教学实践,切合中职学生教学实际,提升学生学习程序设计的积极性。在约12学时的教学中,大部分学生较好的完成课堂任务,有个别学生接受能力相对较慢,但都能充分感受学习python语言的乐趣,达到了新课标程序设计课程的教学要求;同时教师也从中体会到如何较好地教学生学习计算机语言,教学两相长,最终受益于每一个学生。