高中一年级信息技术教学设计-可以复用的代码:函数的封装与调用_第1页
高中一年级信息技术教学设计-可以复用的代码:函数的封装与调用_第2页
高中一年级信息技术教学设计-可以复用的代码:函数的封装与调用_第3页
高中一年级信息技术教学设计-可以复用的代码:函数的封装与调用_第4页
高中一年级信息技术教学设计-可以复用的代码:函数的封装与调用_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

高中一年级信息技术教学设计——可以复用的代码:函数的封装与调用一、教学内容分析本课是教科版(2019)高中信息技术必修1《数据与计算》第二章第四节“可以复用的代码”的第二课时。第一课时学生已经建立了“为什么要复用代码”的初步观念,接触了循环与函数的基本概念,能够阅读并模仿简单的函数定义。本课时的核心任务是从“会读、会仿”走向“会设计、会用”,即让学生真正掌握函数的定义方法、参数传递机制、返回值的意义,理解模块化思想在程序设计中的价值。从课程标准来看,本课对应“数据与计算”模块中关于算法与程序实现的要求:学生能够针对真实问题设计算法,选用合适的程序结构实现算法,并通过模块化方式提升代码的可读性与可维护性。函数正是这一要求的落地载体。函数不仅是语法知识,更是一种思维方式——把复杂问题拆解为若干可独立求解、可反复调用的子问题,这种“分而治之”的思想将贯穿学生后续的编程学习乃至计算思维的发展。教材在本节安排了“自定义函数def”“参数与返回值”“函数的调用与嵌套调用”等内容,并以“求两数最大公约数”“判断素数”等经典案例为载体。这些案例数学背景清晰、逻辑边界明确,适合作为函数教学的第一批范例。但教材案例之间的梯度需要教师重新组织:从单一参数到多参数,从无返回值到有返回值,从单函数解决问题到多函数协作解决问题,形成一条螺旋上升的学习路径。值得强调的是,第二课时与第一课时的衔接点在于“复用”二字。第一课时的重点是认识复用的现象,第二课时的重点则是创造可复用的代码。学生将在本课中亲手把一段“一次性”的代码改造成可反复调用的函数,并在新情境中再次调用它,体验“一次编写、多次受益”的工程快感,这种体验是任何灌输式讲解都无法替代的。二、学情分析授课对象为高一年级学生。经过必修1前两章的学习,学生已经掌握了Python的基本语法,包括变量、数据类型、顺序结构、分支结构与循环结构,能够独立编写不超过三十行的小程序。在数学方面,学生具备函数概念的基础,理解“输入—对应关系—输出”的基本模型,这为理解程序中的参数与返回值提供了认知支架。学生的困难集中在三个方面。其一,变量作用域意识薄弱,容易把函数内部的局部变量与外部的全局变量混为一谈,出现“函数里改了,外面怎么没变”的困惑。其二,对参数的理解停留在表面,常把“形式参数”当成一个已经赋好值的具体变量,导致写出的函数只能处理固定数据,失去复用价值。其三,部分学生存在“复制粘贴情结”,遇到相似功能习惯性Ctrl+C、Ctrl+V,需要教师设计对比性任务让其亲身体会复制粘贴的维护代价。基于以上学情,本课采用“痛点引入—概念建构—分层操练—综合项目”的教学路线,让学生在真实的认知冲突中完成知识建构,而不是被动接受一套现成语法。三、教学目标1.信息意识:能够识别程序中重复出现的代码片段,判断其抽象为函数的可能性,形成对“重复即坏味道”的敏感度。2.计算思维:能够将一个完整问题分解为若干功能独立的子任务,分别为每个子任务设计输入(参数)、处理过程与输出(返回值),并通过函数组合解决整体问题。3.数字化学习与创新:熟练使用def语句定义函数,正确设置形式参数与实际参数,运用return语句返回计算结果;能够为一至两个情境设计具有复用价值的通用函数,并为函数撰写简洁的注释说明。4.信息社会责任:在小组协作中体会模块化分工的效率优势,理解软件工程中“接口约定”的意义,初步形成规范命名、清晰注释的编码职业素养。教学重点:函数的定义与调用,参数传递机制,返回值的使用,模块化思想的初步建立。教学难点:形式参数与实际参数的区别,return语句与print语句的本质差异,依据问题抽象出合理函数接口的能力。四、教学策略与资源准备本课采用任务驱动与对比实验相结合的策略。对比实验是本课的关键设计:同一段功能,一组学生用复制粘贴实现,另一组用函数实现,随后教师抛出“需求变更”,两组分别修改代码,用时与出错率的差异一目了然,抽象的效率优势由此变成可测量的课堂事实。硬件环境为机房一人一机,安装Python3.x及对应编辑器(可使用教材配套的IDLE或Thonny)。教师机配备广播教学软件。课前在教师端准备好三份半成品代码文件:任务一的基础代码、任务二的“复制粘贴版”错误示范、任务三的项目脚手架,通过机房管理软件下发。另外准备四张A3纸大小的“函数病历卡”,用于小组互评环节记录他组函数的“病症”。五、教学过程(一)情境导入:一段让人头疼的代码(约6分钟)上课铃响,教师不急于讲语法,而是投屏展示一段真实的学生作业代码:程序需要分别计算三名学生的体质指数BMI并给出评价,代码中出现了三段几乎一模一样的“体重除以身高平方再判断区间”的语句,仅变量名从a、b、c换成了x、y、z。教师提出三个连环问题:这段代码你能一眼看懂吗?如果班主任说评价标准调整了,超重界限从24改为25,你要改几处?改漏一处会怎样?学生现场口答,容易得出“要改三处,容易漏”的结论。教师顺势揭示课题:昨天的课我们知道了代码可以复用,今天要解决的是怎样亲手写出可以复用的代码——把这段重复逻辑装进一个“盒子”,给它起个名字,以后随叫随到。这个盒子就是函数。设计意图:用学生自己作业中的真实痛点制造认知冲突,让“重复代码的维护代价”成为全体学生的共识,函数的引入水到渠成,而非教师的强制要求。(二)概念建构:解剖一只函数的“身体”(约10分钟)教师以刚才的BMI案例为素材,现场完成从“散代码”到“函数”的改造,边写边讲,投屏放慢速度,让学生看清每一步。第一步,圈出重复逻辑:计算BMI的核心是“体重除以身高的平方”,评价的逻辑是按区间返回结论字符串。第二步,确定这个盒子的“进口”和“出口”:进口是体重和身高两个数,出口是评价结果。第三步,用def语句写函数:defbmi_level(weight,height):bmi=weight/(height2)ifbmi<18.5:return"偏瘦"elifbmi<24:return"正常"else:return"超重"教师在此处停笔,组织学生观察并归纳函数的构造要素:def关键字、函数名、圆括号里的形式参数、冒号与缩进的函数体、return返回值。随后进行对比辨析,这是本课第一个易错点集中爆破环节。辨析一:形式参数与实际参数。教师在黑板画“快递柜”示意图:def语句里的weight和height只是快递柜上的格子标签,规定“这里将来放体重”“这里将来放身高”;调用时写的bmi_level(60,1.7)才是真正投递进来的包裹。标签不是数据,数据来了标签才临时“附体”。请学生判断:bmi_level(60,1.7)与bmi_level(1.7,60)结果是否相同?为什么?学生由此明确参数按位置一一对应,顺序即契约。辨析二:return与print。教师运行两个版本:一个函数内部用print输出评价,另一个用return返回评价,主程序分别写result=bmi_level(60,1.7)后尝试把result乘以2。print版本报错的瞬间,学生直观看到:print只是把内容“说”给人听,说完即散;return是把结果“交”给调用者,可以参与后续运算。一句话提炼——print面向屏幕,return面向程序。辨析三:课堂一分钟快测。教师口述四句代码让学生判断函数返回什么:deff(x):returnx2returnx+100调用f(5)得到什么?多数学生第一次会答110,运行结果是10,因为第一个return执行后函数立即结束。教师总结:return不仅是出口,还是终点。设计意图:概念教学不做语法条目的罗列,而是以“解剖”的方式让学生在对比、误判、纠错中建立精确概念。三个辨析全部针对学情预判中的真实误区,每一个都有可观察的课堂证据。(三)分层操练:三次任务逐级登高(约16分钟)任务一(基础层,人人过关):补全并调用函数。教师下发半成品文件,其中已写好循环结构遍历全班50名学生的体测数据,但BMI评价部分留空。学生任务:把刚才的bmi_level函数补进程序,在循环中用一行调用替代原来的多行重复代码,运行后输出全体学生的评价统计。此任务确保每名学生完成一次“定义—传参—获取返回值”的完整闭环。教师巡视,重点盯住两类典型错误:调用时忘写参数、函数体缩进错误。任务二(进阶层,标记重复):改造“丑陋代码”。教师下发事先准备的“复制粘贴版”程序:程序要绘制三个不同边长的正方形(可用turtle库,也可用打印星号方阵替代,视学校设备条件选定),代码中三段循环高度雷同。要求:将其抽象为函数draw_square(n),通过三次调用完成任务;完成后,教师宣布“需求变更”——正方形改为在每条边中点加画装饰点。学生立刻发现,函数版只需修改函数体一处,复制版需要同步修改三处且极易遗漏。计算机实测用时对比写入黑板表格。任务三(挑战层,小组项目):为“校园体测分析仪”设计函数库。四人一组,项目需求为:读入若干名学生的身高、体重、肺活量、50米跑成绩,输出每名学生的综合评价与全班统计信息。教师不给出函数划分方案,只给出接口约定的思考框架——先回答三个问题再动手:这个程序可以拆成哪几件独立的小事?每件事需要什么输入,产出什么结果?事件之间谁先谁后?各组在草稿纸上画出“函数关系草图”后开始编码。教师脚手架提示:至少包含bmi_level(w,h)、score_run(t)、class_average(list)三个函数,鼓励学有余力者增加主函数main()统筹全局。小组互评采用“函数病历卡”:每组派一名“质检员”携带病历卡到邻组,只做三件事——读函数名能否猜出功能;看接口(参数与返回值)是否清晰;随便换一组数据调用,检验是否复用成功。把发现的问题写在病历卡上返还对方。教师收集病历卡,挑出两张典型卡在全班点评:一张是“函数名取得好、参数设计巧”的正面病例,一张是“函数里藏着print、返回值缺失”的反面病例,以同行评议的方式强化规范意识。设计意图:三个任务对应“会调用—会改造—会设计”三个能力层级,让所有学生完成保底任务的同时为学有余力者留出生长空间。病历卡互评把“接口清晰、命名规范”从教师口号转化为学生间的真实检验,呼应正高级工程师评审中代码审查的真实工作场景。(四)归纳提升:把今天的知识装进工具箱(约6分钟)教师引导全班共同完成一张“函数设计三问”思维图,书写于黑板居中位置,作为本节可带走的成果:这件事反复出现吗?它的输入和输出是什么?取一个别人看得懂的名字。三个问题分别对应复用价值判断、接口设计、命名规范。随后用一句话收束模块化思想:写程序像搭积木,函数就是你自己烧制的积木块——形状规整、卡口标准,才能在未来的大厦里反复使用。教师点明与前后知识的联结:循环解决的是“重复执行”,函数解决的是“重复出现”,二者共同构成程序设计中对抗重复的两件武器;后续学习第三方库时,会发现import进来的每一个模块,本质上都是别人烧制好的积木。(五)作业布置(约2分钟)必做题:编写函数is_prime(n)判断素数,并利用它输出100以内所有素数;再编写一个能统计列表中素数个数的函数,体会函数之间的调用关系。选做题:为家里或班级设计一个真正用得上的小工具函数集,例如“成绩等级换算”“水电费阶梯计价”,写出函数并附每条函数的注释说明,下节课举办三分钟“代码展销会”,由同学投票选出“最想复用的函数”。设计意图:必做题巩固语法并预埋“函数调用函数”的伏笔;选做题把复用从课堂延伸到生活,展销会机制用同伴评价驱动代码质量。六、板书设计主板书采用“一核两翼”结构。中央写课题“函数:可复用的代码块”;左翼自上而下写构造要素:def、函数名、形参、缩进函数体、return;右翼写设计三问:反复出现吗?输入输出是什么?名字叫得响吗?下方留一条横线区,实时记录课堂生成的两类对比数据——复制组与函数组的修改用时,以及快测环节的典型错误答案,让板书成为课堂证据的留痕。七、教学评价设计本课实行“三维证据”评价。过程性证据:任务一、二的上机完成记录与任务三的病历卡,权重占40%,依据四项细化指标——函数能否独立调用、参数设计是否合理、返回值使用是否正确、命名注释是否清晰,采用等级制(优、良、待改进)记录。结果性证据:课后作业的代码质量与运行结果,占40%,重点考查接口抽象能力。表现性证据:病历卡互评中的提问质量与反馈采纳情况,占20%,评价主体为小组成员与教师双向。所有评价数据汇入学生个人“编程成长档案”,与后续章节的项目作品合并,作为模块学分认定与综合素质评价的支撑材料。八、教学反思预设课后重点核查三处教学落点:其一,return与print的辨析虽已设计实验,但学困生在内化之后仍可能在作业中复现混淆,需在下次课前用三行小程序做一

温馨提示

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

评论

0/150

提交评论