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

付费下载

下载本文档

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

文档简介

高中一年级信息技术“算法的程序实现”教学设计本教学设计面向高中一年级学生,对应浙教版(2019)高中信息技术必修一《数据与计算》第三章“算法的程序实现”的内容。本章是学生从“会用计算机”走向“会指挥计算机”的关键一跃,前三章学了数据与信息、算法与算法描述,本章要完成的是把纸面上的算法变成机器上能跑、能改、能验证的程序。课程标准的学业要求明确指出,学生应能依据问题解决的需要,设计算法并采用一种程序设计语言实现方案。本设计以Python语言为载体,围绕“知识梳理—问题驱动—实践内化—迁移拓展”四条主线展开,共安排六个课时,力求让每一个知识点长在真实的问题情境里。一、教材与学情分析教材结构分析。本章包含三个核心板块:用计算机编程解决问题的一般过程、Python语言程序设计基础、简单算法的程序实现。第一板块是方法论层面的总纲,把“抽象与建模—设计算法—编写程序—调试运行”这条链路立起来;第二板块是工具层面的支撑,涵盖数据类型、变量、表达式、基本语句结构;第三板块是综合应用,用枚举、解析等经典算法思想把前两板块的内容串成完整的问题解决过程。三个板块层层递进,前面是后面的地基,后面是前面的归宿。学情研判。高一学生经过初中信息科技课程和商业软件的大量熏陶,对“程序”这个词不陌生,但普遍停留在“程序很神奇、代码很深奥”的印象层面。他们的优势在于逻辑思维正处于形式运算阶段,能够接受变量、分支、循环这类抽象概念;困难在于从自然语言的“差不多”思维切换到程序语言的“零歧义”思维时会产生强烈的不适。教学中要预判三类典型障碍:一是把数学等号与程序赋值号混为一谈,二是循环边界条件凭感觉写导致差一错误,三是遇到困难先怀疑自己不是学编程的料。教学设计必须为这三道坎各搭一座桥。二、教学目标设定信息意识目标:学生能够识别生活中可以用算法与程序解决的问题情境,主动思考“这件事交给计算机做,需要什么数据、按什么步骤做”,形成用计算眼光打量世界的习惯。计算思维目标:学生能够对现实问题进行抽象和建模,用自然语言、流程图表达算法,再把算法翻译为Python程序;在调试中能定位错误、分析原因、修正方案,体验“分解—抽象—算法—自动化”的完整思维流程。数字化学习与创新目标:学生能熟练使用至少一种Python编程环境(IDLE或学校统一部署的平台),会查阅帮助文档,会在试错中迭代改进自己的程序,初步形成“小步快走、频繁验证”的工程习惯。信息社会责任目标:通过成绩统计、运动健康、能耗计算等贴近生活的项目主题,引导学生体会算法决策的边界,讨论程序出错可能带来的真实后果,建立严谨负责的开发态度。三、教学重难点教学重点:程序设计的三要素(数据、运算、控制)在Python中的对应实现;顺序、分支、循环三种基本控制结构的理解与运用;枚举算法与解析算法的程序实现。教学难点:循环结构中循环条件的精确刻画与边界控制;从具体问题到程序模型的抽象过程;调试能力的养成,即面对报错信息不慌、会读、会改。四、教学策略与资源准备教学策略采用“情境引问—同伴互讲—上机验证—错例会诊”的循环模式。每节课以一个两分钟内能讲清的小问题开场,让学生先用自然语言说出解决思路,再逐句翻译成代码,翻译不动的部分正是本课要学的新知识。机房环境要求每台计算机安装Python3.x,教师机配备广播教学软件;另备纸质学习单,记录算法草图与调试日志。对学有余力的学生准备拓展任务包,对基础薄弱的学生准备半成品代码补全任务,实现同课异酬。五、教学过程设计第一课时:从算法到程序——用计算机解决问题的一般过程情境导入(约8分钟)。投影校园运动会素材:一百米决赛有8名选手的成绩记录,裁判要在一分钟内公布前三名。教师提问:人工排一遍要多久?如果学校有一千人的体测数据呢?学生在七嘴八舌中形成共识——重复性的数据处理,人做慢且易错,机器做快且忠实。教师顺势引出本课总问题:让机器替我们干活,中间隔着哪几步?新知建构(约15分钟)。师生共同走一遍“抽象与建模—设计算法—编写程序—调试运行”四步流程,每一步都落在运动会排名这个例子里。抽象与建模环节,引导学生说出“我只需要姓名和成绩两个数据,照片、班级都先不管”,让他们亲手体验什么是“舍弃次要信息、保留本质特征”。设计算法环节,学生在学习单上画出流程图:读入成绩、两两比较、交换位置、输出前三名。编写程序环节,教师现场敲入简化的选择排序代码,边敲边口述“这一句对应流程图的哪个框框”,建立算法步骤与代码语句的一一对应关系。调试运行环节,故意把比较符写反,让学生看到程序输出了倒数前三名,引发哄笑之后点破:程序永远是对的,错的只能是我们的设计和书写,调试就是人与机器之间的对质过程。实践内化(约15分钟)。学生两人一组完成任务单:把流程图补全(机器读成绩的步骤留出空白),运行教师提供的半成品代码,观察输出,回答“如果改成从8个成绩里只找第一名,哪几行可以删”。教师巡视,重点观察学生是否在修改前先跑一遍原程序——先见到对的,再动手改,这是良好调试习惯的起点。小结提升(约7分钟)。请两名学生用一句话概括四步流程各干什么,教师板书形成思维导图。作业:观察生活中一件重复性强的事,写下如果交给程序做,输入是什么、输出是什么、中间大概几步。第二课时:Python语言程序设计基础(上)——数据与表达式情境导入(约5分钟)。回顾上节课作业,挑两个学生分享。教师小结:无论什么问题,程序面对的无非两样东西——数据和对数据的操作。今天我们就把“数据”这件工具摸透。新知建构一(约12分钟):数据类型与变量。在交互式解释器里现场演示:输入整数1024,问计算机它是什么;输入3.14;输入"高一(3)班";再演示1024+1得出1025,而"1024"+"1"得到10241。学生第一次直观看到integer与string的差别。教师用贴标签的比喻讲解变量:变量是一个贴了名字的盒子,盒子里的东西随时可换。紧接着突破本单元最重要的认知障碍——赋值语句。板书temperature=36.5,再写temperature=temperature+1,提问:数学里这个式子成立吗?学生说不成立。教师强调:这里的等号不是“相等”,而是“把右边算出来的值放进左边的盒子”,方向从右往左。让学生在纸上做一次盒子游戏:三个变量x、y、z初值分别为10、20、30,按语句序列z=x、x=y、y=z逐条执行,填写每次执行后三个盒子的内容。这个交换变量的经典练习,当作歪打正着的伏笔,后面讲排序还要回来用它。新知建构二(约12分钟):运算符与表达式。分三类讲:算术运算符中重点讲//(整除)、%(取余)、\\(乘方)三个学生陌生的符号,现场算出17//5是3、17%5是2,并立刻给出应用问题——“把8635秒换算成几时几分几秒”,让学生看到取余不是数学游戏,而是拆时间的利器。关系运算符讲六个符号的键盘长相,强调判断相等用==,单个等号是赋值,这是很多bug的源头。逻辑运算符用一句话给直觉:and全部满足才成立,or有一个满足就成立,not黑白颠倒。现场判断一个表达式:(score>=60)and(attendance=="达标"),让学生口算结果。实践内化(约12分钟)。机房任务三件套:任务一,输入自己的身高体重,计算BMI值并存入变量,打印结果;任务二,输入一个三位数,利用整除和取余拆出百、十、个位并分别输出;任务三,把两个变量里的值交换,用打印做证明。教师在行间巡视,收集两类典型错误拍照留作下节课会诊素材:把input读入的字符串直接参与算术运算导致报错,以及交换变量时少用一个中间盒子导致数据覆盖。小结(约4分钟):数据分类型,盒子装变量,符号有方向,表达式讲规矩。作业:把课堂三个任务的代码抄写进个人代码本,每段代码上方用注释写一句“这段代码干什么”。第三课时:Python语言程序设计基础(下)——常用函数与输入输出导入(约5分钟)。承接上节课巡视发现的问题:有同学的程序一运行就甩出TypeError。教师把报错截图投上大屏,带着全班逐行读报错信息——Traceback提示出错的行号,最后一行说出错原因。这是第一次正式教“读报错”,要传递一个观念:报错不是老师批评你,是程序在跟你说话。新知建构(约15分钟)。围绕“让程序会张嘴说话、会侧耳倾听”展开。输入函数input():强调它读进来的永远是字符串,要参与算术运算必须先做类型转换,int()和float()是两只翻译笔。输出函数print():演示多值输出、sep参数、fstring格式化的基本写法,让成绩输出的界面从干巴巴的数字变成“张三的BMI指数是21.6”。随后补充几个高频内置函数:abs()、round()、len()、max()、min(),让学生意识到Python自带一个工具箱,不必事事从零造轮子。字符串的简单处理用mascot案例带过:把输入的学号切片提取班级号,点到即止,为必修一的后续章节留接口。实践内化(约18分钟)。项目化小任务“体测小帮手”:程序依次询问两名同学的身高体重,分别计算BMI,输出两人BMI的差值(保留两位小数),并判断“谁的BMI更高”。任务要求三条:变量命名要有意义;输出语句要带完整中文提示;两人互测对方的程序,故意输入奇怪数据(如体重输入0),观察程序表现并记录。教师巡视时着重问学生一句话:你这个变量为什么叫这个名字?用追问推动命名规范的内化。小结(约7分钟):全班一起给程序的四根支柱命名——输入、处理、输出、存储。作业:思考若要对全班45人做BMI统计,按现在的写法要复制45遍代码吗?这个问题杵在那里,为循环结构埋下强烈的求知缺口。第四课时:分支结构——让程序学会做选择情境导入(约7分钟)。延续BMI项目:算出了指数,得有个说法——18.5到23.9之间是正常,低了偏瘦,高了超重。机器怎么替你下这个判断?学生马上意识到这不再是“算”的问题,而是“选”的问题。新知建构(约15分钟)。先画流程图:菱形判断框,两条岔路。再把岔路翻译成if—else语句,强调三个细节:条件后面有冒号;下一行要缩进四格,缩进不是装饰,是Python表达“这几行归谁管”的语法;分支是“必走其一、只走其一”。随后升级场景:BMI要分四档(偏瘦、正常、超重、肥胖),两岔路不够用了,引出多分支结构if—elif—else。教师带学生推演执行路径,用色块标出每个区间对应的代码块。此处安排一个思辨点:把条件写成并列的四个独立if行不行?让学生上机试,发现虽然结果可能相同,但机器做了多余的判断,而且逻辑上失去了“互斥”的保证——会思考程序的对与好,是区别于代码搬运工的第一道分水岭。实践内化(约16分钟)。任务分层安排。基础任务:完善BMI判定程序,输入身高体重,输出指数与等级判定。进阶任务:闰年判断器——四年一闰,百年不闰,四百年再闰,这是多分支嵌套与逻辑运算的绝佳练兵场,先让学生用自然语言把规则说顺,再翻译成嵌套if。挑战任务:输入三条边长,先判断能否构成三角形,再判等边、等腰、直角、普通。教师在巡视中对分支条件书写不规范的学生(如把18.5<=bmi<24误解为不合法写法)及时指出:这是Python给人的贴心礼物,数学式子可以直接写。小结(约7分钟):分支三问——判断什么?几种情况?每种情况干什么?作业:设计一个“作息时间提醒器”的算法流程图,要求至少三个分支。第五课时:循环结构——让程序不知疲倦情境导入(约7分钟)。亮出第三课时埋下的问题:全班45人的BMI统计,难道复制45遍代码?再把问题加码:如果处理全校三千人,如果处理全省的高考成绩呢?学生心领神会:我们需要一种“把同一段代码按需重复执行”的结构。新知建构一(约12分钟):while循环。先用“猜数字”游戏带体感:程序心里藏着100以内的一个数,玩家输入猜测,程序回答大了还是小了,直到猜中为止。提问:要猜几次?答:不知道。引出循环的第一个本质特征——当重复次数事先不确定时,用条件控制循环。板书while结构:条件在先,循环体缩进,强调循环体里必须有让条件“趋向不成立”的动作,否则就是死循环。现场把猜数程序里的guess更新语句删掉跑一遍,让学生亲眼看到程序卡住,再救回来。这一删一救之间,循环三要素(初始化、条件判断、状态更新)就刻进了身体记忆。新知建构二(约12分钟):for循环与range。场景切换回已知次数的重复:输出12个月份的名称、计算1加到100。引出for循环与range函数的搭档关系,逐一解释range(1,101)从1数到100——左闭右开这个区间习惯要当堂反复练,让学生口算range(3,10)会产生哪些数、循环体执行几次,把“差一错误”的隐患在第一天就暴露出来逐个清除。随后对比总结:次数确定用for,次数不确定用while;break是紧急出口,continue是跳过本轮。break用“在名单中找到第一个不及格者便停止”的例子演示,让学生体会提前退出带来的效率。实践内化(约14分钟)。任务一:用for循环完成1到100的累加,再用while改写一遍,体会两种循环的等价与分工。任务二:输入全班人数和逐个成绩,统计平均分、最高分、最低分——每读一个数就把三笔账更新一次,让学生在循环体里亲手管理sum、max、min三个变量的演化。任务三(选做):打印九九乘法表的下半三角,体会循环嵌套时内外层变量各管一维。小结(约5分钟)。板书循环三要素与两种循环的使用场景,请学生用“什么时候用哪个”造句。作业:把自己的BMI程序升级为“可连续测试多人,输入0结束”的版本,标识出三要素分别在哪几行。第六课时:简单算法的程序实现——枚举与解析情境导入(约8分钟)。出趣题:鸡兔同笼,头30个,脚94只,笼中鸡兔各几何?先请数学好的学生列方程解,两分钟出答案。教师再问:如果是农场里有十几种动物、条件方程组带十个未知数呢?方程法开始吃力,而计算机有一个笨办法——挨个试。今天这节课的主题就是:笨办法不笨,只要试得快、试得全。新知建构一(约12分钟):枚举算法。师生共同把鸡兔同笼翻译为枚举:兔的数量r从0到30逐一尝试,每个r对应鸡的数量c=30−r,检验4r+2c是否等于94,成立即输出。学生发现程序结构竟是一条朴素的for循环加一个if——原来“算法思想”并不高深,就是在合适的范围里做穷举加检验。教师顺势归纳枚举法三问:枚举谁?范围多大?检验什么?随后上例加深:百钱买百鸡——公鸡5文一只,母鸡3文一只,小鸡1文三只,用100文买100只鸡有几种买法。本题需要双重循环嵌套,教师带着估算:外层不过20次、内层不过33次,总共几百次检验,机器眨眼之间。再留一个优化切口:枚举上界可以收紧,钱数除以单价就是合理的边界——让学生体会“缩小搜索范围”是枚举效率的生命线。新知建构二(约10分钟):解析算法。话锋一转:刚才数学好的同学用方程两分钟也解出来了,能不能让程序像他那样直接算?引出解析算法——找到问题中各量之间的数学关系,用表达式一步算出结果。现场实现两题:一是已知三角形三边用海伦公式求面积,二是已知两地经纬距离模型的简化版(直线距离近似)计算校园周边两点的直线距离。对比枚举与解析两条路:枚举靠测试,解析靠公式;枚举通用但耗时,解析高效但要求问题存在明确的数学关系。让学生判断三个生活场景各自适合哪条路:找出100以内所有素数(枚举);已知速度和路程求时间(解析);破译一个三位数字密码(枚举)。综合实践(约10分钟)。小组任务“运动会总成绩核算”:每班运动员在若干项目的名次已录入,按名次对应积分累计各班总分,输出总分排名第一的班级。要求组内先分工:一人画流程图,一人写数据录入部分,一人写统计与比较部分,最后合龙调试。教师巡视介入时只问问题不给答案:你现在卡在哪一步?输入的数据长什么样?循环到了第几轮?用提问代替代劳,守护学生的调试体验。总结与升华(约5分钟):回望整章,从排名问题出发,我们走过了数据与表达式、输入与输出、分支与循环,最终抵达“用

温馨提示

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

评论

0/150

提交评论