如何针对中学生有效地开展编程教学——信息技术线上教学《VB中的变量》教学思考

发表时间:2020/11/24   来源:《教学与研究》2020年7月22期   作者:张沩
[导读] 全球科技发展迅速,国家的科技实力是国际竞争力的核心之一

        张沩
        深圳市龙岗区外国语学校 广东 深圳市 518172
        全球科技发展迅速,国家的科技实力是国际竞争力的核心之一。开展编程教育能够提升学生的计算思维、逻辑思维、创新思维,并且能促进其他基础学科的学习,在基础教育中开展系统、科学的编程教学能引导更多的有天赋、有潜力的学生选择创造类理科专业,与大学很多专业合理衔接,长久会提升我国国民的整体素质,也势必能为我国输入科技高端人才从而提升我国的在国际上的综合竞争力。
        深圳的基础教育中于信息技术学科教育地位薄弱,很多学校对编程教学不重视,加上每个学校校情不一样,很多学生并没有接受系统的编程教学,有些孩子对编程的认识停留在“望而生畏”的阶段。许多年轻教师缺乏对信息技术学科核心素养的的深刻理解,也有很多没有经过专业的编程教学的教法指导。我刚毕业的时候对编程教学几乎一窍不通,通过这几年的摸索、学习、练习,逐渐掌握了一些编程教学的方法。
        在编程教学入门阶段,让学生产生兴趣,将知识点化繁为简,是激发学生持久学习力尤为重要。环节无论是图形模块化编程还是具体语言编程,变量的认识和使用都是一个重要环节。变量知识点是编程教学的分水岭,熟练掌握变量相关知识的学生会在后面的学习中越学越感兴趣,没听懂的学生到后面的课程中就会呈现听“天书”的状态。所以这节课的处理的尤其需要教学设计的智慧,我将阐述一下我这节课的设计的思路和方法,供信息技术教学探索路上的同行们参考、指正。
        一、活用类比法,建立联系促理解。
        “变量是一段有名字的连续存储空间。在源代码中通过定义变量来申请并命名这样的存储空间,并通过变量的名字来使用这段存储空间。 变量是程序中数据的临时存放场所。在代码中可以只使用一个变量,也可以使用多个变量,变量中可以存放单词、数值、日期以及属性。”以上关于变量的含义以及变量的类型,对于八年级学生来说是生涩难懂的。如何将这些生硬的定义让学生接受呢,我用了类比法。
        1.与现实生活类比
        将变量比喻成生活的容器“盒子”,盒子可以盛放任何东西——水、沙子、空气、书本等等。变量也是如此,变量可以用来代表任何一个我想让它代表的东西。如,我想设定一个商品的一个月的销售总额,我可以设定一个叫作“a”的变量来表示;我想设定完成任务的天数,我可以设定一个叫作“day”的变量来表示天数。再根据“盒子”所能装的东西来类比理解变量的类型,学生自然能理解了。后面的变量的定义规则都是简单易懂,无需赘述。
        2.与旧知识类比
        学生渐渐理解的情况下,再类比之前学习“诺宝”机器人时的“通用变量”和之前学习过的Python语言中变量的概念,新旧知识的类比和衔接,学生就掌握了变量的含义和用途了,这个知识点学生就能融会贯通,内化为自己的知识储备了。
        二、重视计算思维,引导激励促思考。
        在最初接触编程教学时,我对编程教学的意义理解并不深刻,常常上课演示一遍程序,再让学生操作,相信很多年轻的老师会和我一样走弯路。通过不断地教学反思和学习,我意识到编程教学最重要的是要培养学生的计算思维、逻辑思维、创新思维,培养学生长期的思维模式和思维方法,而不单单是完成某个具体的任务。
        1.分析程序
        在我这节课中,我首先让学生分析程序的需求,如课堂上的一个简单例子:我需要制作一个能实现计算梯形面积计算器”。首先,我让学生分析程序需求,学生通过分析,得出要设定3个变量,单精度双精度皆可,变量间的关系是s=(a+b)*h/2。“习惯大于成绩”,让学生养成每次编码前先思考、先分析,将流程图构思出来的习惯。在日常教学中,完成某一个程序,学生可能会采用各种各样的思路,有简短便捷的,也有冗长的,但也都是“条条大路通罗马”。多激励学生每次在动键盘前,先思考,才能使学生真正地学会自主地思考,懂得创新,这种针对学生核心素养的培养能影响学生一生的学习。
        2.读程序、改程序
        程序教学中还有一个重要环节,就是学生读程序的能力。我会通习题的形式,让学生读几段代码,做几道题来对学生进行日常的训练。同一个需求,学生可以通过不同的代码来实现,有时难免会出错。在课堂上我会设计一个“会诊”环节,鼓励学生读他人的程序,一方面理解他人思路是否合理或更优,另一方面能否发现程序的问题所在,是否具备调试报错程序的能力。经过训练,学生读程序、调试程序的能力逐步提升,计算思维得到发展。
        3.举一反三,鼓励实践
        信息课的课时量不多,线上教学时更无法真正地掌握所有学习效果。所以每次课上我都会引导学生进行发散思维,学会举一反三。可能课上将了例子才有一两个,但可以通过多布置几个同类的习题给学有余力的学生,设置分层任务,让每个学生都能完成基础任务,让优生可以继续探索其他的任务,甚至可以鼓励学生自己设计程序。通过多练、多设计让学生真正喜爱编程、善于编程的孩子感受到编程的成就感。
        在编程教学方面,我既是学生也是老师。“不积跬步,无以至千里”,编程教学没有捷径,要教好学生,不辜负任何一个有天赋的孩子,老师要持之以恒地研究,如:每天研究一道编程题,只有先把自己“这通水”装满了,才能滋润学生的成长之田。
        2教学设计:
