巧妙抽象 精准建模
——《用算法解决问题的过程》教学设计
【课标内容要求】
本课所依据的课程标准:1.6从生活实例出发,概述算法的概念与特征,运用恰当的描述方法和控制结构表示简单的算法。
【教学内容分析】
本课是第二章的第三节,第二章讲的是算法与问题解决,在前两节课中已经掌握了算法的基本概念以及算法的控制结构。本节我们就要用前面已经学习的知识进行简单的抽象和建模;也就是用提炼关键点的方式把一个问题抽象成一些数据表示,通过分析这些无规律的数据,用数学建模的方式把这些串联起来,进而得到问题的求解。学生通过学习这节课的知识,掌握起用算法解决问题的过程,为后续编写代码做铺垫。因此本课内容起着承前启后的关键作用。
【教学目标】
初步掌握从实际项目中界定问题、对问题进行抽象与建模的方法。
能基于问题求解模型,分析计算过程中的数据、运算特点,针对求解目标开展算法设计。
能根据算法设计的过程,选择合适的方式正确描述算法。
重点:
用算法解决问题的过程
难点:
抽象与建模。
因为抽象与建模对目前的高中生而言尚有难度。抽象与建模需要有很强的分析、归纳以及提炼关键要素的能力,而这些能力恰恰是目前高中生所欠缺的。原因是目前学生接受的基本都是已经抽象和建模后的问题,这种问题往往对思维的层次和强度要求不高。所以在抽象和建模上要给学生以螺旋式的思维提升锻炼,促使学生计算思维的发展。
【核心素养指向】
1.针对给定的任务进行需求分析:界定问题、抽象特征、建立结构模型、通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案。
2.能提取问题的基本特征,进行抽象处理,并用合理的方式进行精准建模。
【学情分析】
学生已经学完了第一章数据与信息、第二章算法与问题解决的前面两节。对信息技术核心素养已经有了初步的原始积累,本节课的内容是对前面所学知识的提炼和升华。在解决问题时需要巧妙抽象,把一些繁杂的问题细化为简单的几个部分;精准建模,把一些看似没有联系的单一数据进行再分析、再加工,最后完成对问题的求解。
【设计构想】
整体设想
本节课主要目标是让学生学会用算法解决问题的三个过程,即抽象与建模、设计算法、描述算法。较多学生对抽象和建模这两个方面感到困难,为了使主要目标能够顺利实现,本课项目任务综合考虑了趣味性和易理解性以及抽象与建模的难度,最终选择了课本中的“动动有奖”。
为了确保学生思维能够螺旋式的提升,通过总结上一课超市收银系统项目实践的基础上提出“自顶向下,从粗到细”结构化体验构思。引导学生全面而深刻地掌握算法解决问题的过程与方法——即“抽象与建模、设计算法、描述算法”,后续将是用程序设计语言描述算法。
为了进一步训练学生从项目到算法的思维能力,再完成相应目标后还可以对项目进行补充,以巩固从项目到算法的思维能力。可让学生通过一定形式开展成果交流的方式结合参考意见,引导学生思维朝着课堂有利的方向聚焦。
教法学法
本课主要采用教师引导和学生实践体验想结合的案例教师方式。通过梯度项目完成的设置来实现教学。
情境与任务
“动动有奖”项目的设计比较贴近学生的实际生活,可以引导学生从不同角度观察生活,分析生活中所涉及的算法,这有利于学生信息意识的养成。
学生活动
首先引导学生对算法解决问题的过程的思考和讨论,引导学生对该过程的一般认识。其次指出现实中对问题的求解一般会涉及到以下三个步骤:抽象与建模、设计算法、描述算法。随后要求学生经历从实际项目问题中抽象出明确的求解目标,并把求解目标形式化表示为可计算的数学模型的全过程。培养学生从具体项目任务中提炼关键要素以及具体描述问题的抽象与建模能力,最终达到提升学生计算思维能力的目的。
核心素养的落实
通过对于“动动有奖”项目的任务分析,明确在抽象与建模阶段需要有两个问题的分析落实。
第一提炼核心要素并加以确定和假设:
用变量X来表示每天走路的步数,用F表示是否成功领取每天的奖金。
第二用数学符号描述解决问题的计算模型:
以上两点的解决是后续设计算法及描述算法的铺垫,培养了学生从一个无从下手的项目中,通过分析,找出已知条件所所求结果之间的联系,再把这个联系要素加以确定或者假设,从而给出可行的计算模型,最后给这个模型加以形象化的设计给出算法执行的明确步骤,最后用流程图表示出该过程。培养学生用形式化的方式表述问题,提升学生的计算思维。
评价设计
过程性评价:教师在教学过程中对学生提出的抽象过程、建模要求、解决问题的方法和成果加以帮助和评价。在交流、实践阶段要求学生对思考过程有一个简单的分析、记录。对关键步骤或者结果加以保存到最终的学习报告中。
评分项 自我评价 同学互评
核心要素提炼——抽象 3 2 1 3 2 1
尝试用数学符号——建模 3 2 1 3 2 1
利用计算模型——设计算法 3 2 1 3 2 1
利用流程图——算法描述 3 2 1 3 2 1
评价参考标准: 3=表述清楚准确,抓住解决问题的要素并提出新的合理观念想法。 2=能大致描述和基本回答问题,在相互讨论、启发的情况能完成各项目的学习。 1=表述模糊不清,无法自主独立完成相应的各项任务。
教学环境及资源准备
标准多媒体教室
教学内容设计知识
用算法解决问题的过程
教学流程
【教学活动设计】
一、讨论交流,引出项目学习
教师引导学生讨论,用算法解决问题的一些例子。比如小到喝茶、烧菜,近如背板报的构图、学生座位的编排,考试成绩的统计等等。那么这些活动人们通常是怎么做的?如何利用算法来实现解决这些问题。在这基础上总结,引导出结解决问题用不同的方式有着不同的结果,体现出算法的优劣。
二、复习回顾,提点要素
通过回顾前面已经学过的超市收银系统,让学生直观感受了从问题到算法的一半思维过程及方法。初步体验了现实情境中界定问题、总结规律、抽象算法的思维过程。学生的学习困惑真正原因在于求解模型的创新能力上,当一个问题的求解模型模糊不清时,算法设计往往就无从下手。因此,在教学过程中通过对比法让学生深刻体会求解模型的建立的必要性。
三、核心要素提炼——抽象
“动动有奖”问题的抽象,从已知的两个条件,每天行走的步数和每天是否成功领取前一天奖金的标记出发,我们不难发现。对这些不确定的数据先加以肯定,通过输入将数据传递给算法。我们不妨用变量X来表示每天走路的步数,用F来表示是否成功领取每天的奖金,同时规定1表示成功领取,0表示没有领取。为了使模型具备一般性,我们可以用N来表示走路天数这个可变数据。
四、尝试用数学符号——建模
明确问题的已知条件后,就需要构建解决问题的目标。不难发现就是需要统计n天后该用户拥有多少“奖金”总数。
根据上述分析,可以得出一个计算的模型如下:
基本模型建立之后,我们可以开始尝试着算法的设计,恰恰建模这一步就是整个问题求解过程中最难的,也是最需要学生去提炼和总结的。
五、利用计算模型——设计算法
有了计算模型后,就可以根据算法的基本特征、要素进行算法的设计。对数据的处理一般都会经历输入数据、处理数据、输出处理结果的三个步骤。根据前面的分析讨论每天处理的规律都是一样的,没执行一次就是一天且这个过程是循环的。按照“自顶向下,逐步细化”的结构话程序设计思想对计算模型进行细化。
六、利用流程图——算法描述
根据设计好的算法,逐步画出流程图。
七、总结评价,回顾梳理
教师引导回顾用算法解决问题和不用算法解决问题有什么异同?进而引导学生思考并讨论算法的使用算法解决问题的优点?同时提出算法有没有优劣之分呢?教师在讨论交流的基础上点评,引导学生回顾梳理本节课的内容。
八、知识拓展
对于学有余力的同学提出拓展,可否对上述算法进行优化?让成绩优秀的同学可以在课堂知识的基础上进行再学习、再创新——真正体现新课堂的核心素养以及新课程体现的新型人才培养模式。可对问题提示如下:
首先分析何时需要进行“按照奖励规则第1条计算奖金t”(当成功领奖后),进一步分析何时需要奖金翻倍、何时不需要(是否连续4天成功领奖)
【案例启示】
本案例首先通过学生的讨论及前序知识的回顾,教师的引导,让学生体会到了利用算法解决问题的优势。运用多种方式类比、多种形式引导等避免学生误解。用项目学习的方式选择简单的任务作为切入点,利用好算法解决问题的一般步骤:抽象与建模、设计算法、描述算法。把一个复杂的问题进行细化,抽象成可以做到的、可以实现的方式,然后利用已经条件和结果之间的数据关系建立起一个数据模型。其次,本案例从抽象到建模一直在围绕学生的计算思维提升进行展开,引导学生的思维经历抽象建模的全过程,既锻炼了学生的能力,又体现了核心素养。最后,本案例还对学有余力的同学提出了知识拓展,真正体现新课程背景下学生的全免发展,学生的核心素养培养。