【范文】《算法与程序设计》案例分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《算法与程序设计》案例分析
www.5y
摘要:高中信息技术课程改革到今年已走过了四年时间,在选修模块教学中有《算法与程序设计》和《多媒体技术应用》可供选择。选修《算法与程序设计》模块教学的学校不多,我们学校就是其中之一。原因是算法的学习比较抽象、枯燥,很难调动学生学习兴趣。本文就结合自己四年的教学实践经验同大家共同探究一下选修模块《算法与程序设计》如何进行有效的教学。
关键词:算法程序设计教学方法教学策略信息技术高中
一、算法与程序设计概述
信息技术课中,《算法与程序设计》师信息技术课程的一门选修课,是选修的一个分支。在我们学校,采用了广东教育出版社的教材,学习VISUALBASIc语言。VISUALBASIc 程序设计语言是wINDowS环境下快速开发应用程序的可视化工具。它简单易学,功能强大,用它开发图形用户接口(GUI,GraphicalUserInterfaces)的应用程序方便、快捷,可以自动生成32位的脱离开发环境而直接执行的应用程序,且运行速度更快、更安全,适合在多任务环境下运行。VISUALBASIc语言功能强大,具有良好的简单性、面向对象性,可视化的集成开发环境,面向对象的程序设计思想,交
互式的开发环境的特点。
计算机的发展速度很快,学生上机的条件和平台已经发生了巨大的变化,上机方便,程序编译器的功能强,使得我们可以很好的去学习VISUALBASIc。在平时注意对现有的程序代码进行分析,多读程序,俗话说:读遍唐诗三百首,不会做诗也能吟。学习程序语言也是这样,多读程序自然你就会写一点程序了。教师在教学中就要从以下几个方面入手。
二、努力培养学生学习兴趣
爱因思坦说“兴趣是最好的老师”。兴趣相当程度上决定了教学效果的好坏。如何培养学生学习程序设计的兴趣,我认为可以从以下几个方面入手。
1.让学生认识到学习程序设计在提高自身素质的突出作用。提高自身素质,可以培养学生的思维品质,培养学生发现问题、思考问题和解决问题的能力;学习程序对其他学科的学习有积极的影响。
2.程序设计教学中要从学生的兴趣入手,利用学生对事物的好奇心,选择学生身边的,学生感兴趣的、有实际意义的程序,激发学生的学习兴趣。比如:第一堂课讲VB界面设计,可设计一个QQ登录界面。
3.一定要分层次教学。现在各个学校的平行班设置恐怕都有文科班和理科班、实验班,教学内容在难度上要有所变化。一个班级布置作业时也要根据学生的能力分层次。
4.深入浅出,消除学生们对程序设计的畏难心理。在教学时,低起点,从一个个简单实例出发,让学生们从自身的实践中感受到这个的确很简单,从而迎合了学生渴望成功的心理特点。前两节课千万不能罗列过多的概念,让学生不知东西,打击学生的学习兴趣。
三、适当调整教材结构,立足具体实例,讲解基本概念
VB程序设计概念比较多,如何让学生较容易按受、理解是我在最初的教学中较为头痛的问题。刚接触程序设计的学生,对程序设计充满了好奇,如果把一开头还用不上的许多的控件、属性放在前面,一下子引入大量抽象的名词、概念,就会让不少学生望而生畏。因此要想让学生领会这些抽象的概念,教学中我选择的方法是先少讲控件。结合数学课本已学的知识,先复习、巩固、提高基本知识。从数据类型,基本运算,讲到三种基本控制结构后,然后再讲基本的控件。这时,控件用于程序设计的例子就可以讲明白了。但是,仍然不要把控件的每一个属性都细讲。突出按问题需要设计界面来选用控件,以一个个鲜活的具体实例为切入点,在每个例子中适时、适量地渗透一些相关的概念和知识,使学生在完成任务的过程中,逐渐地、很自然地去体会控件、对象、事件的概念。教学中要安排足够的课时把这些控件的用法渗透到一个个程序实例中,由浅入深地逐渐介绍,让学生在编写程序的过程中总结控件的用法。
四、加强程序设计教学中的引导变通
1.引导学生对语句变通,加强语句和三种基本结构语句的理解和灵活应用
在程序设计的初始阶段,要注意学生对某些语句的功能还不甚了解的实际,不失时机在从一些典型的例题入手,及时纠正编写程序时所出现的语法错误和逻辑错误,引导对已编程序的某些语句或语句中的某些变量作简单的变通。学完选择结构、循环基本结构后,引导学生对程序设计方法的变通,以加强横向联系,启发学生自己进行总结,达到理想的教学效果。
例如对典型的求和问题:S=1+2+3+……+100
S=0
Fori=1to100
S=s+i
Nexti
可以做:
(1)如求S=100+99+……+1应作哪些变更?
(2)如求S=2+4+6+……+100,需要修改哪些地方?
(3)如求S=1*2*3*…*10,需要修改哪些地方?
(4)如求S=1+1/2+1/3……+1/n应作哪些变更?
(5)如求S=12+22+32+……+1002,应修改哪个语句?
通过以上一系列角度不同的变通,学生对每一个语句的
认识加深了,对语句中确定每一个变量更加谨慎了。
2.引导学生对结构变通,加强语句和三种基本结构语句的理解和灵活应用
又例如:求出下式中n的最大值:s=1+1/2+1/3+……+1/n<5
先向学生提问:用什么循环语句来设计程序?
通过讨论,学生自己得出结论:用for语句无法设计;只能使用do…loopuntil与dowhile……loop两种循环设计;同时再次对do……loopuntil和dowhile……loop两种循环中的布尔表达式之间的关系有进一步的认识,具体程序如下:最后通过教师设问:什么情况下用for语句?什么情况下用Do循环?学生可以自己得出结论:对于能确定循环次数,使用for语句最合适了;对于循环次数不能预先确定,宜使用Do语句,用Do语句时注意死循环问题。通过如此的引导变通,使学生对循环结构的三条语句使用得心应手,在编程过程中能够灵活应用,同时也培养了学生发散性思维。
五、切实落实以学生为中心,学生为主体,教师为主导的新课改思想
信息课教师绝大部分为青年教师,无论教学理论和教学经验上都相当缺乏。特别是在程序设计内容时,自觉不自觉地还是走向了教师为主的教学模式。教师与学生缺乏互动,课堂气氛沉闷。在课堂教学中,要鼓励学生质疑是激发学生