《算法与程序设计》教学策略探究

2015-09-10 07:22林梓雨
考试周刊 2015年2期
关键词:新课程教学策略

林梓雨

摘 要: 自新课程改革以来,高中信息技术教材内容发生很大的变化。除了必修模块外,还有五个模块的选修课程,其中《算法与程序设计》相对于其他选修模块,知识点多,内容环环相扣,代码学习起来枯燥难懂,大部分学生学习一段时间后都有厌烦情绪。因此,对于教师而言,如何有效组织教材、设计好教学内容、采取有效的教学方式是一个极大的考验。作者结合多年的教学心得,对选修模块《算法与程序设计》的教学策略略作探讨。

关键词: 新课程 《算法与程序设计》 教学策略

近年来,国家一直提倡要提高自主创新能力,在信息技术领域,很多学科的自主创新都跟程序有不可分割的联系,因此,高中生学习基础编程正当其时,而《算法与程序设计》这门课正好可以作为启蒙课程。但是,接触过编程的人都知道,编程语言要记的内容很多,包括各种数据类型、关键字等概念和术语,还要理解各种语法,并且要熟练应用这些语法进行解题。这对于那些思维活跃、逻辑能力强的学生,学习这门课来得心应手,事半功倍,但对于其他大部分学生,学习起来相对会吃力一点,毕竟编程里面的这些语言和语法比较抽象。因此,如何将这些知识通俗易懂地讲解出来,让学生既容易接受,又能融会贯通并应用于解题中,这对教师而言是一个不小的考验。下面我就自己讲授这门课所采用的教学方式和手段与大家交流。

一、巧打比方,化解语法理解难题

学习编程,必须掌握的程序基本控制结构有:顺序、分支、循环,这三种类型都有对应的格式,在VB语言里,分支结构有if和select case两种语法,循环有for和 do while…loop等,正确理解并掌握这些程序结构和语句的应用是学好编程的基础,是重中之重。在教学中,难点正是这些语法和概念。这些内容,教师若只是照本宣科地讲授,把语句机械地进行“翻译”,就算讲得再好,学生也是一头雾水,就算听懂语法的含义,碰到问题无法灵活应用,教学效果差强人意。如果在讲解语法的过程中,巧打比方,把语法搬进生活化的例子中,就可以把这些抽象难懂的知识变得既形象又有趣,达到“一语道破天机”的教学效果。

在学习程序时,学生最先接触的是顺序结构,它是程序结构中最简单的一种,也是学生最容易理解的一种,学生只要根据题目,按解决问题的步骤依次写出代码,VB在执行代码时按照语句顺序一条一条执行,就称为顺序结构,这个好比是工厂里流水线加工产品一样,原材料顺着流水线的工序,一道一道加工后,最后做成产品,都是一样的道理。在顺序结构里,一个经典的例子就是数值交换,比如x=6,y=10,问学生如何交换x和y的值。很多学生刚看到这个问题,下意识地就回答:x=y,y=x,我也不直接说这样是对是错,让学生打开VB软件代码一运行并输出,就会发现这样处理的结果是x和y都是变成10,学生就会思考为什么是这样,然后我再总结:这个问题,打个比方,就像我有两瓶墨水,现在我想交换两个瓶子里的墨水,我应该怎么做?通过这个生活化的例子,学生很自然就想到:哦,我应该再拿个空瓶子,才能完成这个交换过程。这个时候再去解释数值交换语句:z=x,x=y,y=z,学生就恍然大悟,一下就明白。对于分支语句,相对而言是比较好理解的语句,在教学中,有很多生活中的例子可以用来对比,就像语文中的“如果出现什么情况,那么我会怎么做”。比如:明天是周天,你正打算明天怎么安排,那么有很多因素会影响到你的最终安排。

(1)如果明天下雨,那么我会待在家里练字(只考虑下雨情况);

(2)如果明天下雨,那么我会待在家里练字;否则,我要跟同学去郊游(考虑两种情况)。

对比if语句的两种常用格式:

“if条件then语句”及“if条件then语句一else语句二”。

理解好if语句的含义和用法,学生可以轻而易举地处理各种分支语句的题目。分支语句中条件表达式是一个难点,主要是条件中出现的or和and运算,以a or b运算为例,只要a或者b有一个值是true,那么a or b的值就是true,打个成语,就是“一荣俱荣”;对应地,a and b运算中,只要a或者b有一个值是false,那么a and b的值就是false,打个成语,就是“一损俱损”,通过打比方,学生就很容易记住or运算和and运算的规则了。在三种程序结构中,循环语句是最难的一种结构,在VB语言里常见的循环语句有for循环和while循环,大多数学生难于理解循环的过程,以及两者之间的区别,以致不会灵活运用循环进行解题。因此,教学的关键就是如何让学生通俗易懂地理解循环的含义,运用生活中的例子进行形象化对比,就可以轻松解决这个问题。比如在讲解for语句时,我就拿生活中的爬楼梯作对比,for循环类似于爬楼梯,楼梯的阶数就是给定的,从下到上编号为1,2……n,循环里的循环变量代表一个人,初始值和终值对应于楼梯的阶数,步长的值就是走一步跨几步楼梯;步长大于0代表上楼,步长小于0代表下楼。对比这个例子,让学生理解以下几个循环:

1)for i=5 to 22 step 3

2)for i=56 to 4 step -2

3)for i=3 to 30 step -2

学生对比循环和走楼梯的过程,很容易就理解三个例子的含义和循环过程,加深对循环结构程序的理解,为后面循环语句的应用打下坚实的基础。

二、以问题为主线,贯通知识点

要学好《算法与程序设计》,除了要识记各种常见的数据类型、运算符、关系表达式、关键字、语法外,更重要的是要根据题目的要求综合运用这些知识。教师如果单纯地按照课本的编排进行教学,仅这些识记的知识就要花好多课时,而一味讲授这些知识点,教师教起来枯燥无味,学生听起来兴趣索然,严重打击学生的学习信心。一种巧妙的做法是:以语法为主线,以题目为媒,把知识点分散到不同类型的题目中。通过教学课前精心准备的趣味题目,穿插该题用到的知识点和语法,让学生在完成题目的同时,“顺便”学习相关知识点,这样,既可以达到“潜移默化”的教学效果,又让学生“学以致用”,取得良好的教学效果。以前面介绍的程序结构为例,在学习顺序结构时,我布置一道简单的数学题:输入梯形的上底,下底和高,求梯形的面积。这道题看似简单,但是却包含了很多VB的知识点:第一,让学生分析这道题的解题过程,涉及编程里的算法;第二,让学生分析变量的类型,用到数据类型中的integer和single;第三,计算梯形的面积,用到VB里的运算符;第四,代码实现时,让学生知道程序的四个基本组成部分:数据类型说明、输入、程序处理、输出;再比如分支结构,布置一道常识题:输入一个年份,输出它是否闰年,是闰年就输出TRUE,不是就输出FALSE。学生要完成这道题,至少要学会关系表达式、逻辑运算符、if语句的语法等。按照我的教学策略,几乎每节课都会布置一道题目,每道题用到的新的知识点,都会加以备注或者适当讲解,学生在学完用到的新知识,自行分析题目的解题思路,就可以直接加以运用,这样既可以锻炼学生的思维能力,又可以轻松实现课堂的教学目标。对于学生而言,每节课的题目的顺利完成,就是他们最大的收获,这里的收获既包括知识,又包括学习的信心。

三、结合微课程,促进教学均衡

《算法与程序设计》教材用到的编程软件是Visual Basic,它简单易用,容易上手,对于初次接触编程的学生来说,难度不是很大。当然,对于从农村考入高中的学生而言,由于初中没有什么条件接触电脑,可能还是要花更多的时间熟悉这个软件。用VB进行编程,主要分两个部分:一个部分是界面设计,另一部分就是在界面的控件里编写相应的代码。下面我主要介绍对界面部分的教学心得。其中VB界面的学习主要包括常用控件、属性、资源管理器的学习,这些内容,学生只要熟悉操作,一般都可以掌握,而利用微课程的优点,可以让不同进度的学生通过自学微课程,迅速缩小学习差距。具体做法如下:教师在课前精心组织,以VB常用控件的使用、属性设置为重点,利用微课录制软件Camtasia Studio把教师的讲解声音和操作录制成一个6分钟左右的视频,这样在课堂上教师只要把这个视频分发给学生或者放在教学平台上,学生就可以随时通过这个视频给自己查缺补漏,完成本节课的教学目标,实现课堂教学的均衡。当然,在学习到语法内容时,也可以利用微课程来进行辅助教学,比如前面接受的三种程序结构,涉及语法知识,教师同样可以预先录制好语法讲解的微课程,满足学生的不同需求。

在我看来,《算法与程序设计》是一门技术型课程,教师不能按部就班地照着课本的内容讲解。因为讲授这门课的目的不是单纯地让学生识记那些语法语句,而是要让学生掌握VB语言这个工具,解决实际的一些与数学相关的问题。正所谓“授之以鱼,不如授之以渔”,学生只有真正掌握并会运用VB语言,才能在碰到问题时加以解决。因此,本文中提到的教学措施和手段,目的在于构建能培养学生的学习兴趣、促进学生实践能力、提高教学效率的课堂模式,践行新课程中培养学生动手能力的要求。

猜你喜欢
新课程教学策略
2021聚焦新课程 专注新高考 欢迎订阅全新《新高考》
低年级写话教学策略
谈以生为本的群文阅读教学策略
写话教学策略初探
浅谈复习课的有效教学策略
舞蹈教学策略之我见
高中英语读后续写的教学策略
浅谈新课程下的课外阅读
新课程改革下高中政治课堂教学的几点思考
我区初中化学新课程实施中典型问题的思考