课题    《VB中的变量》    类型    新授
教材分析    变量的认知和使用是编程入门时期的重要环节,也是老师的教和学生的学中难以处理的一块,而VB当中对象、事件、事件处理过程这三者关系和变量相碰撞时,更是让很多学生望而生畏,本节课将任务加载在简单的数学模型上,用学生熟悉的加法计算、圆的面积计算和梯形的面积计算三个模块来解决复杂编程的问题,弱化了问题的难度,强化了学生学习的主动性。
教学目标    1.学生能理解变量、数据类型、赋值语句的使用。
2.学生会分析程序需求,根据需求定义变量,
3.学生能够在程序报错的时候对自己的程序进行修改和继续调试。


重点    1.变量含义的理解、变量的定义、变量的类型
2.分析需求,定义合适的变量
3.程序编写、调试程序
难点    分析程序需求定义合适变量、编写程序、调试程序
教学方法    讲授法、引导法、纠错法、演示法
学法指导    观摩法、任务驱动法



程    教师    学生    设计意图
    一、    温故知新
1.复习相关知识。
(1)下列控件哪个是用来显示图片的?
A .Picture  B .Image  C. Text  D. Frame
(2)下列控件哪个是命令按钮?
A.Picture  B .Image  C. Frame D.Command Button
(3)要使图片可见,我们应该将哪个属性值设置为True.?
A.Stretch B.Visible    C.CaptionD.Picture
(4)要使图片可以拉伸、缩放,我们应该将哪个属性值设置为True?
A.Stretch    B .Visible    C.CaptionD.Picture

教师解析

2.诊断
表扬上节课课后完成任务优秀的学生,展示个别学生出错的案例,学生集体帮助他找到解决方法。
(预计错误可能分为1.拼写错误 2.控件名称和编程时的名称使用不一样 3.文件夹工程和图片没有放在一个文件夹下 )
二、新课过程
1.展示“a+b计算器”小程序
        展示效果,提出问题,为什么含小数的数字计算结果不正确?分析程序
        《加法计算器》程序分析:
        
        第一个文本框用来放第一个输入的数字,第二个文本框用来放第二个输入的数字 ,第三个文本框用来放结果。
        对象、事件、事件处理过程
        点击计算按钮,显示结果。
        点击清除按钮,文本框里面的内容清空
        点击退出按钮,程序退出
2.Text文本框
介绍文本框作用
文本框Text文本属性
4.变量
(1)变量的含义、作用
       “盒子”类比
(2)变量定义命名规则
(3)变量类型
(4)定义变量
        Dim 变量名 As 类型
        如 :Dim a as Integer
(5)变量赋值
变量名=表达式   a=text1.text  或者 a=10 或者 a=a+1 或者 apple=“你好”…………

请你回答下列语句的含义:
老师与学生互动问题:
Dim  lfls  As  Integer  
lfls  =  lfls  +  50  
Label1.Caption  =  lfls  


请问label1输出的前3个数字是多少?

0 50 100

5.计算器程序分析、编写

三、分层任务
A任务:完成a+b程序的代码编写
B任务:在完成A任务的基础上完成“圆的面积”和“梯形面积”程序代码编写
三、    共性问题解析与评价
对出现的共性问题进行解析对表扬任务完成好的同学   



学生思考、互动答题















学生一起思考程序报错的原因



效果展示,引发学生思考




分析程序需求











学生思考与老师互动、






学生观摩




学生思考、与老师互动










学生完成驱动任务



学生总结、反思这一节课的所得   



激起兴趣,复习旧知,唤醒记忆















激励学生,师生共同调试程序,让学生能掌握编程程序调试的技能






分析需求为代码编写缕清思路








与之前所学的Python知识相联系,通过举例子等方法加强学生的理解






巩固变量相关知识点,突破重难点












以任务为驱动,让学生在操作中巩固所学
教学反思    本节课课程的知识量比较大,上的内容主要是变量和变量赋值。我以选择题和学生的易错例题导入,将上节课的重点知识点融入其中,新知例子的演示和提问激发了学生的兴趣,程序分析是程序课中非常重要的一个环节,本节课的程序分析和问题设置,步骤清晰,环环相扣,特别是重难点变量的解析讲解到位,作业的设置也贴合学生已有的知识,有难度阶梯,变量是编程中的重要内容,变量比成“盒子”的方法便于学生理解变量的概念。这堂课学生的互动积极性不够高,可能和教学内容比较深有关系, 接下来的课程我将继续把变量的知识拓展一下,提升学生的编程思维。

投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: