版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高一信息技术《可以复用的代码——函数的定义与调用》教学设计一、教学设计的整体立意本课选自教科版高中信息技术必修1《数据与计算》第二单元第四节"可以复用的代码"。这一节在整套教材中处于承上启下的关键位置:前面学生已经掌握了顺序、选择、循环三种基本控制结构,能够编写几十行规模的程序解决简单问题;之后学生将接触更复杂的算法实现与综合项目。如果学生始终停留在"把代码从头写到尾"的阶段,程序规模一旦增长,代码冗长、逻辑混乱、修改困难的问题会立刻暴露。函数思想的引入,正是帮助学生跨越这道门槛的核心支点。教材以2.4.1"函数的应用"、2.4.2"发布共享代码的模块"两条线索展开,其深层意图是让学生体会"抽象"与"封装"这一计算思维的核心要义:把一段完成特定功能的代码包装起来,起一个名字,此后需要这份功能时只需呼唤名字,而不必关心内部细节。这与数学中函数的概念既同源又有拓展,是跨学科理解的绝佳素材。本课的教学立意可以概括为三句话:让学生从重复粘贴的窘境中发现问题,从函数封装中体会抽象的力量,从模块共享中理解协作与复用的工程文化。教师的任务不是讲完def的语法,而是设计一段真实的认知经历,让学生在"痛"过之后自然"悟"到。二、学情分析授课对象为高一年级学生。从知识基础看,学生已经能熟练使用Python的输入输出语句、赋值语句,掌握if分支和for、while循环,能独立编写求累加和、判断素数等小程序。从思维特点看,高一学生抽象思维正在发展,但仍以具体形象思维为重要支撑,函数中"参数传递""返回值"这类看不见摸不着的过程,对他们来说存在明显的认知落差。从教学实践中观察到的典型困难有四类。其一,学生不理解为什么要用函数,认为"我直接写不就完了",缺乏对代码复用价值的亲身体验。其二,混淆函数的"定义"与"调用",经常出现只定义不调用、程序运行后毫无输出的情况。其三,对参数和返回值的理解停留在机械模仿层面,分不清print输出与return返回的本质区别,常有学生把函数内部的print当作返回值使用。其四,对变量作用域缺乏概念,在函数内外使用同名变量时产生困惑。针对上述学情,本课设计采用"制造冲突—引发需求—建构概念—分层实践—拓展延伸"的路径,让每一个语法点的出现都有真实需求作铺垫。三、教学目标信息意识方面,学生能够认识到代码复用是软件开发的基本方式,理解模块化思想在解决复杂问题中的价值,初步形成"遇到问题先想有没有现成方案"的工程意识。计算思维方面,学生能够理解函数是对过程性知识的抽象与封装,掌握函数定义、调用、参数传递、返回值的基本机制,能将一个较复杂的问题分解为若干功能相对独立的子任务并分别用函数实现。数字化学习与创新方面,学生能够查阅和使用Python内置函数与math、random等标准模块,会将自己编写的函数保存为模块文件供他人调用,体验代码共享的完整过程。信息社会责任方面,通过"发布共享代码"环节,引导学生理解开源协作的基本规则,尊重他人代码成果,养成注明来源、规范命名的习惯。教学重点:函数的定义与调用方法,参数与返回值的作用,模块化编程思想。教学难点:参数传递与返回值的过程性理解,print与return的区别,函数封装边界的合理划分。四、教学准备机房环境配备Python3.x解释器与IDLE或Thonny编辑器,教师机安装广播教学软件。课前教师准备三份素材:一份故意写得冗长重复的"反面示例"程序文本,一份本课任务单电子文档,一份包含进阶任务的拓展练习包。学生两人结成互助小组,按编程基础强弱搭配的原则在课前完成分组。五、教学过程(一)情境导入:一段让人崩溃的代码(约7分钟)上课伊始,教师通过广播展示一段"成绩统计程序"。这段程序需要分别对三个班级的考试数据做完全相同的三件事:求最高分、最低分、平均分。程序采用最原始的写法,三段几乎一模一样的代码依次排列,总长超过八十行。教师不急于讲解,而是现场提出一个修改要求:"教务处临时通知,平均分要保留两位小数,请同学们帮老师改一改。"学生动手尝试后很快发现,同样的修改要在三个地方各做一次,稍不留神就漏改一处,导致三个班的结果格式不一致。教室里会出现真实的抱怨声,这正是教师等待的认知冲突。教师顺势追问三个问题:这段代码哪里让你不舒服?如果处理的班级是三十个而不是三个,你还愿意这样写吗?能不能像使用print、len这些现成命令一样,把"求平均分"也变成一个可以随时叫名字使用的工具?三个问题层层递进,把学生从"觉得麻烦"引向"渴望工具"。教师此时点题:其实在Python里,每个人都可以制造自己的工具,这种可以反复使用的代码,叫做函数。板书课题"可以复用的代码——函数"。设计意图在于让需求先于知识出现。函数的价值不是教师宣布的,而是学生在亲身感受重复劳动的痛苦之后自己得出的结论,这种结论才会扎根。(二)概念建构:像使用数学函数一样使用代码函数(约8分钟)教师从学生最熟悉的数学函数切入。黑板上写出f(x)=2x+1,提问:当x等于3时,我们做了什么?学生回答:把3代入,算出7。教师引导学生提炼其中的三个要素:有一个名字叫f,有一个入口接收x,有一个出口送出结果。紧接着教师展示Python中的对应写法:deff(x):return2x+1师生共同逐行解读:def是"定义"的信号,告诉计算机"我要制造一个工具";f是工具的名字;括号里的x是参数,相当于工具的进料口;return负责把加工好的结果送出来。教师特别强调一个反直觉的事实:这三行代码写完并运行后,屏幕上什么都不会发生——因为你只是"造好了"工具,还没有"使用"它。工具被使用的动作叫调用,写法就是函数名加括号,如print(f(3))。随后教师组织一个"人肉计算机"活动:请三名学生分别扮演"调用者""函数""记录员"。调用者喊出f(5),函数角色的学生在心里算好答案11,通过记录员"返回"给调用者。这个具身化活动把参数传递和返回值这两个抽象过程变成可观察的动作序列,课堂气氛轻松,概念落地扎实。教师趁热打铁,演示定义与调用的完整过程,并穿插两个即时小练习:编写函数area(r)计算圆面积,编写函数is_even(n)判断一个数是否为偶数。学生在学案上写出代码后在计算机上验证,教师巡视,重点观察有没有学生只定义不调用,发现后立即作为共性案例在广播中点评。(三)难点攻坚:print和return到底差在哪(约7分钟)这是本课最容易"看起来会了、其实没懂"的地方。教师设计了一个对照实验。先在屏幕上展示函数A:defadd_a(x,y):print(x+y)再展示函数B:defadd_b(x,y):returnx+y教师提出任务:请分别用这两个函数算出3加4的结果,然后把这个结果乘以10再输出。学生操作后发现,用函数A时程序报错或得到意外的结果,用函数B则顺利得到70。教师引导学生剖析原因:print只是把结果显示在屏幕上给人看,显示完数据就散了,程序拿不到它;return才是把数据正式交还给调用处,程序可以拿着它继续运算。为了让学生形成稳固的表象,教师打一个生活化的比方:print像食堂阿姨把菜名喊出来让你听见,return才是把菜盛进你的餐盘——听见和拿到,是两回事。随后教师给出判断要诀:如果一个函数算出的结果还要参与后续计算,必须用return;如果只是给使用者看一眼最终结果,print可以接受。学生立即修改此前写的is_even函数,确保它使用return返回判断结果。(四)分层实践:用函数改造问题(约12分钟)实践环节按三级任务梯度展开,学生根据自身情况至少完成前两级,学有余力者冲击第三级。基础级任务"旧貌换新颜":回到导入环节那段八十行的成绩统计程序,要求学生定义三个函数max_score(data)、min_score(data)、avg_score(data),然后用函数调用重写整个程序。学生完成后会直观看到程序从八十行缩减到三十行以内,且修改精度格式的需求只需在avg_score函数内部改动一处即可生效。这一前后对照带来的成就感极其强烈,复用的价值不言自明。提高级任务"密码强度检测器":编写函数check(password),根据密码长度、是否包含数字、是否包含字母三个条件返回"弱""中""强"三级评价。这个任务要求学生综合运用分支结构、循环结构与字符串方法,并将其组织在统一的函数框架内,考查的是知识的整合迁移能力。教师提示学生先在纸上写下判断规则,再动工编码,落实"先想后写"的编程规范。挑战级任务"函数组合拳":解决一个稍加综合的问题——为班级春游活动编写费用计算程序,要求至少定义三个函数:计算包车费用的函数、计算门票费用的函数、汇总并生成分摊方案的函数,主程序中通过依次调用完成整体任务。这一任务直指"问题分解"这一计算思维的核心,学生需要自行决定每个函数的职责边界、参数设计和返回值类型。实践期间教师持续巡视,重点关注三类问题并给予个别化指导:参数个数写错的、忘记return导致结果为None的、在函数外部误用函数内部变量的。每到巡视中段,教师选取一两个典型错误进行全班分享式讲评,把个体的坑变成集体的台阶。(五)拓展延伸:把自己的代码变成别人的工具(约4分钟)教师演示"发布共享代码"的完整流程:把check函数连同另外两个自编函数保存在名为mytools.py的文件中,然后在另一个新的程序文件开头写下importmytools,接着就能以mytools.check("abc123")的方式调用自己此前写的函数。学生亲眼看到"自己造的函数"和"教材里学的模块"在使用方式上完全一致,教材中math、random模块的本质被瞬间揭开——它们不过是别人写好并分享出来的函数集合。教师提出课后延伸任务:小组合作把本节课三个实践任务中最满意的函数整理成一个小组共享模块,附上简明的使用说明注释,提交到班级共享空间,鼓励同学们互相调用、互相提改进意见。(六)课堂小结与评价(约2分钟)教师引导学生用思维导图形式回顾本课三个关键词:封装——把功能打包进函数;复用——一次定义,处处调用;共享——个人代码成长为集体资源。评价采用过程性方式,结合课堂练习完成度、实践任务达成层级与小组协作表现综合记录。教师以一句话收束本课:今天你们写下的每一个函数,都可能在明天成为别人程序里的print和len。六、板书设计主板书采用左右对照结构。左侧为认知线索:重复的痛苦——封装的愿望——函数的诞生——模块的共享。右侧为语法要点:def函数名(参数):函数体return结果调用:函数名(实际数据)下方保留一小块动态区域,用于板演课堂中生成的典型错误及其修正过程,让错误也留下可追溯的痕迹。七、作业设计必做题:编写函数gcd(a,b)求两个正整数的最大公约数,并撰写三行以内的函数使用说明。选做题:查阅资料了解Python内置函数sorted的用法,尝试用它和自己编写的函数配合,解决"找出班级前五名"的问题,下节课安排两名学生分享。探究题:观察教材或生活中使用import语句的三个实例,分析每个模块大致封装了哪一类功能,记录在探究笔记中。八、教学反思预设本课最大的风险点在时间分配。"难点攻坚"与"分层实践"两个环节都可能超出预期,教师需依据课堂实际情况在挑战级任务上做弹性取舍,宁可让学生把基础级和提高级做透,也不为赶进度牺牲理解的深度。第二个需要警惕的问题是部分学生满足于"能运行",不求理解return的真正作用。对此,评价环节应有意识地追问"如果不用r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国农垦行业发展环境、市场运行格局及前景研究报告-智研咨询
- 《珠算》课件 项目二 退位减法运算(退十减 退十补五的减)5
- 中国罐箱运输行业市场集中度、市场规模及未来前景分析报告
- 三七灰土垫层详细施工方案及技术要求
- 全国计算机二级WPSOffice高级应用与设计真题第2套2025原题还原模考训练含答案解析
- 垃圾分类普及教育课件
- epdm塑胶跑道的施工方案
- 2026年软件工程师《数据库》真题卷(含答案)
- ESG评级分化背景下绿色建材溢价能力的实证检验与价值重估
- ESG评级体系中木制工艺刷企业社会责任投资的财务回报实证
- 《物联网基础知识》课件
- 建筑公司工程部管理制度
- 《数字化空间设计表现》教学大纲
- 2024年国家大剧院公开招聘专业技术及一般管理人员33人历年高频500题难、易错点模拟试题附带答案详解
- 2024年秋季1530安全教育记录
- 小孩办身份证的委托书范本
- DL-T5704-2014火力发电厂热力设备及管道保温防腐施工质量验收规程
- pvc地胶施工工艺演示
- 《0-3岁婴幼儿营养与喂养》婴幼儿消化系统的特点
- VDA6.5产品审核检查表
- 水源工程建设场地地质灾害危险性评估报告
评论
0/150
提交评论