高一信息技术必修1《综合问题的解决-以校园图书漂流管理系统为例》教学设计_第1页
高一信息技术必修1《综合问题的解决-以校园图书漂流管理系统为例》教学设计_第2页
高一信息技术必修1《综合问题的解决-以校园图书漂流管理系统为例》教学设计_第3页
高一信息技术必修1《综合问题的解决-以校园图书漂流管理系统为例》教学设计_第4页
高一信息技术必修1《综合问题的解决-以校园图书漂流管理系统为例》教学设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

高一信息技术必修1《综合问题的解决——以校园图书漂流管理系统为例》教学设计一、教学设计的立意与依据《数据与计算》必修模块的最终落脚点,不是让学生记住多少语法规则,而是让学生在真实情境中经历"分析问题—设计方案—编程实现—测试优化"的完整过程。教科2019版教材第4.4节"综合问题的解决"正是全书的收束课,它把前三章的数据、算法与程序设计语言知识拧成一股绳,指向计算思维这一学科核心素养的最高层级。本课的设计遵循三条原则。第一,问题是真问题。校园图书漂流活动在许多学校真实开展,却普遍停留在纸质登记阶段,查找费力、追索无门、统计空白,学生的痛点就是教学的起点。第二,过程是真过程。学生踢完一节课的代码,最后能跑出一个可用的程序,哪怕简陋,亲手做出的成就感远胜听懂十种算法。第三,思维是可见的。通过结构图、流程图、任务分解表把思维外化,让同伴能看懂、能指出、能改进。二、学情分析授课对象为高一年级学生。经过前三章学习,学生已具备以下基础:理解常量、变量及整型、浮点型、字符串、列表等基本数据类型;掌握顺序、选择、循环三种基本结构;会用for循环遍历列表,会用if语句进行条件判断;初步了解文件的基本读写操作。多数学生能独立编写二十行以内的小程序。学生的短板同样清晰。一是面对稍大的问题容易"蒙头就写",缺乏分解意识,程序越写越乱;二是对数据结构设计缺乏自觉,习惯于用多个并列变量勉强凑合,不会主动选用列表嵌套字典来组织数据;三是调试能力薄弱,遇到报错只喊老师,不会读错误信息。这些短板正是本课要正面突破的。三、教学目标1.信息意识:能敏锐识别校园生活中的数据处理需求,判断哪些问题适合用程序解决,判断数据从哪里来、以什么形式存储。2.计算思维:能运用问题分解的方法,将"图书漂流管理"这个大任务拆分为图书登记、借阅登记、归还处理、状态查询、数据统计等子任务;能为每个子任务选择合适的算法与数据结构;能说出所选数据结构的依据。3.数字化学习与创新:能用Python语言独立或在小组协作中完成一个一百行左右的完整程序,实现基本功能并具备一定的健壮性,体验模块化编程。4.信息社会责任:在讨论用户信息和借阅记录时,形成保护他人数据、不外泄、不滥用的意识。四、教学重点与难点教学重点:综合问题的分解方法——自顶向下、逐层细化;依据功能需求选择数据结构;用函数实现模块化。教学难点:数据在多个功能模块之间的组织与流动,即一个全局的数据结构如何被登记、借阅、归还、查询等函数共同读写,并保持数据的一致性。五、教学准备硬件环境:每生一台联网计算机,机房安装Python3.x及IDLE,教师机配高拍仪用于展示学生代码。资源准备:教师课前用真实的漂流活动采集五十条图书数据,整理为文本文件books.csv,每行字段为:编号、书名、作者、状态、借出人、班级。另备三层脚手架代码文件:空白版、半成品版(含函数框架与注释)、完整参考版,供不同进度的学生按需取用。小组分组:每三至四人一组,组内角色建议为结构设计师、主程、测试员、记录员,每人必须实际写代码。六、教学过程(一)情境导入:漂流活动的麻烦事(约6分钟)上课铃响,教师不打开编程软件,而是出示几张照片:图书漂流角堆杂的书、写满涂改痕迹的借阅登记本、留言栏里"这本《平凡的世界》到底在谁手里"的追问。教师提问:这个问题困扰了图书委员一学期。请你在三十秒内说出,如果拿出一套软件来解决问题,它至少要做哪三件事?学生自由发言,教师只在黑板上关键词式记录:知道有什么书、知道书在谁手里、方便借还。随后教师亮出本节课任务:用我们已经学过的全部知识,写一个真正能用的图书漂流管理程序,下节课用它接管图书角。任务的验收不是老师看一眼,而是图书委员实际操作一遍。设计意图:真实使用者作为"验收员",是学生前未曾有的压力与动力。把任务的终点交给真实用户,能防止学生把编程作业当成交差的练习。(二)问题分解:把大象装进冰箱(约8分钟)教师投影示范分解图,但不替学生完成,而是带着学生一起做一遍。第一步,学生先用便利贴写出"这个程序该做的每件事",想到什么写什么,每组至少八张。第二步,组内归并同类,把效贴聚成几簇,给每簇命名。绝大多数小组会自然而地得出五个簇:图书录入、借阅、归还、查询、统计。第三步,教师引导追问两个问题。其一,这些功能"谁是先决的"——没有图书数据,借阅无从谈起,于是数据初始化成为底层;其二,其中哪个功能最核心——借阅与归还是系统的灵魂,其余为之服务。每组在黑板上贴上本组的分解图,教师选两张有代表性的对比点评。学生会发现:同一问题可以有不同的切分方式,只要逻辑完整、互不重叠,都是合理的方案。这一步的结论是,分解没有标准答案,但有高低之分——标准就是"每一层都做得到、测得出"。(三)数据结构设计:决定程序气质的一步(约8分钟)程序好不好写,一半取决于数据放进什么容器。教师不直接给答案,而是抛出三个递进的问题。问题一:一本书有哪些属性?学生列出编号、书名、作者、状态、借出人、班级,共六项。问题二:这六项用什么装?回顾旧知,学生得出结论:一个字典,键是属性名,值是属性值。问题三:五十本书呢?学生答:一个列表,列表里装五十个字典。于是数据结构在学生的推理中成型:一个列表,每个元素是一个字典,一部书一例。教师追问备选方案——能不能用六个并列的列表,一个装编号,一个装书名?学生讨论后会自己推翻:那被叫"拆了骨头的数据",借阅一本要同步改三个列表,极易错位。教师顺势小结:贴近现实结构的字典加列表,是这类管理类程序的常规选择。接着处理数据的持久化。程序关闭,数据不能丢,所以选csv文件作为存储:启动时读入,把每行变成字典挂进列表;退出或保存时写回。这里教师只演示一次读写样例代码,不展开讲授,让学生在后续参照。(四)任务一:搭骨架(约7分钟)教师明确本轮只要求完成程序的"地基":第一,写一个加载函数load_data(),把csv读成字典列表;写一个保存函数save_data(),把列表写回文件。第二,写一个主循环,显示菜单:1登记新书、2借书、3还书、4查询、5统计、0退出,用whileTrue加ifelifelse构筑,用户输0退出。教师强调骨架阶段的检查点只有一个:菜单能反复出现、能正常退出、文件能读出并提示书有几种。每组的测试员负责执行检查。十组学生中约半数会在这里碰到第一个常见错误——读文件时字符串末尾带换行符,导致查询永远匹配不上。教师不直接告答案,而是提示"把读到的字符串前后套上星号打印出来看看",学生会发现多出来的空白,自行引入strip()。这个自主排错过程比教师事先叮嘱十遍都有效。(五)任务二:借与还——系统的灵魂(约10分钟)本环节攻克最核心且最易出错的功能。教师先带全班推演借书一个分支的逻辑:借阅操作的本质是"改变一本书某个字段的值",前提是该书当前状态为"在架"。由此借书函数的逻辑为:输入编号→遍历列表找到对应字典→判断状态字段→若可为借,把状态改为"已借出"、填写借阅人与班级,显示成功;若已被借走,提示当前持有者是谁;若编号不存在,提示查无此书。归还函数与之对称,额外加一个校验:输入的借阅人与登记的要对得上,否则提示"这书不是从你这借的"。学生分层推进:基础较好的组从空白写起;有困难的组打开半成品版,半成品中函数名和注释已写好,只缺核心判断与赋值语句。教师巡视,主要盯三件事:判断写没写反,字段改没改全,函数之间数据有没有传对。组内测试员开始发挥作用:故意连续借同一本书两次,看第二次是否被拒绝;故意还一本自己没借的书,看是否被拦下。测试驱动反过来发现了大量隐性错误。(六)任务三:统计与查询——让数据说话(约6分钟)查询功能:按书名关键字模糊查找,用in判断目标字符串是否包含在书名字段中,把命中的书逐行列出编号、状态、持有者。统计功能:输出总数、在架数、借出数,再算出借阅率,即已借出次数占总数的百分比,结果保留一位小数。学生借此机会复习遍历、计数器与格式化输出。此时有能力的组,教师给出拓展题:增加"谁借书最勤快"排行榜,按借阅次数给借阅人排序,前三名列出。用字典按人计数再排序即可实现。拓展题不设为必做,作为分层教学的自然出口。(七)成果验收:图书委员来签字(约5分钟)每组派运行本组程序的电脑供现场试用,教师扮演判断有方的用户,随机提出三个操作要求:找一本书并借走、还一本刚才借的、看一眼目前借出了几本。验收标准简洁而严格:三步操作无一出错,菜单清晰不需要口头指导,就算通过。通常情况下约半数小组当场通过,未通过的小组由教师记录主要缺陷,作为下节课的开篇修复任务。通过与否并不决定评价高低,课堂讲评中会说明:能体面地展示缺陷本身就是高水平的表达。(八)课堂小结:从写代码回到想问题(约3分钟)教师带领学生回看上课伊始的黑板记录,把今夜完成的工作按四个词贴回原位:分解、数据结构、函数、调试。小结的焦点落在两句话上。其一,综合问题的解决没有一个命令叫"解决",只有拆解后一个个都能解决的小问题。其二,决定程序上限的不是你会多少语法,而是你能不能在一开始想清数据的样子。七、板书设计板书采用三栏式。左栏:问题分解树——从"图书漂流管理"到五个子功能。中栏:数据结构——列表装字典的示意,一本书画出字典的六个键值对。右栏:借书函数的决策框——在架才可借,三个分支出口。板书随教学进程累积完成,下课时保留全图供学生拍照回顾。八、作业设计基础作业:将课堂程序完善至验收标准,逐行加注释,注明每一功能的输入、处理、输出。提高作业:增加"借阅日志"功能,每笔借还操作追加写入logs.txt,记录日期、操作类型、某人、某书,使系统的每一次行为有迹可循。挑战作业:统计近一月最受欢迎的十本书,用星号柱状图在终端内可视化输出。九、教学反思本课把"验收"交给真实用户,是整节课设计中最重要的一笔。过去上综合实践课,学生的代码只要"能跑"就交差,而引入图书委员作为验收人以后,学生主动考虑界面是否友好、提示是否清楚、异常有没有兜底,即开始有了"用户"的观念,这正是软件工程意识在中学课堂的最初萌芽。时间分配上,数据结构设计环节往往显松,实则必要,宁可压缩统计环节也要保证这一环节聊透。巡视中还要留意,小组内容易出现"主程包干、他人旁观"的现象,用角色分工表加随机提问的方法牵制,保证每人都动手

温馨提示

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

最新文档

评论

0/150

提交评论