本案例对应的课标中选修部分的算法与程序设计模块中的计算机解决问题的基本过程中(1)条:
结合实例,经历分析问题、确立算法、编程求解等用计算机解决问题的基本过程,认识算法和程序设计在其中的地位和作用。
【教学设计思想】
中学信息技术教育从“促进学生发展,培养学生综合学习能力”出发,已从传统的记忆信息转向应用信息和创新信息教育,重在培养学生自我探索信息的意识,主动高效获取信息、分析评价信息、处理运用信息、表达呈现信息的能力;并在知识与技能的学习过程中,使学生在情感、态度、价值观等方面得到发展。
【教学内容分析】
PASCAL语言的设计者沃思教授曾经说过:“程序设计=算法+数据结构”的著名论断,说明了算法在设计程序中的重要性,解决任何问题都必须设计算法。显然,从计算机的角度来看,程序设计的核心之一是算法,那么,算法在是信息技术教育的地位又如何呢?通过对算法的学习,可以锻炼学生的逻辑思维能力、自学能力,通过对算法是解决问题的方法和步骤的理解,使学生对解决生活中的现实问题起到有力的引导作用。
对于初学者而言,本节内容属于理论知识,比较抽象性。而在初学者原有的认知结构中没有关于算法的认知。如果直接讲算法,学生很难实现新旧知识的联系,对于算法的含义就难以做到真正理解。为了达到教学得目的,从学生的兴趣出发,引导学生理解算法得概念,从而引出一个生活算法的概念。
在日常的学习与生活中,我们会每时每刻遇到各种各样的问题,问题都有许多不同的方法、不同的步骤来解决,通过解答生活中一系列比较熟悉的问题,我们会发现这些生活中的问题的解决方法和步骤是计算机程序设计中的“算法”思想的具体体现。现实生活学习活动中问题多种多样,生活算法也是不唯一的,会有多种多样的解决方法、步骤,有着不同的过程,因此,生活算法的解决方法完全可以对应成程序设计算法中的顺序、分支和循环,甚至还会出现更复杂的一些形式,按照从感性到理性、从已知到未知的认知规律,我从学生的感性认知入手,从学生的兴趣出发,我调整了课程的顺序,先教Visual Basic的基本操作,在学生能掌握Visual Basic的基本操作,并能用Visual Basic解决简单问题的基础上,通过对具体现实生活问题的讨论,使学生明白解决任何问题都需要有清晰的解决思路和解题步骤,通过人-机解决问题方法的比较,得出计算机解决问题和人解决问题一样都需要有明确的解题步骤,而计算机的解题步骤就称为算法,这样就很自然地引入了算法的概念,易于学生接受和理解。
重点:算法概念的理解
难点:算法概念的理解
【教学目标】
1.知识技能:
(1)理解算法的概念;
(2)能初步利用算法解决简单的问题。
2.情感领域:
培养学生的理论联系实际能力和动手操作能力。
3.能力发展:
培养学生自我探索信息,高效获取信息、分析评价信息、处理运用信息、表达呈现信息的能力,通过作品的制作、反思和评价,进一步提高其信息素养。
【教学策略与模式】
讨论、讲解、操作相结合。
【教具】
多媒体电脑配合课件。
【教学过程】
教师:我们来共同寻找下面一些生活中比较现实的问题的解决方法。
【问题一】:描述一下学校中班级中集体打扫卫生的过程。
学生:学生讨论回答。
〖展示步骤〗
擦玻璃→扫地→拖地→清运垃圾
【问题二】:根据了解社会上的“大头婴”问题,假如你是检验员,试描述你检验一袋奶粉质量是否合格的大体过程。
学生:学生讨论回答。
〖展示步骤〗
【问题三】:有三个牧师和三个野人过河,只有一条能装下两个人的船,在河的任何一方或者船上,如果野人的人数大于牧师的人数,那么牧师就会有被吃掉的危险。你能不能找出一种安全的渡河方法呢?请写一写你的渡河方案。
学生:学生讨论回答。
〖展示步骤〗
①两个野人先过河,一个野人回来;
②再两个野人过河,一个野人回来;
③两个牧师过河,一个野人和一个牧师回来;
④两个牧师过河,一个野人回来;
⑤两个野人过河,一个野人回来;
⑥两个野人过河。
教师:通过上面的讨论,特别是【问题三】的动画展示,我们可以知道,计算机解决问题和人解决问题一样需要有清晰的解题步骤。而对于计算机而言,这种解题步骤就称为算法。
【课件展示】算法的概念:我们解决问题都需要遵循一定的方法和思路并正确的列出各个求解步骤。计算机解决问题的求解步骤叫做算法。
教师:根据我们以上所讨论的问题的思路,看一下以下的问题如何解决,并且试着用我们前面学的Visual Basic语言实现出来。
【问题四】有两个杯子A和B,分别放有酒精和纯净水,试着将两个杯子中的液体进行互换。
【问题五】试着让计算机求解一元二次方程ax2+bx+c=0。
【思考题】解决完上面两个问题以后,我们再来看一下【问题三】,如果题目中的牧师和野人的数目不是3,而是4、5、6、7……的话,我们来描述他们的过河步骤方便吗?还有没有其他的描述方法?
【教学总结】
本节课通过一些生活中的具体问题解决方法和步骤,使学生比较轻松的接受了生活算法的概念,进一步理解了计算机算法的概念,通过后面的两个练习题目和思考题,巩固了本节课的内容,并且引出学生对下一节课的内容的思考,比较成功的完成了本节课的教学任务。