普通高中信息技术选择性必修《程序设计语言简介》教学设计_第1页
普通高中信息技术选择性必修《程序设计语言简介》教学设计_第2页
普通高中信息技术选择性必修《程序设计语言简介》教学设计_第3页
普通高中信息技术选择性必修《程序设计语言简介》教学设计_第4页
普通高中信息技术选择性必修《程序设计语言简介》教学设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

普通高中信息技术选择性必修《程序设计语言简介》教学设计【教材分析】本课选自中国地图出版社高中信息技术选择性必修模块《数据与数据结构》相关选修单元"走进编程"中的第四节,是学生在初步接触编程概念之后、正式动手编写程序之前的关键一课。前三节内容已经帮助学生建立了"程序是计算机执行任务的指令序列"这一基本认识,而本节承担着承上启下的桥梁作用:一方面要梳理程序设计语言从机器语言、汇编语言到高级语言的演进脉络,另一方面要引导学生理解编译与解释两种执行方式的区别,并对常见高级语言的特点形成初步判断,为后续学习Python编程奠定认知基础。教材的编写逻辑体现了"从历史看本质、从比较建概念"的思路。程序设计语言的发展史本质上是"人机沟通成本不断降低、抽象层次不断提升"的历史。如果教学只停留在罗列语言名称和发展年代的层面,学生得到的只是一堆需要死记硬背的知识点;唯有让学生亲历"用机器能理解的方式表达意图"的困难,才能真正体会高级语言诞生的必然性,进而理解"语言是工具,思想是核心"这一学科大概念。【学情分析】授课对象为高二年级选修本模块的学生。他们已经具备以下学习基础:在日常学习中接触过图形化编程工具,部分学生在初中信息科技课程中初识Python;对计算机能"听懂人话"抱有朴素的想象,但往往说不清楚计算机究竟如何执行指令;部分学生受社会舆论影响,存在"C语言过时了""学Python就够了"之类的片面观点,缺乏对语言适用场景的辩证认识。学生的认知困难集中在三处:一是"二进制指令"过于抽象,难以与日常经验建立联结;二是"编译"与"解释"的区别容易混淆;三是面对众多程序设计语言,缺少分类比较的视角。本课教学设计针对这三处困难,分别采用"情境体验""类比推理""任务驱动比较"的策略予以化解。【教学目标】通过本节学习,学生能够:1.说出程序设计语言经历的机器语言、汇编语言、高级语言三个阶段,理解语言演进背后"提高抽象层次、降低编程门槛"的内在逻辑,体会技术创新服务于人的需求这一价值观念。2.通过模拟执行机器指令的活动,亲历低级语言编程的烦琐,理解助记符和高级语法出现的意义,发展透过现象看本质的计算思维。3.借助"整段翻译"与"逐句口译"的类比,区分编译型语言与解释型语言在执行方式、执行效率、跨平台特性上的差异,并能对C、Python、Java等常见语言进行归类。4.以小组合作方式完成"为不同应用场景选择合适语言"的任务,初步建立"没有最好的语言、只有最合适的语言"的辩证观点,养成依据需求进行技术选型的意识。【教学重点与难点】教学重点:程序设计语言的发展历程及各阶段特点;编译与解释两种执行方式的区别。教学难点:理解语言抽象层次提升与执行效率、开发效率之间的权衡关系;初步形成依据应用场景选择语言的判断能力。【教学策略与方法】本课以"问题链"驱动全课,以"体验—冲突—建构—迁移"为主线组织学习活动。综合运用情境教学法、类比教学法、任务驱动法与小组合作学习。教学环境为配备多媒体演示系统与电子教室软件的计算机教室,学生人手一机,教师提前准备"机器指令体验卡""语言对比学习任务单"和课堂即时反馈问卷。【教学过程】一、情境导入:计算机听得懂什么话上课伊始,教师在大屏幕上展示一串字符:```1011000001100001```教师提问:"猜一猜,这串0和1对计算机意味着什么?"学生会有各种猜测:密码、文件、图片数据。教师不急于揭晓答案,而是继续展示第二组内容:```MOVAL,61h```再展示第三组:```print("a")```教师引导:"这三组内容,其实都在让计算机做同一件简单的事情——把一个字符送到该去的地方。第一行是计算机唯一真正能直接读懂的'话',第二行是给人稍微方便一点的'缩写',第三行则是我们今天熟悉的高级语言写法。半个世纪的时间里,人类为了让计算机更好地理解自己的意图,走过了一条怎样的路?这节课,我们来拆解'程序设计语言'这位老朋友。"设计意图:以三组等价内容的直观对比制造认知悬念,三组符号的"可读性递增"本身就浓缩了语言发展史,学生在对比中产生探究欲望,同时对本课主线"从机器语言到高级语言"形成初步的整体感知。导入控制在五分钟以内,避免铺垫过长冲淡主体内容。二、亲历体验:当一回"人肉CPU"教师向每组发放"机器指令体验卡",卡上设计了一个微型指令系统:```指令集:0001=将后面的数存入寄存器A0010=将寄存器A与后面的数相加,结果存入A0011=输出寄存器A的值任务:计算35+27并输出结果```学生需要写出完整的二进制指令序列。正确写法为:```0001001000110010000110110011```其中00100011是35的二进制,00011011是27的二进制。学生在做这一步时普遍会感到吃力:要先做十进制到二进制的换算,再严格按照指令格式拼接,稍不留神就出错。体验结束后,教师组织分享:"刚才大家花了多长时间?感觉如何?"学生普遍反映"累""容易错""算个加法都要写这么多行"。教师顺势追问:"如果有一天,有人给你提供下面这种写法,你会是什么心情?"```MOVA,35ADDA,27OUTA```学生立刻感受到助记符带来的解放。教师小结:机器语言是计算机硬件唯一能够直接执行的语言,它由二进制指令构成,优点是执行效率最高、不需要任何翻译;缺点是人们编写、阅读、调试都极其困难,而且不同型号计算机的机器语言互不相通,程序无法移植。汇编语言用助记符代替了二进制指令,大大提高了可读性,但它仍然与硬件紧密绑定,一条汇编指令基本对应一条机器指令,并且汇编写的程序必须经过"汇编程序"翻译成机器语言才能运行。教师继续讲解高级语言的诞生:上世纪五十年代,Fortran问世,程序员第一次可以写出接近数学表达式和英语的语句,比如让计算机计算两个数之和,只需写"SUM=A+B"这样的语句。一条高级语言语句往往对应几十条甚至上百条机器指令,编程的抽象层次发生了质的飞跃。此后,C、C++、Java、Python、JavaScript等语言相继涌现,各有千秋,构成了我们今天看到的语言大家族。设计意图:"人肉CPU"活动是本课的核心体验环节,目的是让学生用身体记忆代替机械记忆——只有亲手被二进制"折磨"过,才能深刻理解"抽象层次提升"这六个字的分量。讲解部分严格按照"机器语言—汇编语言—高级语言"的顺序展开,每一段都回扣体验中获得的真实感受,使知识讲解建立在意气相投的经验基础之上。三、释疑建构:程序是怎样跑起来的——编译与解释教师提出问题:"高级语言写得再漂亮,计算机硬件也只认识0和1。那么,我们写的程序是如何变成计算机能执行的东西的?"教师创设类比情境:"假设你读到了一部优秀的外国小说。有两种读法:第一种,出版社请翻译家把整本书提前翻译好,你拿到中文译本一口气读完;第二种,你身边坐着一位口译员,你看一句外文,他给你翻译一句。这两种方式分别对应高级语言的两种执行方式:编译和解释。"教师配合板书与示意图讲解:编译方式:通过编译器将高级语言编写的源程序一次性整体翻译成目标机器语言程序(通常是可执行文件),之后计算机直接运行翻译结果。其特点是"一次编译,多次运行",执行速度快,程序一旦编译完成,脱离编译器和源代码也能运行;缺点是编译过程本身耗时,修改代码后必须重新编译,而且针对某一平台编译出的程序通常不能直接搬到另一平台运行。C、C++是典型的编译型语言。解释方式:通过解释器对源程序逐句翻译、逐句执行,"翻译一句,执行一句",不生成独立的可执行文件。其特点是程序修改后立刻可以运行,调试方便,交互性好,跨平台能力强,只要目标机器上装了对应解释器,同一个源程序到处可跑;代价是每次运行都要重新翻译,执行效率相对较低。Python是解释型语言的典型代表。为了让学生获得直观体验,教师现场演示两段功能相同的程序——一段C语言代码和一段Python代码,分别展示"编译再运行"和"直接运行"的过程,并让学生观察C程序生成的exe文件以及修改程序后重新编译的必要性。教师补充说明:现实中还存在介于两者之间的方式,比如Java采用"编译成字节码、再由虚拟机解释执行"的混合模式,兼顾了跨平台与效率,这体现了工程上的折中智慧。此内容点到为止,不作深究,供学有余力的学生课后探究。教师组织学生完成辨析快答,题目以判断形式呈现:```1.编译型语言必须整体翻译成功后才能运行。(√)2.Python程序执行时,解释器逐句翻译逐句执行。(√)3.编译后的可执行文件可以直接在任意计算机上运行。(×)4.解释型语言每次运行都离不开解释器。(√)```学生通过电子教室系统提交答案,教师据反馈数据即时讲评,针对错得最多的第3题再次强调平台相关性的概念。设计意图:"整本翻译"与"逐句口译"的类比把抽象机制生活化,现场演示则把类比落回技术现实。即时反馈辨析题用于检验类比是否真正转化为概念性理解,防止学生"听懂故事、没学会知识"。四、任务驱动:给场景配语言——认识常见的程序设计语言教师布置小组任务:四人一组,根据课前下发的资料卡片和教师提供的提示,完成"语言档案表",并为指定应用场景推荐语言、陈述理由。语言档案表需要填写的维度包括:语言名称、诞生背景、执行方式(编译或解释)、主要特点、典型应用领域。涉及语言:C、C++、Java、Python、JavaScript。提供给各组的应用场景为:```场景一:为卫星姿态控制系统编写核心控制程序,运行环境和硬件资源严苛。场景二:学校人工智能社团要快速实现一个图像识别小demo。场景三:开发一个在网页中运行的互动小游戏。场景四:开发一款需要在Windows、macOS、Linux上都能运行的桌面应用,且希望维护成本低。```各组展开讨论。教师巡视指导,重点关注两种典型错误倾向:一是"唯流行论",认为Python万能,什么场景都选Python;二是"唯效率论",认为凡重要的系统都该写C。教师适时点拨:技术选型要考虑的因素包括执行效率、开发周期、生态支持、团队能力、目标平台等,是一个多维权衡的过程。小组汇报环节,各组陈述选型及理由。参考性的讨论结论为:场景一适合C语言,因为它贴近硬件、执行效率极高、可控性强,时至今日仍是嵌入式与系统开发的主力;场景二适合Python,语法简洁、人工智能相关库丰富,能把精力集中在算法而非语言细节上;场景三适合JavaScript,因为它是浏览器原生支持的语言;场景四可以考虑Java,"一次编写,到处运行"的跨平台特性正好匹配需求,Python同样是合理选项,言之成理即可。教师在点评中引导学生提炼共识:语言之间不是"谁取代谁"的淘汰关系,而是各自在特定生态位上发挥作用。C语言诞生于上世纪七十年代,至今依然活跃在操作系统内核;Python诞生也已三十余年,因契合了数据科学与人工智能的浪潮而焕发新生。语言热的背后永远是需求在变。真正不会过时的是用计算思维解决问题的能力。设计意图:比较是最好的概念学习方式。通过统一的档案维度对五种语言进行结构化整理,学生从零散印象走向系统认识;场景推荐任务则把知识置于真实问题求解情境,培养"依据需求做决策"的工程意识,同时渗透辩证的技术价值观。五、课堂小结与升华教师带领学生回望本课的问题链:计算机只懂机器语言,为什么我们今天用Python就能指挥它?因为一代代计算机科学家在人与机器之间架起了层层"翻译的桥梁"——汇编器、编译器、解释器,使人类得以用越来越接近自然语言的方式表达思想。教师用一张自底向上的层次图总结:```应用需求:解决问题、表达思想↑高级语言:C/C++/Java/Python/JavaScript↑(编译/解释)汇编语言:助记符指令↑(汇编)机器语言:二进制指令,硬件直接执行↑计算机硬件```教师结语:"从二进制到高级语言,变的是表达的形式和沟通的效率,不变的是程序设计背后的逻辑思维与问题求解。下节课开始,我们将亲手用Python写出自己的程序。希望大家记住今天的体验——你们手中简洁优雅的一行代码之下,站着半个多世纪的智慧积累。"六、分层作业设计基础作业(全体必做):完成思维导图,梳理程序设计语言的三代演进、编译与解释的区别。提升作业(二选一):其一,查阅资料,了解Fortran、COBOL、BASIC等早期高级语言各自为何而生,撰写二百字小短文;其二,在本机安装Python解释器,输入并运行print("Hello,World!"),截图并记录运行过程。探究作业(学有余力者选做):了解Java虚拟机的工作机制,思考"一次编写,到处运行"是如何实现的,与编译型语言的跨平台困境作对比。【板书设计】```程序设计语言简介一、发展脉络机器语言(二进制,硬件直接执行)→汇编语言(助记符,需汇编)→高级语言(近自然语言,需翻译)二、翻译执行的两条路编译:整体翻译→一次编译多次运行(C、C++)解释:逐句翻译边译边跑(Python)三、选型智慧无最好,唯最合适:需求决定语言```【教学评价】本课采用过程性评价与结果性评价相结合的方式。过程性评价嵌入三个节点:机器指令体验卡完成质量,考查学生对低级语言的理解;编译解释辨析快答的正确率,考查概念掌握;语言档案表与场景推荐方案,考查综合运用与价值判断。评价主体上兼顾教师评价、组内互评与学生自评,其中场景推荐环节重点评价论证的逻辑性而非结论的唯一性,只要理由充分、维度清晰,不同选型均可得到肯定,以保护学生的多元思考。【教学反思预设】从同类班级的实施情况看,本设计有三个易被忽视的细节需要在施教

温馨提示

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

最新文档

评论

0/150

提交评论