高中一年级信息技术“算法及其描述”教学设计_第1页
高中一年级信息技术“算法及其描述”教学设计_第2页
高中一年级信息技术“算法及其描述”教学设计_第3页
高中一年级信息技术“算法及其描述”教学设计_第4页
高中一年级信息技术“算法及其描述”教学设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高中一年级信息技术“算法及其描述”教学设计一、教学设计的整体定位本节课选自粤教版高中信息技术必修一《数据与计算》第三章第二节,是“算法基础”单元的起始课,承担着从“用计算机解决问题”走向“像计算机一样思考”的转段任务。学生在此前的学习中已经初步接触了信息系统的基本概念和数据的基本组织方式,但对“算法”这一概念的认识大多停留在影视作品的渲染和手机应用推荐机制的日常体验层面,既有直觉性的模糊理解,也存在“算法就是代码”“算法高深莫测”等认知偏差。本节课的核心使命,是帮助学生完成三次认识的跨越:从生活经验中的“步骤”走向学科意义上的“算法”,从自然语言的随意表达走向流程图、伪代码等规范化描述,从“知道有这么个东西”走向“我能动手描述一个算法并判断它的优劣”。依据课程标准对“算法与程序实现”模块的要求,结合高一学生抽象逻辑思维快速发展但尚未完全成熟的心理特点,本课将教学目标锚定在三个层面。知识层面,学生能够准确说出算法的概念、特征,辨析算法与程序的联系与区别;能力层面,学生能够运用自然语言、流程图、伪代码三种方式描述同一个简单算法,并能依据问题的规模初步比较不同算法的效率;素养层面,学生在亲历“问题—分析—描述—评价”的完整过程中,初步形成计算思维中最为关键的抽象与建模意识,体会精确表达对于人机协作的价值。二、教材分析与学情研判教材在本节的编排体现了鲜明的螺旋上升思路:先以“设计求一元二次方程实数根的算法”为引例建立算法的直观形象,再归纳算法的概念与五大特征,随后系统地介绍三种描述方法,最后通过“找出所有水仙花数”的对比案例渗透算法效率的初步观念。这一编排的优势是逻辑严密、案例经典,但如果照本宣科,学生容易陷入“听懂了概念、明白了例子、自己却不会动手”的困境。高一学生对新事物充满好奇,喜欢真实的问题情境和即时的成就感,但他们对纯符号化的表达容易产生畏难情绪,对“为什么不用自然语言说清楚就行了”这类问题抱有真实的困惑。基于这样的学情,我对教材进行了两点重组。其一,将引例从一元二次方程前置换为一个学生天天面对却未必想明白的情境——早餐店排队取餐的最短等候时间排序,让算法从生活的土壤中长出来;一元二次方程作为规范化描述的演练素材保留,作为第二个任务出现。其二,将三种描述方法的教学顺序调整为“自然语言—流程图—伪代码”逐个递进、逐层对比,每介绍一种新方法都采用“旧方法解决不了什么—新方法解决了什么”的对比策略,让学生自己产生“换工具”的内在需求,而不是被老师推着走。三、教学目标设定通过对课程标准、教材内容和学生状况的综合分析,本课的教学目标确定如下。信息意识方面:学生能够从排队、导航、搜索等日常现象中识别出算法的作用轨迹,体会“凡事皆有步骤,优化步骤即是优化生活”的基本观念。计算思维方面:学生能够将一个实际问题进行分解与抽象,提取其中的输入、处理过程与输出;能够用流程图规范地表达包含顺序、选择、循环三种基本结构的算法逻辑;能够用伪代码简洁地书写算法骨架,并理解伪代码介于自然语言与程序代码之间的桥梁地位。数字化学习与创新方面:学生能够借助在线流程图绘制工具完成算法的可视化表达,初步体验数字化工具对思维外化的支持作用。信息社会责任方面:在讨论算法效率的过程中,学生能够初步意识到算法设计中蕴含着资源节约与公平性的社会议题,为后续学习算法的应用伦理埋下伏笔。四、教学重点、难点与突破策略教学重点有两个:一是算法的概念与特征,二是用流程图描述算法。突破策略是“多例归纳、对比辨析”。概念教学不采用定义先行的灌输方式,而是让学生在三个具体任务的反复操练中自己提炼算法的共同属性,教师再予以精练命名。流程图的教学则采用“符号认读—模仿绘制—独立创作”的三级台阶,每一级都有即时的同伴互评作为支撑。教学难点也有两个:一是循环结构的逻辑表达,特别是循环条件的设定与变量更新的时序;二是算法效率的初步感受,即“为什么要比较算法的好坏”。对第一个难点,我采用“人体演示法”——请几名学生分别扮演计数器、判断者、输出者,在讲台上用移动和举牌的方式模拟循环执行的全过程,把抽象的变量变化变成可见的身体动作。对第二个难点,我采用“数据说话”的策略:同一问题给出两种算法,让学生在估算执行次数的数字对比中自己得出“写法不同、代价悬殊”的结论。五、课前准备教师准备:制作包含情境动画的多媒体课件;准备流程图符号卡片一组、循环结构演示胸牌若干;在机房部署好绘图工具并预建空白画布;下发导学任务单,任务单上预印三个梯度任务和一张流程图常用符号速查表。学生准备:复习数学中的函数求值、条件判断等基础知识;课前完成一项微调查——记录自己一天中遇到的三个“按步骤完成的事情”,并尝试写出完成步骤,作为课堂引入的原始素材。六、教学过程(一)情境导入:早餐店里的算法上课伊始,课件播放一段一分钟的动画:学校门口的早餐店,八位同学同时到店,点了制作时间各不相同的早餐,老板需要决定先做什么后做什么,才能让所有人的等待总时间最短。画面定格在老板发愁的表情上,教师抛出第一个问题:如果你是老板,你会按什么顺序做?学生凭直觉会给出“先做快的”“谁先到先做谁的”等不同方案。教师不急于评判,而是追问:你刚才说的“先做快的”,具体怎么操作?要先做什么动作,再做什么动作?在学生的七嘴八舌中,教师顺势把一位学生的回答“翻译”成明确的步骤写在黑板上:第一步,把所有订单按制作时间从短到长排列;第二步,按排列后的顺序依次制作。此时教师揭示课题:刚才大家做的事情,用一句话概括,就是为解决一个问题设计出一套明确的操作步骤——这就是算法。板书课题:算法及其描述。这个导入的设计意图有三点。其一,情境真实可感,等待时间是每个学生每天的真实体验,问题自带探究张力。其二,算法概念不是从天上掉下来的定义,而是从学生的口头方案中自然生长出来的,概念的“第一现场”就在课堂里。其三,学生先前给出的模糊方案与黑板上清晰步骤之间的落差,恰好埋下了后面“为什么要规范化描述”的教学伏笔。(二)概念建构:从三个任务中提炼算法的本质教师顺势将课堂推进到概念建构环节,依次投放三个小而精的任务。任务一:有甲、乙两个瓶子,分别装着酱油和醋,要求把两个瓶子的内容物互换。学生很快想到需要第三个空瓶作为“中转”,教师请一名学生口述操作步骤,全班共同把步骤编号为四步并确认其可行性。教师点明:这里出现了一个非常重要的思想——借助一个临时存放的空间完成两个值的交换,这个思想在以后的程序设计中会反复出现,它的名字叫“中间变量”。任务二:输入一个数,判断它是偶数还是奇数,并输出判断结果。学生口述步骤后,教师追问:这个算法对任何整数都适用吗?如果输入的是小数呢?引导学生意识到算法必须有明确的输入规定,引出“有输入”与“可行性”的讨论。任务三:计算从1加到100的结果。学生在小学就听过高斯的故事,多数能说出首尾配对的方法,也能说出逐个累加的方法。教师把两种方法并列写道黑板上,暂不评价优劣,只说“这两种方法都是我们待会儿要研究的算法,它们谁更好,学完这节课你会有判断的依据”,为后面的效率比较埋下悬念。三个任务完成后,教师组织小组讨论:刚才我们设计的这三套操作步骤,有哪些共同的特点?讨论时间三分钟,要求每组至少归纳出两条并准备举例说明。小组汇报时,教师将学生的回答即时捕捉、归类、提升。学生说“步骤是有限的,不能没完没了”,教师板书“有穷性”;学生说“每一步都得说得清清楚楚,不能含糊”,教师板书“确定性”;学生说“每一步都真的能做到,不是空想的”,教师板书“可行性”;学生说“有的步骤需要先有东西进来,比如那个数”,教师板书“有输入”;学生说“最后得有个结果出来”,教师板书“有输出”。至此,算法的五大特征全部由学生自己产出,教师只做命名与秩序化的工作。紧接着,教师给出算法的规范表述:算法是在有限步骤内求解某一问题所使用的一组定义明确的规则和方法。随后组织一次精准的概念辨析,用四道判断题即时检测:菜谱是算法吗?乐谱是算法吗?“尽可能多地做一些好事”是算法吗?天气预报是算法吗?其中第三题是关键——“尽可能多”不符合确定性,学生往往在此处产生分歧,教师借此机会强调:算法的每一步都必须是没有歧义的、可以机械执行的,这正是它区别于生活语言的根本所在。最后厘清算法与程序的关系:算法是解决问题的思路设计,程序是用计算机语言把算法翻译出来交给机器执行的结果,同一个算法可以用不同的语言写出不同的程序,就像同一篇文章可以有不同的译本。(三)方法递进:算法的三种描述方式教师抛出驱动性问题:刚才的算法我们都用嘴说、用笔写,如果要把算法交给一个计算机专业的合作者,或者交给机器去执行,仅仅用日常语言描述,够吗?学生自然会想到歧义、啰嗦、外国同行看不懂等问题,由此产生对更规范表达方式的真实需求,三种描述方式的学习水到渠成。第一种描述方式:自然语言。教师指出,我们刚才使用的就是自然语言描述法,它的优点是通俗易懂、不需要专门学习,缺点是容易产生歧义、对复杂逻辑表达冗长。为了让学生真切体会歧义的危害,教师展示一句话:“看到前面那个人,带着他的狗,我们走过去了。”请学生说说到底是谁看到了谁、谁带着狗,学生在笑声中理解了自然语言的多义性对算法表达是致命的。第二种描述方式:流程图。这是本课的重点攻坚环节,按照“认符号—画样例—独立画”三步展开。认符号环节,教师举起流程图符号卡片逐一介绍:圆角矩形是起止框,表示算法的开始与结束;平行四边形是输入输出框;矩形是处理框,是最常用的“干活”的框;菱形是判断框,是算法中的岔路口,必须有两个出口分别对应条件成立与不成立;箭头是流程线,表示执行的先后顺序。为帮助学生记忆,教师给出形象的比喻:圆角矩形是车站,菱形是岔路口,矩形是车间,平行四边形是传递物资的传送带。画样例环节,教师与学生共同把任务二“判断奇偶数”画成流程图。教师在黑板上边画边口述绘图要领:先定起点和终点,再从输入开始顺藤摸瓜,遇到判断画菱形,判断的两个分支都要标注“是”与“否”。画完后,教师故意设置一处错误——把判断框画成了矩形——请学生挑错,学生在纠错中加深了对符号语义的理解。独立画环节,学生打开绘图工具,独立完成“输入一元二次方程的三个系数,判断方程有无实数根并输出结论”的流程图。这个任务中包含一个判断结构,还隐含了求判别式这一处理步骤,难度恰到好处。教师巡视指导,重点关注三类典型问题:判断框只画一个出口、缺少结束框、流程线交叉混乱。完成后,相邻两名同学互相执对方之图“走一遍”,模拟计算机沿着流程线执行的过程,能顺利走通且结果正确的为合格。这个“互走流程图”的环节把静态的图变成了动态的执行,学生对流程图“可执行性”的理解由此落地。在流程图过关的基础上,教师引入算法的三种基本结构,并指出一个深刻的结论:任何复杂的算法,无论它多么庞大,都可以只用顺序结构、选择结构、循环结构这三种基本结构的组合来表达。教师用搭积木作比:三种结构是三种基本积木,算法设计就是用它们搭建千变万化的建筑。循环结构是本课最难翻越的山头。教师以任务三“计算1加到100”为例,先让学生尝试用已知的顺序结构书写,学生写了三四步就发现“要写成一百步,写到猴年马月”,亲身体会到顺序结构解决重复性任务的笨拙,循环结构的登场便有了不可阻挡的理由。教师随即讲解循环结构的三个要素:循环体是重复做的事、循环条件决定做到什么时候为止、循环变量的更新保证循环朝着结束的方向推进。接着开展“人体循环”演示:请三名学生上台,一人手持“累加器”牌,一人手持“计数器”牌,教师担任“判断者”。计数器学生举牌1,判断者宣布“1不大于100,循环继续”,累加器学生把数字加到牌面上;计数器加一变2,再次判断……演示到计数器变为5时暂停,教师问全班:照这样下去,什么时候才能停?如果计数器同学忘了加1,会发生什么?学生立刻意识到“死循环”的存在——条件永远成立,算法永不停机,违背有穷性。这个身体参与的环节让条件设定与变量更新的时序关系变得可触可感,死循环的危害也成了有画面感的记忆。第三种描述方式:伪代码。教师先展示“判断奇偶数”的伪代码版本:输入一个数x;如果x除以2的余数为0,那么输出“偶数”,否则输出“奇数”。让学生对比之前画的流程图,说出自己的观感。学生会感到伪代码“像英文和中文的混合体”“比流程图省地方”“已经接近程序了”。教师归纳:伪代码介于自然语言和程序设计语言之间,不受具体语言语法细节的束缚,又保留了程序的结构感,是程序员之间交流算法的通用“世界语”,也是从设计走向编码的最后一级台阶。随后组织学生完成一次“三语互译”练习:给出“输入一个成绩,60分及以上输出‘合格’,否则输出‘不合格’”的流程图,要求学生分别还原为自然语言描述和伪代码描述。通过这一练习,学生体会到三种方式各有所长——思维发散时用自然语言,结构推敲时用流程图,准备编码时用伪代码,描述工具应当随工作阶段而切换。(四)综合实践:找出水仙花数教师布置本课的压轴任务:水仙花数是指一个三位数,其各位数字的立方和恰好等于它本身,比如153等于1的立方加5的立方加3的立方。请各小组合作完成两件事:第一,用流程图描述“找出100到999之间所有水仙花数”的算法;第二,估算你的算法大概要“动手”多少次,并思考有没有更省力的做法。各组动笔画图时,教师穿行巡视,适时抛出提示性问题:怎么把一个三位数的百位、十位、个位分别取出来?学生回忆数学中除法与取余的运算,设计出“用整除100取百位、对100取余再整除10取十位、对10取余取个位”的处理方案,这正是拆解数字这一经典算法思想的初体验。展示交流时,教师选取两种典型方案对比投影。方案一:从100到999逐个检验,共检验900个数,每个数要做取位、立方、求和、比较等约7步,总计约6300次操作。方案二:有的组可能想到用三个数字直接组合出三位数来验证,循环范围变为9乘10乘10共900种组合,每种组合计算立方和并比较,操作量同样约6300次,但有的小组可能进一步提出“立方和只算一次、直接拼回比较”等优化思路。教师不必强求学生当下找到最优方案,重点是引导学生形成估算执行次数的意识和“不同写法、代价不同”的直觉。教师揭示:比较算法好坏最常用的尺子之一,就是看它随问题规模增长时执行次数增长得快还是慢,这把尺子在将来的学习中会有一个正式的名字——时间复杂度。今天在两种写法之间做的比较,正是这门学问的启蒙。(五)总结提升与作业延伸课堂尾声,教师组织学生用“三问三答”的方式自主总结:什么是算法?算法怎样描述?好算法看什么?学生口头作答后,教师用一张知识结构图收拢全课:算法的概念与特征居于中心,向外辐射出三种描述方法,三种基本结构作为描述的内容骨架,效率比较作为设计的价值追求。分层作业设计如下。基础层:画出“输入三条线段长度,判断能否构成三角形并输出结论”的流程图,并用伪代码改写。提高层:为你的共享单车从家到学校的最佳路线选择设计一个自然语言描述的算法,并指出其中的输入、处理与输出。挑战层:查阅资料了解“辗转相除法”求最大公约数,尝试画出它的流程图,并思考它比“从大到小逐个试除”的方法高明在哪里——这道题既呼应了课首悬置的效率问题,也为后续模块的程序实现预留了接口。七、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论