版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高中信息技术必修一《可以复用的代码》教学设计一、教学设计的缘起与立意这份教学设计面向山东省枣庄市第八中学东校区高一年级学生,内容选自教育科学出版社2019版高中信息技术必修一《数据与计算》第二单元第四节"可以复用的代码"。本节课处在学生初步掌握Python基本语句、顺序结构、分支结构与循环结构之后,是整个编程学习链条中承上启下的关键一环。学生此前写出的程序大多是一次性的脚本,代码写完用完,遇到新问题从头再来。本节课要完成的任务,是让学生建立"代码可以封装、可以复用"的工程化意识,理解函数与模块的价值,并能在真实问题情境中调用他人写好的代码解决自己的问题。设计的核心理念有三点。第一,知识不是孤立的条文,函数这一概念必须放置在"解决重复性问题"的土壤中生长,而不是先画定义再套例题。第二,实践是检验理解的唯一标准,本节课安排充足的机房实操时间,让学生在敲键盘的过程中经历从"抄写代码"到"组织代码"再到"调用代码"的进阶。第三,育人价值要自然渗透,模块化思想背后是分工协作的社会运行逻辑,代码复用背后是尊重他人劳动成果的工程伦理,这些内容不说教、不贴标签,而是让学生在做中悟。二、教材分析教科版必修一第二单元以"编程计算"为主线,前四节的编排逻辑清晰可见:第一节认识计算机解决问题的过程,第二节学习算法的描述,第三节进入Python语言基础,第四节则把学生从"会写语句"引向"会组织程序"。本节教材包含两条知识线索,一条是自定义函数,包括函数的定义、参数传递、返回值;另一条是模块的引入与使用,包括import语句的用法以及常见标准库如math、random、turtle的调用。教材选用了发布findingglyph、绘制图形等贴近学生的例子。在实际教学中,我对教材案例做了本地化改造:结合枣庄本地的榴园(峄城榴园景区)、微山湖湿地等情境设计任务,让代码问题生长在学生熟悉的地理文化背景中,拉近学科知识与乡土经验的距离。本节课的教学重点有两个:理解函数的定义与调用机制,掌握用import引入模块并调用其中函数的方法。教学难点也有两个:一是形参与实参之间的对应关系,学生在初学时极易混淆;二是理解"复用"的价值而非表面地学会语法,这需要通过精心设计的对比任务让学生亲身体会。三、学情分析授课对象为高一年级学生。从知识储备看,学生已经完成了前三节内容的学习,能够独立编写包含输入、处理、输出的简单程序,会使用for循环和if语句解决基础问题,例如计算累加和、判断奇偶数、打印九九乘法表之类。从认知特点看,高一学生抽象逻辑思维正在发展,但面对"参数的传递"这类概念仍需要具象的脚手架支撑;他们乐于动手,对屏幕上"跑出结果"有天然的兴奋感,但编程的规范性、调试的耐心尚显不足。从班级实际看,学生信息技术水平差异明显。少数学生在初中接触过图形化编程甚至Python竞赛训练,多数学生在初中的课堂只接触过Office软件操作。因此本节课的任务设计采用分层策略:基础任务人人过关,保证底线;拓展任务留给学有余力的学生,保留上升空间。四、教学目标按照普通高中信息技术课程标准提出的四大学科核心素养,本节课的教学目标设定如下。信息意识方面:学生能够在面对重复性代码片段时,敏锐意识到"这段代码可以打包起来反复使用",形成主动寻求已有资源解决问题的意识,懂得站在前人肩膀上工作。计算思维方面:学生能够运用抽象与封装的方法,把一段具体的代码提炼为带参数的函数,明确输入(参数)与输出(返回值),并能把复杂问题分解为若干函数协作完成的小问题,初步体会模块化分解的思想。数字化学习与创新方面:学生能够熟练运用import语句引入math、random、turtle等模块解决实际问题,能够查阅简单的模块帮助文档,养成自主探索工具资源的习惯。信息社会责任方面:学生在使用他人编写的模块时,初步建立尊重知识产权、遵守开源协议的意识,理解共享与回馈是开源文化的基本精神。五、教学策略与方法选择本节课采用"问题驱动、任务分层、讲练交替"的组织方式。具体运用以下方法。情境教学法:以"统计全校运动会长跑报名成绩"这一具体任务切入,让学生亲眼看到代码重复书写的狼狈,从而萌生封装的需求。对比教学法:同一问题分别用"重复书写"与"函数封装"两种方式实现,把两段代码并排在屏幕上展示,优劣不言自明。任务驱动法:全课围绕三个阶梯式任务展开,任务的完成过程就是知识的建构过程。小组协作法:两人一机、强弱搭配,界定为"驾驶员—导航员"结对编程模式,驾驶员操作键盘,导航员负责审读与提示,定时轮换角色。讲授法:仅在函数定义的语法规则、参数传递机制等处做精要讲授,每段讲授不超过八分钟。教学环境:学校机房,装有Python3.x运行环境及支持分屏投影的广播教学系统。六、教学过程本节课用一个标准课时(45分钟)加一个连堂课时(45分钟)完成,共90分钟。以下分环节详述。(一)情境导入:重复的烦恼(约8分钟)上课伊始,我在大屏上展示一个情境:学校秋季运动会刚结束,体育组老师要把各班报名长跑项目的成绩做简单换算——把"分:秒"格式的时间统一换算为总秒数,便于排序。屏幕上我现场敲下处理三名运动员成绩的代码:```m1=5;s1=23t1=m160+s1m2=6;s2=10t2=m260+s2m3=4;s4=55t3=m345+s4```我故意在第三行参数写错(s4、m3与45混用),程序运行报错。学生立即指出错误。我顺势提问:"如果是全校八百名报名运动员,这段代码我们要复制粘贴多少次?粘贴到第三百次时,手一抖改错了变量名,会发生什么?"学生哄堂而笑,纷纷说"那得改到天亮"。我追问:"有没有一种办法,把'分和秒换算成总秒数'这个活儿打包起来,以后谁要用,喊一声名字就行?"有接触过编程的学生脱口而出"函数"。板书课题:可以复用的代码。设计意图:错误是教师亲手制造的,真实可信;八百人的夸张规模制造了认知冲突;"打包带走、喊名即用"的口头比喻,为函数概念做了生活化的铺垫。整个过程没有一句空洞的开场白。(二)新知探究一:认识函数——造一台"换算机器"(约20分钟)第一步,我把函数类比为食堂的"豆浆机":投进去黄豆和水(参数),按下开关(调用),出来豆浆(返回值),豆浆机内部怎么打、怎么加热(函数体),使用者不必关心。这个类比在枣庄学生的生活中司空见惯,理解门槛几乎为零。第二步,师生共同编写换算函数。我口述思路,学生在自己的机器上同步敲入:```defto_seconds(minute,second):total=minute60+secondreturntotal```然后调用:```t=to_seconds(5,23)print(t)```运行结果323出现在屏幕上,学生第一次看到自己"造"的函数被成功调用,机房里有明显的兴奋感。第三步,精讲三个概念,讲解时间压缩在五分钟内。其一,def是定义函数的关键字,def后面是函数名,命名规则与变量名一致,建议见名知义。其二,括号里的minute和second叫形式参数,是占位符;调用时传入的5和23叫实际参数;实参按位置一一对应地"坐进"形参的座位,顺序不能乱。为了讲透这一点,我现场调用to_seconds(23,5),得到的结果23×60+5=1385与预期相反,学生立刻体会到位置对应关系的重要性。其三,return是"交活"的指令,函数执行到return就把结果交还给调用者并结束运行。我现场演示把return删掉改成print(total),再print(t)时屏幕显示None——这个"意外"让学生真切感受到"给我看结果"和"把结果交给我"的本质区别。这个细节是本节课的第一个高光时刻,由错误现象引出概念本质,比平铺直叙的讲解有效得多。第四步,即时小练:学生独立完成一个把摄氏度换算为华氏度的函数to_f(c),公式为华氏度等于摄氏度乘以1.8再加32,即调用to_f(36)输出96.8。教师巡视,个别指导命名与缩进问题(四个空格缩进是初学者最先栽跟头的地方)。小组内互相检查,三分钟完成。(三)新知探究二:函数的进阶——多参数与默认参数(约15分钟)情境升级:学校食堂进货,需要写一个函数计算某样食材的总价,总价等于单价乘以数量。代码如下:```deftotal_price(price,count):returnpricecount```学生迅速完成调用。此时我抛出问题:"峄城石榴丰收,石榴打包出售,每箱无论多少斤都加收2元包装费,能不能给函数再加一个参数?"部分学生能主动修改代码加入第三个参数fee:```deftotal_price(price,count,fee):returnpricecount+fee```顺势引入默认参数:如果绝大多数时候包装费都是2元,能否让调用者不传第三个参数也自动按2元计算?板书:```deftotal_price(price,count,fee=2):returnpricecount+fee```分别演示total_price(5,10)与total_price(5,10,5)两种调用,前者自动取默认值2,后者按指定的5计算。学生观察到:默认参数必须放在参数列表末尾,这一点通过把fee=2放到最前面产生的语法错误来呈现,让学生亲眼看见报错信息SyntaxError,比口头强调十遍规则更有效。小组任务一(基础层):编写函数greet(name,greeting="你好"),调用greet("枣庄")输出"你好,枣庄",调用greet("枣庄","欢迎光临")输出"欢迎光临,枣庄"。小组任务二(拓展层):编写函数bmi(weight,height),返回体重指数,计算公式为体重(千克)除以身高的平方(米),然后再写一个函数bmi_level(b),根据数值范围返回"偏瘦""正常""超重"三个等级字符串,体验"函数调用函数"的嵌套结构。完成任务二的小组占比约四成,达到预期。(四)新知探究三:模块——站在巨人的肩膀上(约20分钟)过渡语设计:我们自己能写函数,那全世界程序员写好的上百万个函数,能不能拿来直接用?答案是可以,装在"模块"里。活动一:不用import,先体验麻烦。任务:计算半径为7的圆面积。学生用3.14近似计算没问题,但如何取更精确的圆周率?此时引出:```importmathprint(math.pi)print(math.pi77)```屏幕上输出3.141592653589793,学生直观感到"人家写得比我准"。活动二:对比import的两种写法。板书:```importmathmath.sqrt(64)```以及:```frommathimportsqrtprint(sqrt(64))```讲清区别:第一种是把整个工具箱搬进来,用工具时要报工具箱的名字(math.sqrt);第二种是只从工具箱里取出需要的那件工具,直接用名字就行。提醒学生第二种写法虽然省事,但多了有重名冲突的风险,初学阶段建议用第一种。活动三:趣味实战——随机点名器。枣庄八中学生对"课堂随机点名"有天然的紧张与兴趣。师生共同完成:```importrandomnames=["李欣","王浩","张倩","刘宇","陈晨"]lucky=random.choice(names)print("被抽中的同学是:",lucky)```每运行一次结果不同,教室里笑声不断。接着提问:"random模块里还有什么函数?"引导学生使用help(random)或在IDLE里输入random.后查看自动提示,自主发现randint、shuffle等函数,并用randint(1,100)生成随机整数,改写为一个简易猜数字游戏的第一行代码。这一环节把"查阅帮助文档"这一数字化学习能力的培养落到了实处,学生第一次体会到"文档就是老师"。活动四(拓展层,供学有余力者):用turtle模块画峄城榴花简笔画。给出部分框架代码,学生补全前进、左转、画圆的函数调用。这个任务对计算思维要求较高,作为弹性空间,不要求全员完成。投影展示两三位学生的作品,画面跃然而出的时候,课堂气氛到达高潮。(五)综合演练:完整的微项目(约15分钟)综合任务:为班级运动会报名管理写一个迷你程序,要求做到以下几点。第一,自定义函数to_seconds(m,s),把分秒换算为总秒数。第二,自定义函数average(lst),接收一个成绩秒数列表,返回平均成绩。第三,调用random模块,随机抽取某项目的一名运动员作为"抽签测试"对象。第四,主程序部分输入至少三名运动员的成绩,输出每人总秒数、全班平均成绩,并宣布抽签结果。学生两人一组结对编程。教师巡视中重点关注三类典型错误并给予针对性点拨:一是忘记return,函数"有去无回";二是函数名与变量名混淆,调用时括号缺失;三是import语句写在使用之后,导致NameError。巡视即诊断,诊断即纠正,辅导语言坚持"只指方向、不代替敲键"。五分钟后,两组学生上台展示并讲解自己的程序逻辑,台下同学对照找差异。展示中发现一组学生把average函数写成了只支持固定三个数的形式,另一组用循环遍历列表,支持任意长度。我请全班判断哪个版本"复用性更强",学生一致认为后者好——因为换了别的班、换了更多运动员照样直接用。"能应对变化的代码才是好代码",这句评价由学生口中说出,教学目标悄然落地。(六)课堂小结与升华(约7分钟)请学生用一句话总结收获,随机抽取三名学生发言。汇总板书为三条主线。函数:用def定义,参数进、结果出,return交活。模块:用import引入,用"模块名.函数名"调用,文档是最好的帮手。复用:封装一次,多次调用;自己写的是函数,全世界写的是模块。升华部分我这样表述:"今天你们写的每一行函数,本质上是在做一件和科学家、工程师相同的事——把解决过的问题封装成工具,留给后来的自己,也留给素不相识的同行。开源世界数百万程序员互不相识却彼此成就,靠的就是分享复用的精神。将来某一天,也许你写的一个模块,正在被地球另一端的人调用。"这段话没有口号腔,是事实陈述,学生的表情告诉我,他们听懂并有所触动。(七)作业设计(分层布置)基础作业:完成教材本节练习第一、二题,并将课堂上的to_seconds函数整理进自己的"代码收藏夹"(一个个人py文件,日积月累)。实践作业:写函数is_prime(n),判断一个正整数是否为素数,返回True或False,并调用它输出100以内所有素数。拓展作业:查阅random或math模块的文档,自学一个课堂未讲过的函数,下节课用三分钟向同学展示用法。鼓励学生建立自己的"函数学习笔记",形成个人知识库。七、板书设计主板书居中呈现课题"可以复用的代码",下方分左
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玻璃制品装饰工岗位知识能力考核试卷含答案
- 医疗废弃物处理工岗前品质考核试卷含答案
- 矫形器装配工岗位安全操作考核试卷含答案
- 白酒发酵工管理应用竞赛考核试卷含答案
- 2025年鄄城县数学三年级第二学期期末学业质量监测试题含解析
- 建设合同问答题目及答案
- 2026事业单位笔试-重庆-重庆病理学(医疗招聘)历年参考题库含答案详解
- 2026事业单位工勤技能-江苏-江苏水生产处理工五级(初级工)历年参考题库含答案详解
- 2025年遂溪县数学三年级第二学期期中达标检测模拟试题含答案解析
- 自动连续多普勒血流技术在急危重症领域临床应用专家共识
- 商协会党建工作制度汇编
- 全文学习《民族团结进步促进法》课件
- 机动车外检员考试试题及答案
- (正式版)DB51∕T 2628-2019 《司法所外观及室内标识规范》
- 《自主移动机器人 》课件 第1章 绪论
- 微生物学教学课件-第1章-绪论
- 2025 初中语文八年级上册《野望》诗歌意象分析课件
- 口腔科诊疗规范与操作规程
- 中国银屑病专病质量控制与管理专家共识规范治疗2026
- 民航十五五规划
- 《土木工程智能施工》课件 第1章 绪论
评论
0/150
提交评论