高中信息技术必修一4.1编制计算机程序解决问题教学设计_第1页
高中信息技术必修一4.1编制计算机程序解决问题教学设计_第2页
高中信息技术必修一4.1编制计算机程序解决问题教学设计_第3页
高中信息技术必修一4.1编制计算机程序解决问题教学设计_第4页
高中信息技术必修一4.1编制计算机程序解决问题教学设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

高中信息技术必修一4.1编制计算机程序解决问题教学设计一、教学背景与教材分析本课选自粤教版高中信息技术必修一《数据与计算》第四章第一节,是整个模块由“认识数据”走向“用程序加工数据”的关键节点。在此之前,学生已经历了数据采集、编码与数字化表达的学习,对二进制、字符编码、图像与声音的数字化有了基本认识,但“计算机如何按照人的意图自动处理问题”这一核心问题尚未揭开。本节内容以编制计算机程序解决问题为主线,承担三重任务:一是帮助学生理解计算机程序的本质,即按确定步骤组织起来的、可被计算机执行的指令序列;二是让学生经历分析问题、设计算法、编写程序、调试运行的完整过程,初步形成用计算思维解决问题的路径依赖;三是借助Python语言的具体实践,消解学生对“编程高深难学”的心理壁垒,为后续算法与程序实现的深入学习奠定情感基础与经验基础。粤教版教材在本节的编排上颇具匠心,以“设计从A市到B市耗时最少的旅行路线方案”为情境主线,引出人工求解的局限,进而引导学生体会程序求解的优势。这一情境贴近学生生活,数据关系清晰,既有穷举比较的思维含量,又不至于因数学难度过高而冲淡学科本体。教学设计应尊重教材的这一处理逻辑,同时结合校情学情加以改造,使情境更真实、任务更有梯度。二、学情分析授课对象为高一年级学生。从知识储备看,学生在义务教育阶段的信息科技课程中接触过图形化编程工具,部分学生有Scratch或课外编程班的经历,能用拖拽积木的方式实现简单交互,但对文本化编程语言普遍陌生,对变量、表达式、顺序结构等概念缺乏严谨认识。从思维特征看,高一学生抽象逻辑思维正处于快速发展期,能够进行假设—检验式的推理,但把现实问题转化为形式化语言描述的能力尚弱,容易在“问题到算法”这一环节卡壳。从学习心理看,学生对编程抱有既好奇又畏惧的矛盾心态:一方面羡慕能写代码的同龄人,另一方面担心数学不好就学不会编程。这些特点决定了本课不能一上来就灌输语法规则,而应当让学生在真实问题的驱动下,先体验“程序替我跑腿”的成就感,再回头理解程序的构成要素,最后通过改写、补全、纠错等低门槛任务建立编程信心。教学中还需关注个体差异,为学有余力的学生预留拓展空间,为基础薄弱的学生搭好脚手架。三、教学目标第一,通过对比人工计算与程序运行的过程,归纳计算机程序的基本特征,说出程序是计算机执行指令、自动化处理信息的载体,理解计算机程序解决问题的基本过程包括分析问题、设计算法、编写程序、调试运行与检测结果五个环节。第二,在具体任务中认识Python语言的基本要素,理解变量、常量、运算符与表达式的含义,能读懂并修改简单的顺序结构程序,能在教师提供的半成品代码基础上补全关键语句,完成数据的输入、处理与输出。第三,经历从实际问题出发抽象出数据模型并编制程序求解的完整活动,初步形成利用计算机程序解决问题的意识,体会计算思维中抽象与自动化的价值。第四,在小组协作编题、相互测试程序的过程中,养成严谨、规范的编程习惯,认识到程序中的任何一处疏漏都会导致结果错误,培育对技术精益求精的态度。四、教学重点与难点教学重点:计算机程序解决问题的基本过程;Python语言中变量、运算符、表达式等基础要素的理解与运用。教学难点:将实际问题的求解思路转化为程序可以执行的指令序列,即完成从“人的解法”到“机器的做法”的抽象跨越;调试程序时定位错误并修正。突破难点的策略是“双轨并行、往复对照”:每讲解一段程序,都让学生先用自己的语言复述这段代码“替我们做了什么”,再观察运行结果是否符合预期;每当出现报错,都引导学生沿报错信息逆向阅读代码,把调试变成一种常态化的探究活动而非挫败体验。五、教学准备与教学环境硬件环境为配备多媒体教学一体机的计算机教室,学生机一人一机,安装Python3.x解释器及轻量级代码编辑器,教师机安装课堂管理软件以便广播演示与锁屏讲解。课前教师需准备的资源包括:半成品代码文件若干(对应三个梯度的课堂任务)、预设了若干典型错误的“问题程序”文件、导学任务单、课堂自评量表。任务单上印有学习目标、任务描述、关键算法提示的留白区域,供学生记录分析问题阶段的思路。为防止个别学生课前遗忘义务教育阶段所学,教师可提前三天在班级学习空间发布一段三分多钟的图形化编程回顾微视频,供学生自主观看。六、教学过程(一)情境导入:一道算到令人怀疑人生的题上课伊始,教师在大屏上呈现问题:学校计划组织研学活动,从本市A站出发前往B市,两地之间没有直达线路,需在中途城市换乘一次。可选的中转城市有三个,任意两个站点之间的票价与耗时已在表格中给出,换乘的衔接等待时间也已列出。请同学们用笔算找出全程耗时最短的方案。学生动笔约两分钟后,教室里陆续出现正确答案。教师追问:“刚才这道题只有三个中转城市,每个城市之间只有几组数据,大家尚且算了两分钟。如果是全国三百多个地级市之间的任意两点查询呢?如果还要同时考虑票价最低、耗时最少、换乘次数最少三个目标呢?”学生自然意识到,数据规模一旦膨胀,人工计算便不堪重负。教师顺势点题:我们能不能把刚才脑子里那套“列举所有组合、逐个计算、比较择优”的做法,原原本本地交代给计算机,让它替我们去算?这套“交代给计算机的做法”,写成计算机能懂的形式,就是程序。今天这节课,我们就来完整地走一遍编制计算机程序解决问题的路。这一导入设计意图在于,让学生先亲身感受人工求解的繁琐,由切身的“累”产生对程序自动化价值的真实认同,避免空泛地说教“编程很重要”。(二)新知建构一:什么是计算机程序教师不发一言,先在大屏上运行一段预先准备好的程序:屏幕提示输入起点、终点与中转站及各段耗时,程序瞬间输出最优换乘方案及总耗时,并附带一句“祝您旅途愉快”。学生目睹程序在一秒内完成了自己两分钟的工作,认知冲突已然形成。教师提问:这个看不见摸不着的“帮手”,到底是什么?引导学生结合刚才的观察与教材阅读,尝试用自己的话定义程序。学生发言后,教师将散落的表述提炼为:计算机程序是为实现特定目标而设计的一组计算机可以识别和执行的指令序列,程序里写的每一步,对应我们解决问题方案里的一个动作。接着,教师带领学生回顾计算机解决问题的五个环节:分析问题、设计算法、编写程序、调试运行、检测结果,并特别强调前两步属于“人脑的工作”,计算机在第四步才真正登场。为了让学生体会“分析不清,程序必错”,教师展示一个反面案例:某位同学编写程序计算平均分,却因为没想清楚“缺考记零分还是不计入”而写出逻辑错误的代码,结果全班平均分凭空高出两分。案例让学生明白,程序只是忠实地执行,想法错了,执行得越卖力错得越离谱。(三)新知建构二:认识程序的“细胞”——常量、变量与表达式教师将刚才运行的程序源代码投屏,不急于逐句讲解,而是让学生用一分钟“围观”这段代码,找出自己认得的部分和完全看不懂的部分。学生普遍能认出print、input的直观作用,对赋值语句半懂不懂。教师从学生熟悉的数学等式切入,引出变量的概念:程序中的变量,与我们数学课上的字母有相似之处,都代表一个值,但有一个关键差别——变量是内存中的一块“储物格”,同一个格子里的东西可以被换掉。教师用赋值语句作演示:先让变量存储一段耗时,再让它存储另一段耗时,最后用print输出查看,格子里的旧值已被新值覆盖。学生在亲眼所见中理解“赋值是从右往左看”这一初学者最易混淆的规则。随后讲解常量:程序中直接书写、运行期间不变的量,如票价表中的具体数字。再讲运算符与表达式:加、减、乘、除四则运算在Python中的写法,整除与取余运算的用途,以及表达式作为“会被算出结果的式子”这一本质。每讲一个知识点,教师都让学生在编辑器中亲手敲入一行最简代码并运行验证,贯彻“讲一点、练一点、见一点”的节奏,避免满堂灌。此处教师刻意演示一次报错:在输入语句得到的字符串上直接做加法,程序报出类型错误。教师不直接给出答案,而是问学生:“报错信息是敌人还是朋友?”引导学生阅读报错行号与错误类型,再用类型转换函数修复。这一插曲为后面的调试环节埋下伏笔。(四)探究活动:经历程序解决问题的完整过程本环节是课堂的主体,约二十分钟,采用“教师搭台、学生唱戏”的组织方式,任务呈三级梯度。任务一,读程序,猜功能。学生拿到一段完整代码,功能是计算并输出两种备选出行方案的耗时差值。要求是不运行程序,先小组讨论逐行解读,预测输出结果,再运行验证。此任务训练的是程序阅读能力,程序阅读是程序写作的前提。任务二,补程序,完功能。教师提供的代码被挖去三处空:一处缺赋值语句,一处缺表达式,一处缺输出语句。学生参照任务单上的算法提示补全缺失语句,使程序能输入三段路程的耗时与两次候车时间后,输出全程总耗时。此任务模拟真实编程中的“脚手架”策略,让学生在不必从零开始的条件下体验代码写作的规范与手感。任务三,改程序,解新题。题目升级为:某段铁路对学生票打五折,请修改程序中的表达式,使输出的费用比较结果反映学生票价。此任务只改动一两行代码,却要求学生完整经历“分析新需求—定位需修改处—修改—运行—用多组数据检验”的循环,是五个环节的微缩演练。小组活动过程中,教师巡视并用简短话语点拨:对卡住的组,问“你们想让它做的事,用人话说是什么”;对提前完成的组,抛出拓展挑战——让程序自动比较两个方案并输出哪个更优,而不是把两个结果都打印出来让人眼看。分层设计使不同水平学生均有收获。各组完成后,教师选取两份有代表性的作品投屏讲评:一份补全正确但变量命名随意,教师引导全班讨论“看得懂的名字和看不懂的名字,哪个更值得写”;一份在费用计算中漏了括号导致运算顺序错误,教师借此强调计算机严格按运算优先级执行的“刻板”,程序表达容不得半点含糊。(五)调试门诊:把错误变成教学资源教师发放预设了三处典型错误的“问题程序”,三处错误分别属于语法错误(括号未成对)、运行时错误(除数可能为零)与逻辑错误(比较大小写反了)。学生以两人为一组担任“程序医生”,填写“诊断单”:错误现象、怀疑位置、修改方案、验证结果。这一环节的关键在于教师对三类错误的归纳:语法错误,解释器会直接“罢工”并指出大致位置,最好对付;运行时错误,程序跑起来才“翻车”,往往与特殊数据有关;逻辑错误,程序照跑不误,结果却错了,最隐蔽也最危险,只能靠设计合理的测试数据去捉。学生由此理解,程序编写完成绝不等于问题解决,检测是流程中不可省略的一环。(六)归纳提升:梳理程序解决问题的过程课堂尾声,教师不做单向总结,而是请学生合上课本,在任务单的流程图留白处独立补画程序解决问题的五个环节,再与同桌互查。随后教师以一句话收束全课:今天的程序还很小,只有顺序执行一条路;下一节我们将让程序学会做判断、做重复,解决更复杂的问题。但万变不离其宗,分析问题在前,编写代码在后,这一条主线请大家烙在心里。最后教师布置分层作业。基础性作业:用今天的知识编写一个程序,输入自己的出生年月日与当前日期相关的整数,输出年龄,代码中必须包含注释。实践性作业:在生活中找一个需要重复计算的小问题(如计算水电费、统计零花钱),尝试用程序解决,记录自己在调试中遇到的一个错误及其解决过程,下节课用两分钟分享。拓展性作业:学有余力的同学了解程序设计语言的发展历程,思考机器语言、汇编语言与高级语言各自解决了什么问题,为下一课“认识程序设计语言”做铺垫。七、板书设计主板书以流程图形式呈现程序解决问题的五个环节:分析问题、设计算法、编写程序、调试运行、检测结果,箭头构成闭环,在“检测结果”处画一条返回“分析问题”的虚线,寓意迭代修正。副板书左侧列出本课三个语言要素——常量、变量、表达式,右侧记录课堂生成内容:学生提出的质量较高的变量命名、“程序门诊”中归纳的三类错误对照表。整节课结束后板书自然构成一张结构化知识图,学生拍照即可获得完整的课堂脉络。八、教学评价设计评价贯穿课堂始终,采用过程性评价与表现性评价结合的方式。探究活动阶段,教师依据巡视观察记录各组的合作状态与问题解决策略;任务单上嵌入了三档自评量表,学生从“能否说清程序解决问题的五个环节”“能否读懂并修改顺序结构程序”“能否独立定位并修正一类错误”三个维度给自己贴星;“程序门诊”的诊断单由同桌互评签名。教师在下节课伊始回收实践性作业,挑选有代表性的调试故事在全班分享,让评价结果回流为新的教学资源。评价关注的不是代码行数的多寡,而是学生是否真正经历了从问题到程序的思维转化。九、教学特色与反思预设本设计有三处用心。其一,以“人工计算之痛”导入,以“程序自动化之快”回应,首尾呼应,价值感的建立不依赖口号。其二,三个探究任务坚持“读—补—改”的低门槛进阶,让基础薄弱的学生始终在“跳一跳够得着”的区间活动

温馨提示

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

评论

0/150

提交评论