高二信息技术选修1数据与数据结构第三节语句教学设计_第1页
高二信息技术选修1数据与数据结构第三节语句教学设计_第2页
高二信息技术选修1数据与数据结构第三节语句教学设计_第3页
高二信息技术选修1数据与数据结构第三节语句教学设计_第4页
高二信息技术选修1数据与数据结构第三节语句教学设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

高二信息技术选修1数据与数据结构第三节语句教学设计本课面向高中二年级信息技术学科新授课,教材对应浙教版选择性必修《数据与数据结构》中“语句”一节。学生已经认识数据、变量、常量与基本数据类型,也知道程序不是随手敲出的符号,而是围绕问题求解组织起来的有限步骤。本节的任务不是单纯讲清赋值、分支、循环的语法外形,而是让学生在建构数据结构之前先建立一个关键判断:语句是把数据结构安排到时间轴上的手段。数组、栈、队列、链表尚未系统展开,但学生马上要学习这些结构,若没有“语句如何改变数据状态”的经验,后续结构操作会退化为背代码。基于此,本课以“给一班学生的体测成绩做可复查的统计”为主线,把三类基本语句放进同一项任务里,让学生在改写、调试、比较中看见顺序结构保证先后、分支结构处理差异、循环结构压缩重复。课程标准强调用计算机解决问题时形成抽象、分解、建模与算法表达能力。本课将这一要求落到三处可操作的行为上:能把生活任务拆成可执行步骤,能为每一步选择合适语句,能依据运行证据修正模型。课堂不追求覆盖Python全部语法细节,而追求学生离开教室时手里带走三样东西:一张语句选择判断卡,一个可运行的成绩统计脚本,一套用于解释程序行为的口头表达句式。教师评价不再只问“运行对不对”,更追问“哪条语句让数据发生了变化”“换成另一种数据规模,这段程序是否仍然清楚”。一、教材内容的再组织教材中的“语句”容易被教成术语罗列:什么是表达式语句,什么是条件语句,什么是循环语句,最后配几道模仿题。这样的处理caught了语法外壳,却放走了本节最有价值的内容——控制流与数据状态之间的对应关系。高中选修1的定位决定了学生不能只会在解释器里输入print,而要知道程序在每一行之后“记住了什么、丢掉了什么、准备走向哪里”。因此,本课将内容重组为四个层次:第一层是执行,弄明白语句是有方向的动作,不是装饰性文本;第二层是状态,认识变量在顺序语句中被持续改写;第三层是选择,理解条件让同一段程序对不同数据产生不同路径;第四层是复用,发现循环把同类加工归纳成可维护的模式。四个层次共用一组数据:某班十名学生的体能测试得分存放在列表scores中,另有一个计数变量passed、一个总分变量total、一个标记变量max_score。数据量故意不大,保证学生能在头脑里追踪;又故意出现重复值、边界值与非法值,让分支和循环非用不可。课堂中的每一句代码都必须回答两个问题:它作用于哪份数据;它让程序下一步走到哪。这种提问方式把语法课改造成算法启蒙课,也为后续学习遍历列表、入栈出栈、队列调度埋下统一语言。与原教材序相比,本设计把“输入输出语句”前置到热身环节,只承担沟通功能;把“复合语句与代码块缩进”放到调试环节中自然出现,不提前孤立讲授;把“break与continue”压缩为拓展阅读,避免新授课一次塞入太多分支出口。取舍依据来自课堂观察:高二学生对缩进的错误并非不知道规则,而是没有形成“同一块语句共同进退”的整体感;当任务中需要让多条语句在条件成立时一起执行,缩进的意义会自己长出来。二、学情判断与可能误区授课对象完成过必修模块中算法与程序设计初步学习,能识别变量名,能模仿写出简单print与input,也接触过if与for的零星用例。优势在于他们不怕屏幕,愿意试;短板在于把“能跑”误认为“理解”,把报错当成情绪事件而不是定位线索。常见误区有五类。其一,把赋值号当成数学相等,看见total=total+x会困惑“两边不一样怎么能等于”。其二,把条件分支当成语音命令,以为写下ifscore>=60之后程序会自动持续关注所有分数。其三,循环边界含糊,range(1,n)与range(1,n+1)的差别靠猜。其四,读程序时只看第一行和最后一行,中间状态不追踪。其五,调试依赖删改运气,缺乏最小复现意识。针对这些误区,教学不采用“先纠错后讲解”的批评路径,而采用“先暴露后命名”的路径。学生写出total=total+x迟疑时,教师不急着解释,而让全班用便利贴模拟内存盒子,亲手把旧值覆盖;学生对range边界摇摆时,不给结论,先运行三组小数据并让他们在表格里填实际访问到的下标。误区的价值在于它揭示了学生脑中已有的模型,教师的工作是让旧模型在新证据面前失衡,再提供更能解释现象的语句观念。三、教学目标知识与理解目标定为:说出顺序、选择、循环三类语句在程序执行中的不同作用;解释赋值语句作用下变量状态被更新的过程;辨认代码块缩进所表达的整体执行关系;说明while与for在已知次数与未知次数场景中的选择依据。表述刻意避开“掌握、熟悉”一类含糊词,改用可观察动词,便于课堂即时取证。过程与方法目标定为:面对一组成绩数据,学生能独立完成“明确数据—选择语句—预测状态—运行验证—口头解释”的闭环;当结果与预测不一致时,能借助打印中间值或断点观察把问题缩小到一条语句;能把重复三次以上的加工过程改写为循环,并说明循环变量、终止条件与体内部件各自承担的角色。思维与品质目标定为:体会算法表达中的节制,即能少写一个分支就不制造noise;认识程序清晰性高于炫技,命名、缩进、注释都是为后来阅读者负责;在处理含有非法输入的数据时,形成不轻易崩溃、不悄悄吞错的工程态度。信息社会责任落在隐私边界上:课堂成绩数据全部匿名化,学生讨论程序优劣时指向代码而非同学个人。四、重点难点与破解支点重点是三类基本语句与数据状态变化之间的对应关系。难点有二:一是循环不变量的直觉建立,学生要知道循环体每次执行前后有什么性质被保持;二是分支嵌套时的阅读顺序,能否按条件树而不是按物理行号理解程序。破解支点不是更多讲解,而是三张工具:状态跟踪表、路径覆盖卡、最小改动单。状态跟踪表记录每个关键变量在语句执行前后的值;路径覆盖卡要求每组测试用例至少触达每个分支一次;最小改动单规定调试时一次只改一处,并写明预期。工具看似朴素,却迫使学生把思考外化,教师才能看见思维在哪里打滑。为突破循环不变量,本课不急着引入形式化术语,而用“每次结束都心里有数”的朴素说法过渡。以求和为例,循环开始前s=0,进入第i次时,s应当保存前i1项之和;循环体执行s+=a[i]后,s保存前i项之和。学生若能在白板上手写这两句话,再对照代码,就初步理解了后续证明排序、查找正确性时反复使用的思想,只是此时不必冠以名词。五、教学环境与课前准备机房保证一人一机,安装稳定版Python解释器与统一代码编辑器,关闭无关联网入口,保留本地运行与投屏。教师端准备三份材料:匿名成绩数据文件scores.csv、课堂任务单、可折叠的“语句选择三问”卡片。卡片正面只印三句话:要加工的数据是什么;这一步是否所有数据都做同样的事;重复出现的动作能不能用边界说清楚。背面空白,留给学生写自己的判断。课前五分钟,机位屏幕显示同一个提示:今天不比赛谁先敲完,比赛谁能说清每一行让数据变成了什么。分组自愿与调配结合,四人一组,角色分别为记录员、运行员、质疑员、汇报员,半课后轮换。角色不是头衔,运行员负责敲,质疑员必须每轮至少提出一个“如果输入变成……会怎样”的问题,记录员填状态表,汇报员在展示时用一句话概括本组最关键的一次修改。这样既避免能者包办,也让沉默学生被制度性拉入思考。六、教学过程(一)情境进入:一张不能手改的成绩表上课铃响后,教师不打开课件,直接在黑板写下十个数:82,57,91,60,60,48,77,95,60,3。随后说明:这是某项目抽测成绩,3是设备异常造成的标记,按规则不能参与平均;60为合格线;学校要求输出三项结果——有效人数、合格人数、有效成绩平均分。任务看似小学算术,但教师追加限制:不得用计算器,不得用纸笔算出最终答案再誊写,只能写一段程序,并且程序要经得起换一批数据重跑。学生第一反应多半是笑,认为十个数口算都行。教师顺势拧紧螺丝:若是一千个样本呢;若异常值不止一个呢;若合格线临时改成65呢。三个追问把焦点从答案推向适应性。此时板书只留下一个空框架,顺序列出四行注释:读入数据;筛选有效;累计分流;输出结论。学生看到注释后发现,真正难的不是加减,而是让计算机在没人帮助的情况下自己走完每个数据。教师给两分钟静默构思,不允许讨论。静默的价值在于让每个学生先建立个人版本,再进入交流,避免讨论被最快声音占领。两分钟后随机请三人用自然语言说步骤,教师只复述不评判,并把三种说法并排写在黑板左侧。差异自然出现:有人先求和再剔除异常,有人边读边判断,有人想先排序。教师指出,今天不选谁最聪明,而要回答哪条路能被语句清楚承载。(二)探究一:顺序语句不是流水账,而是状态接力教师示范最小片段:total=0count=0score=82total=total+scorecount=count+1投屏逐行执行,学生观察变量窗口。关键提问只有一句:第四行结束时,total左边这个名字指向的是什么。学生初答“还是total”,教师要求精确化:名字仍在,盒子里的数已经从0变成82。接着把score改成3,再执行相似两行,让学生预测后运行,确认total被污染。由此引出本课第一条原则:顺序语句负责建立可靠起点,之后每一步都以前一步留下的状态为粮食。若起点含义不清,后面的分支再漂亮也会算错。学生动手完成热身体验:给定列表data=[82,57,91],手写三行到五行程序,使运行后total为三个数之和,count为3。多数人轻松完成。教师立即把data换成[82,57,91,3,48],要求total只能是有效成绩之和。此时纯顺序语句开始吃力,因为第四个数要跳过,第五个又要保留。学生会发现,仅靠从上到下逐条书写无法表达“满足条件才累计”。认知冲突被有意制造出来,分支语句的登场就不是教师宣布,而是任务逼出来的。(三)探究二:分支语句让数据走不同路教师给出判断骨架,故意留空:ifscore>=0:passelse:pass学生先讨论pass该替换成什么,再讨论条件为什么写成score>=0而不是score>0。数字0是否有效在本任务中规定有效,讨论促使学生读懂题目边界。接着引入合格筛选:ifscore>=60:passed=passed+1教师追问:不合格的要做什么。部分学生说不用写else。这里组织一次微型辩论:写else:pass与省略else有何差别。结论是运行结果相同,但阅读承诺不同。省略表示“这种情况无需动作”,写上空else是在提醒读者“我考虑过它没有动作”。初学阶段建议显式考虑,熟练后再删繁就简。这个细节把语法选择上升到表达责任。随后引入异常与合格的双重判断,学生自然写出嵌套:ifscore>=0:total=total+scorecount=count+1ifscore>=60:passed=passed+1else:bad=bad+1投屏展示两组学生作品:一组如上嵌套,一组写成连续三个独立if。班级用同一组测试数据比较,结果在普通数据上一致,但阅读成本不同。教师请学生用路径覆盖卡列出触达情况:有效且合格、有效不合格、无效。三组路径成为评价分支是否完备的硬标准,而不是老师感觉乱不乱。学生由此理解,分支结构的核心不是if这个单词,而是所有可能输入都被安排到确定出口。(四)探究三:循环把重复劳动交给边界当数据从五个扩到一百个,逐个写if明显荒谬。教师不演示for全语法,只抛出问题:哪些字在每个有效成绩上重复出现。学生在先前代码中圈出score、total、count、passed、bad,发现动作相同,原料不同。于是循环被定义为“同一动作对不同数据成员的批量拜访”。展示代码:total=0count=0passed=0bad=0forscoreinscores:ifscore>=0:total=total+scorecount=count+1ifscore>=60:passed=passed+1else:bad=bad+1运行后得到十人样本结果,学生再改scores内容重跑,验证同一文本适配新数据。教师把话题推向边界:若改用while,需要谁负责前进。学生改写为:i=0whilei<len(scores):score=scores[i]同样的分支i=i+1故意漏掉i=i+1,机房出现死循环。教师让学生观察光标不动、风扇变响、输出停滞这些现象,再恢复语句。死循环不再被讲成可怕事故,而是“终止条件无人推进”的直观证据。接着比较for与while:集合已摆在面前,用for更短;何时碰到停止信号不确定,用while更诚实。学生在这一对比中形成选择标准,而非背“for用于循环次数已知”。(五)整合任务:写出能答辩的统计程序经过三轮探究,小组回到完整任务。任务单要求四项:从文件读入scores;剔除小于0的异常;统计有效人数、合格人数、有效平均分;输出每个分项及一段不超过三十字的中文说明。评分不看重界面,却硬性要求附一张状态跟踪表,至少记录前五次循环中score、total、count、passed、bad的变化,并标注两次分支走向。教师巡视时不直接改错,只问三类问题:你现在怀疑哪一行;你用什么输入能最快的证明怀疑;这次改动会影响哪个已经正确的结果。学生最典型的失败有两种。第一种把平均分写成total/len(scores),忘记异常值已剔除;状态表会让count与len的差距显形。第二种把合格人数放在外层ifscore>=0之外,导致异常成绩也可能影响合格计数;路径覆盖卡会暴露bad与passed同时增加的不可能事件。教师在此不急于公布正解,而请出错的组把现象、猜测、证据、修正四步说完整。说清失败比复现成功更花时间,但这正是正高级课堂应有的耐心:错误被加工成公共资源。(六)展示评议:用同一把尺量不同写法四组代表展示,屏幕左侧放代码,右侧放状态表。评议用先行约定的三问:数据是否都被安排;分支是否互斥且穷尽;循环边界能否用一句话说清。第一组代码简洁但缺少异常说明,质疑员指出输出里平均分漂亮却没有交代剔除了几人;第二组注释详尽但变量命名含混,a、b、c让读者频繁回滚;第三组把合格线60写死在多处,教师现场把合格线改成65,结果需改动三处,埋下魔数风险;第四组定义pass_line=60,只改一处即通过。班级投票不是选最酷,而是选“下次被别人接手最省心”的版本。教师小结时不重复概念,而在黑板生成一份集体版本,保留学生命名中的亮点,如valid_count比count更准,invalid_mark比bad更友好。集体版本旁写一句提醒:清晰不是天赋,是一次次替读的人省步骤。学生把这句话抄进任务单边角,作为本节真正要带走的专业习惯。(七)课堂收束:三句话离开机房下课前五分钟,学生独立补完卡片背面:顺序语句让我确定先后,分支语句让我处理差异,循环语句让我压缩重复;我还不能把____说成清。收卡片作为形成性评价。教师不宣布标准答案,只预告下一节将把这些语句用于更有结构的数据,今日的scores会被改造成可增删的容器。悬念为选修1后续内容开门,也让本节语句获得方向感:它不是终点语法,而是组织数据的操作语言。七、板书设计主板书呈现一条纵线:数据进入—状态建立—差异分流—批量加工—结论输出。左侧写三类语句及其关键词,右侧写学生现场生成的反例与修正。中央保留空位写集体版本核心片段:pass_line=60total=0valid=0passed=0invalid=0forscoreinscores:ifscore>=0:total+=scorevalid+=1ifscore>=pass_line:passed+=1else:invalid+=1板书不追求花哨导图,而保留修改痕迹,擦掉错误处留淡影,让听者知道课堂结论来自替换与争辩。右下角写评价三问,左上角落一行小字:先让人读懂,再让机器运行。八、作业与分层延展基础层要求完成程序并提交状态表,数据换成二十个含两到三个异常值的成绩。进阶层要求把合格线、有效下限改为程序开头可配置变量,且用户输入非法合格线时给出提示而不是崩溃。挑战层不提供新语法答案,只给问题:若成绩流源源不断到来,无法一次性装进列表,哪些统计量仍能边来边更新,哪些必须等待全部到齐。该问悄悄指向后续队列与在线算法,允许学生用自然语言猜想,不要求代码实现。作业评价坚持两条:可运行只是门槛,可解释才分高下;凡复制网络代码而不能回答“这行让什么变了”的,按未完成思辨部分处理。教师批改不只划对错,而在状态表空白处写一句最紧要追问,促使学生下次主动缩小疑点。九、评价量规量规分四维,每维三档。语句适切维度:优秀表现为同一任务中顺序、分支、循环各司其职,无多余分支,无潜在死循环;合格表现为功能正确但有绕路;待改进表现为靠重复粘贴硬凑。证据维度:优秀表现为测试用例覆盖有效合格、有效不合格、无效三类,并能预测结果;合格表现为只测正常数据;待改进表现为运行一次通过即提交。表达

温馨提示

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

评论

0/150

提交评论