论文部分内容阅读
摘 要:随着社会发展的迫切需要,编程教育被进一步提到重要的地位。对于初中生而言,程序设计学习是有相当难度的。本文介绍了笔者在初中VB教学中采用的一些改进教学效果的做法,愿与大家共同探讨。
关键词:程序设计;VB教学;初中计算机
VB是笔者所在地区初二学生的一门信息技术课程。程序设计在当今社会各行各业的应用越来越广泛,有时起着相当关键的作用。掌握基础的程序设计技能,为今后可能进一步的深造打好基础,是师生共同的愿望和责任。但是在初二学生身处的认知发展的阶段,通常对抽象的知识的学习普遍感到困难,再加之大多数学生自学的能力和习惯尚在培养形成当中,这就要求教师在VB教学当中,应该力求在教学设计上适合学生年龄特点,做到深入浅出,化难为易,如此可以保護学生对VB的兴趣,带领他们一步一步进入到编程的快乐世界。
笔者在长期的教学过程中,探索、尝试了一些做法,取得了一定的有益效果,这里与各位同仁分享,共同探讨。
一、用自然语言描述问题解决的步骤
VB作为高级语言,虽然与我们日常使用的自然语言较为接近,但是它的语言规范毕竟与日常语言有着很大差别,而且VB使用的“自然语言”词汇也是采用的英语,很多词初二学生英语课上还没有学过。在我们使用VB来解决一个问题时,适宜先用汉语把操作步骤描述清楚,并指导学生掌握。有的老师提议用流程图来表示问题解决过程,这个要看学生的实际情况,由于阅读流程图本身需要有一定的基础,所以有的时候效果不一定很好。
比如说,“判断一个正整数是不是质数”这样一个问题,笔者把解决方案描述如下:
输入一个正整数,假定是X
把一个参数SF设定为0
从2开始到X-1,逐个试验能不能整除X
如果能,把SF设定为1
最后看SF的值是多少,如果是0表示X是质数,如果是1表示X不是质数
在教学时,先不管VB语言,使学生理解这段文字描述的操作的含义,这是比较容易做到的。教师必须明确,这里的每一步操作,都是VB语言可以做到的,也就是说和一定的VB语句相对应的。等讲清楚这段文字的含义后,再讲解每一步操作所对应的VB语句。在教学中教师也要讲明,之所以采用一些看起来比较“笨”的处理方式,是取决于计算机的快速运算的能力的。
教学实践表明,经过这样一种自然语言的过渡,学生的接受程度普遍有所提高,学习的自信也得到增强。当然,当学生有了一定的基础后,用自然语言来表达问题解决过程就未必只是一种很好的方式,但是初学阶段是可取的。
二、操作步骤的结构化
对知识的结构化有助于把握学习内容。比如上一节中,我们讲到试验正整数a能否整除x,我们可以把这步操作再细化为:
计算x/a
计算int(x/a)
如果x/a=int(x/a)那么a整除x,否则不能
如果我们在任何操作步骤描述中都采用最细化的方式,则会造成内容过多,难以把握脉络,难以记忆和掌握。
在教学中,笔者经常会采用思维导图来描述解决问题的思路,例如我要求学生做的一个练习,在窗体上有一个标签,其上的文字会在窗口打开后自动循环放大和缩小。效果我先展示给学生看。然后和学生一起研究解决的步骤(篇幅关系,此处不展示导图):
第一层:
1. 窗体上放置标签控件,设置好内容、大小
2. 放置定时器控件
3. 编写窗体事件代码
4. 编写定时器事件代码
第二层:
1. 窗体事件要做的事:Load事件:打开定时器,设置定时器时隔
2. 定时器事件要做的事:
(1)如果文字的大小超过120则缩小,如果小于20再增大
(2)按照(1)决定的方式缩小或增大
……
三、先实例再概括
笔者在刚开始从事VB教学的时候,讲到固定次数的循环语句For-Next,在学生还没有接触到几个实例的情况下,就试图向学生讲解该语句的语法。结果学生听得云里雾里的居多。后来,在教学中,笔者对于语法,主要不采用讲解的方法,而是提供不同的实例让学生练习,让他们自己去发现,去“悟”。我觉得教师不应该有一种想法,就是每时每刻讲授的内容都必须是严谨的,还是要以学生易接受作为前提。
对于For-Next语句,我一开始不采用
For 循环变量 = 初值 To 终值 [Step 步长]
[循环体]
Next [循环变量]
这样的形式讲给学生听,而是只要求学生熟练掌握一个实例,比如:
For i=1 to 10
print i
Next i
甚至这里的变量i可以用别的变量当时也没有提。有的学生不满于老师不够精确的讲述,他们会自行阅读教材,或者从网下查阅资料了解,这样反而又促进了部分学生的求学热情,培养了他们的良好的学习习惯。
当然,在学生接触了一定量的固定次数的循环语句的实例后,我还是会在适当的时候把它的语法提一下,这个时候学生理解起来就是水到渠成了。
正如篇头所提,笔者这样的做法是考虑到初中生的认知特点,他们学习编程语言的方式和我们教师是有所不同的,我们教师在教学中应该特别注意到这方面的因素,根据学生的认知特点授课。
四、语句编号,用编号序列表达语句流程
流程控制是程序设计中的基础知识,但初中学生刚接触此项内容,颇难理解。关于如果表达语句执行流程,笔者也看到过不少方法。最原始的方法是用手或教鞭指着板书,有的是用VB调试中的逐句运行,笔者还曾经专门为此编制过一个课件,可灵活进行语句的前后单步执行。后来发现,其实把语句进行编号,用编号序列表达语句执行次序就可以取得良好的效果,已经过课堂教学试用的验证。比如说,下面这样的一段语句:
i = 1
Do While i <= 10
Debug.Print i
i = i + 1
Loop
它的执行次序是怎样的呢?
我给它们编上号,像这样
(1)i = 1
(2)Do While i <= 10
(3)Debug.Print i
(4)i = i + 1
(5)Loop
讲解执行次序:
(1)(2)(3)(4)(5)(2)(3)(4)(5)(2)……
通过这样的方式,学生对于循环语句的运行原理很容易就理解掌握了。
五、小结
以上是笔者在VB教学过程中采用的一些做法的介绍,其实也算不上是什么技巧,如果能起到一个抛砖引玉的作用,引起大家的对VB教学的进一步的关注和探讨,则笔者将深感欣慰。
参考文献:
(美)鲍里奇.有效教学方法[M].南京:江苏教育出版社,2002.
关键词:程序设计;VB教学;初中计算机
VB是笔者所在地区初二学生的一门信息技术课程。程序设计在当今社会各行各业的应用越来越广泛,有时起着相当关键的作用。掌握基础的程序设计技能,为今后可能进一步的深造打好基础,是师生共同的愿望和责任。但是在初二学生身处的认知发展的阶段,通常对抽象的知识的学习普遍感到困难,再加之大多数学生自学的能力和习惯尚在培养形成当中,这就要求教师在VB教学当中,应该力求在教学设计上适合学生年龄特点,做到深入浅出,化难为易,如此可以保護学生对VB的兴趣,带领他们一步一步进入到编程的快乐世界。
笔者在长期的教学过程中,探索、尝试了一些做法,取得了一定的有益效果,这里与各位同仁分享,共同探讨。
一、用自然语言描述问题解决的步骤
VB作为高级语言,虽然与我们日常使用的自然语言较为接近,但是它的语言规范毕竟与日常语言有着很大差别,而且VB使用的“自然语言”词汇也是采用的英语,很多词初二学生英语课上还没有学过。在我们使用VB来解决一个问题时,适宜先用汉语把操作步骤描述清楚,并指导学生掌握。有的老师提议用流程图来表示问题解决过程,这个要看学生的实际情况,由于阅读流程图本身需要有一定的基础,所以有的时候效果不一定很好。
比如说,“判断一个正整数是不是质数”这样一个问题,笔者把解决方案描述如下:
输入一个正整数,假定是X
把一个参数SF设定为0
从2开始到X-1,逐个试验能不能整除X
如果能,把SF设定为1
最后看SF的值是多少,如果是0表示X是质数,如果是1表示X不是质数
在教学时,先不管VB语言,使学生理解这段文字描述的操作的含义,这是比较容易做到的。教师必须明确,这里的每一步操作,都是VB语言可以做到的,也就是说和一定的VB语句相对应的。等讲清楚这段文字的含义后,再讲解每一步操作所对应的VB语句。在教学中教师也要讲明,之所以采用一些看起来比较“笨”的处理方式,是取决于计算机的快速运算的能力的。
教学实践表明,经过这样一种自然语言的过渡,学生的接受程度普遍有所提高,学习的自信也得到增强。当然,当学生有了一定的基础后,用自然语言来表达问题解决过程就未必只是一种很好的方式,但是初学阶段是可取的。
二、操作步骤的结构化
对知识的结构化有助于把握学习内容。比如上一节中,我们讲到试验正整数a能否整除x,我们可以把这步操作再细化为:
计算x/a
计算int(x/a)
如果x/a=int(x/a)那么a整除x,否则不能
如果我们在任何操作步骤描述中都采用最细化的方式,则会造成内容过多,难以把握脉络,难以记忆和掌握。
在教学中,笔者经常会采用思维导图来描述解决问题的思路,例如我要求学生做的一个练习,在窗体上有一个标签,其上的文字会在窗口打开后自动循环放大和缩小。效果我先展示给学生看。然后和学生一起研究解决的步骤(篇幅关系,此处不展示导图):
第一层:
1. 窗体上放置标签控件,设置好内容、大小
2. 放置定时器控件
3. 编写窗体事件代码
4. 编写定时器事件代码
第二层:
1. 窗体事件要做的事:Load事件:打开定时器,设置定时器时隔
2. 定时器事件要做的事:
(1)如果文字的大小超过120则缩小,如果小于20再增大
(2)按照(1)决定的方式缩小或增大
……
三、先实例再概括
笔者在刚开始从事VB教学的时候,讲到固定次数的循环语句For-Next,在学生还没有接触到几个实例的情况下,就试图向学生讲解该语句的语法。结果学生听得云里雾里的居多。后来,在教学中,笔者对于语法,主要不采用讲解的方法,而是提供不同的实例让学生练习,让他们自己去发现,去“悟”。我觉得教师不应该有一种想法,就是每时每刻讲授的内容都必须是严谨的,还是要以学生易接受作为前提。
对于For-Next语句,我一开始不采用
For 循环变量 = 初值 To 终值 [Step 步长]
[循环体]
Next [循环变量]
这样的形式讲给学生听,而是只要求学生熟练掌握一个实例,比如:
For i=1 to 10
print i
Next i
甚至这里的变量i可以用别的变量当时也没有提。有的学生不满于老师不够精确的讲述,他们会自行阅读教材,或者从网下查阅资料了解,这样反而又促进了部分学生的求学热情,培养了他们的良好的学习习惯。
当然,在学生接触了一定量的固定次数的循环语句的实例后,我还是会在适当的时候把它的语法提一下,这个时候学生理解起来就是水到渠成了。
正如篇头所提,笔者这样的做法是考虑到初中生的认知特点,他们学习编程语言的方式和我们教师是有所不同的,我们教师在教学中应该特别注意到这方面的因素,根据学生的认知特点授课。
四、语句编号,用编号序列表达语句流程
流程控制是程序设计中的基础知识,但初中学生刚接触此项内容,颇难理解。关于如果表达语句执行流程,笔者也看到过不少方法。最原始的方法是用手或教鞭指着板书,有的是用VB调试中的逐句运行,笔者还曾经专门为此编制过一个课件,可灵活进行语句的前后单步执行。后来发现,其实把语句进行编号,用编号序列表达语句执行次序就可以取得良好的效果,已经过课堂教学试用的验证。比如说,下面这样的一段语句:
i = 1
Do While i <= 10
Debug.Print i
i = i + 1
Loop
它的执行次序是怎样的呢?
我给它们编上号,像这样
(1)i = 1
(2)Do While i <= 10
(3)Debug.Print i
(4)i = i + 1
(5)Loop
讲解执行次序:
(1)(2)(3)(4)(5)(2)(3)(4)(5)(2)……
通过这样的方式,学生对于循环语句的运行原理很容易就理解掌握了。
五、小结
以上是笔者在VB教学过程中采用的一些做法的介绍,其实也算不上是什么技巧,如果能起到一个抛砖引玉的作用,引起大家的对VB教学的进一步的关注和探讨,则笔者将深感欣慰。
参考文献:
(美)鲍里奇.有效教学方法[M].南京:江苏教育出版社,2002.