高中信息技术必修1第三单元第三节计算机程序与程序设计语言教学设计_第1页
高中信息技术必修1第三单元第三节计算机程序与程序设计语言教学设计_第2页
高中信息技术必修1第三单元第三节计算机程序与程序设计语言教学设计_第3页
高中信息技术必修1第三单元第三节计算机程序与程序设计语言教学设计_第4页
高中信息技术必修1第三单元第三节计算机程序与程序设计语言教学设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

高中信息技术必修1第三单元第三节计算机程序与程序设计语言教学设计【教材与学情分析】本节内容选自高中信息技术必修课程"数据与计算"模块第三单元,是在学生已经初步认识算法、体验过用自然语言和流程图描述算法之后,第一次正式接触"程序"这一概念的核心课。教材的编排逻辑十分清晰:由"算法如何被计算机执行"的问题引入,揭示程序是算法的计算机实现,进而引出程序设计语言的演进——机器语言、汇编语言、高级语言,最后落脚到用Python体验程序的编写与运行。这一线索看似平铺直叙,实则暗藏一条认知主线:从"人如何想"到"机器如何做",中间隔着"语言"这座桥梁。授课对象为高一年级学生。他们在前两节中已经能够用流程图描述顺序、选择、循环三种基本结构,部分学生在初中阶段接触过图形化编程(如Scratch),但绝大多数没有文本编程的经历。从思维特点看,高一学生抽象逻辑思维正在快速发展,但对"机器只能机械执行指令"这一点缺乏直觉,容易把计算机想象成"聪明的助手",从而难以理解为何程序必须写得分毫不差。教学必须直面这一认知冲突,用可触摸的活动让学生亲身体会"精确"二字的重量。基于此,本课确立三个教学支点:一是以"由算法到程序"的转化过程建立概念联系,避免程序概念悬空;二是以程序设计语言的发展史为线索,渗透技术思想(抽象与分层)的演进;三是安排真实的上机体验,让学生在第一堂课上就敲出并运行自己的第一段Python代码,获得"我也能指挥计算机"的成功体验。【教学目标】一、理解程序的概念,能用自己的语言说明程序、算法与计算机三者之间的关系,知道程序是算法在计算机上的具体实现。二、了解机器语言、汇编语言、高级语言的基本特征,能结合实例说出高级语言需要经过解释或编译才能被计算机执行的原因,体会语言演进背后"让编程更接近人的表达"的技术追求。三、在教师搭建的支架下完成一个简单Python程序的输入、修改与运行,能读懂代码中输入、处理、输出的基本结构,初步形成规范书写代码的意识。四、在"指挥机器人"体验活动和调试代码的过程中,体会严谨精确的工程思维,感受程序员解决问题的方式,激发进一步学习编程的兴趣。【教学重难点】教学重点:程序的概念;程序设计语言的分类及其特征;程序基本结构的初步体验。教学难点:理解计算机只能机械执行指令、程序必须精确无歧义这一本质;理解高级语言与机器语言之间的"翻译"关系。【教学准备】机房环境,每人一台安装有Python3.x解释器及IDLE(或轻量编辑器)的计算机;多媒体演示设备;"指挥机器人"任务卡(画有简单图形的白纸、步骤卡片);教师自制的对比演示课件(同一段功能的机器语言二进制串、汇编指令、Python代码三栏对照);课堂学习单。【教学过程】一、情境导入:一个"不听话"的帮手(约5分钟)上课伊始,教师不谈教材,先发起一个活动。请两名学生上台,一人扮演"机器人",戴上眼罩,完全听从另一名"指挥员"的口头指令,任务是在黑板上画一个正方形。规则只有一条:机器人不理解任何常识,只按字面执行。预计课堂会出现大量"笑料":指挥员说"画一条线",机器人不知道从哪里开始画、画多长、朝哪个方向画;说"再画一条垂直的线",机器人画的线段与第一条毫无关系。教师趁机追问:为什么我们平时觉得"画个正方形"是再简单不过的事,换成机器人执行就变得如此困难?学生讨论后一般能得出结论:因为人说话有默契、有默认信息,而机器没有。教师顺势点题:计算机就是这样一位"能力超强但毫无默契"的执行者——它每秒能运算数十亿次,却不会替我们补全任何一个省略的步骤。要让它做事,我们必须把一切写得清清楚楚、一步不落,这样写出来的精确指令序列,就叫作程序。板书课题:计算机程序与程序设计语言。二、概念建构:从算法到程序(约8分钟)教师带领学生回顾上节课的内容:我们曾用流程图描述过"求1到100所有整数之和"的算法。课件展示该流程图,请学生口头复述其执行过程。接着教师提出关键问题:这张流程图,计算机看得懂吗?学生给出否定回答后,教师明确指出:流程图是画给人看的。算法要真正发挥作用,必须被"翻译"成计算机能够识别和执行的形式,这个翻译的产物就是程序。为帮助学生建立三者关系,教师组织一次类比辨析。课件呈现三句话引发讨论:菜谱之于烹饪,如同算法之于计算;照菜谱炒出一盘菜,如同计算机运行程序完成任务;菜谱必须用厨师看得懂的语言书写,算法也必须用计算机能处理的语言表达。讨论后师生共同归纳,教师在黑板上形成结构化板书:算法——解决问题的思路与步骤(面向人,重在逻辑);程序——算法在计算机上的具体实现(面向机器,重在精确可执行);程序设计语言——描述程序所使用的人工语言(沟通人与机器的桥梁)。此处安排一个辨析小练习,检验概念是否落地。教师出示三段材料:一段用自然语言写的解题步骤、一幅流程图、一段Python代码,请学生判断哪些是算法描述、哪段是程序,并说明理由。学生判断后教师强调要点:程序与算法的根本区别不在于形式,在于它必须能被计算机无歧义地执行。三、历史纵深:程序设计语言的三次跨越(约10分钟)教师讲述:最早的程序没有今天我们看到的代码形式。课件出示一段由0和1组成的二进制串,告知学生这就是机器语言——计算机唯一能直接执行的语言,每一条二进制序列对应一条硬件指令,如加法、存取数据。教师请两名学生尝试"读一读"这串0和1,自然引出体会:难写、难读、难记、极易出错,且不同型号的计算机二进制指令还不通用。随后课件切换到第二栏——汇编语言示例:MOVAX,100ADDAX,50教师讲解:人们用英文助记符代替二进制编码,MOV表示传送数据,ADD表示加法,可读性明显改善。但必须指出两点:其一,汇编语言仍然紧贴硬件,一条助记符大致对应一条机器指令;其二,计算机不认识助记符,需要一个专门的翻译程序把汇编代码"汇编"成机器语言。由此第一次引出"翻译"概念。接着课件展示第三栏——Python代码:x=100y=50s=x+yprint(s)学生直观看到:高级语言几乎就是"数学式子+英文单词",与人类自然的表达方式高度接近。教师强调:高级语言的代价同样是需要翻译,翻译方式分两类——编译,即一次性把整个程序翻译成机器语言生成可执行文件,以C语言为代表;解释,即逐句翻译逐句执行,以Python为代表。可以用一个类比帮助学生记忆:编译像把整本外文书译成中文后整体交付阅读,解释像同声传译,说一句翻一句。在此引导学生完成一次小型研讨:从机器语言到汇编再到高级语言,变的和不变的分别是什么?讨论后师生共同总结:不变的是——计算机最终只执行二进制的机器指令;变化的是——人描述程序的方式不断向自然语言靠近,机器的"门槛"不断被人造的翻译工具填平。教师在此点出本节最有思想含量的一句话:语言的发展史,就是人类把"理解的负担"从自己肩上转移到机器肩上的历史,这背后是抽象和分层思想,是整个计算机科学的基石。课件以时间轴方式补充呈现Fortran、C、Java、Python等代表性语言的诞生背景,不必逐一展开,点到即可,让学生形成"语言因需而生、百花齐放"的整体印象,并布置一句引导语:课下可以查一查你听说过的编程语言出现在时间轴的哪个位置,解决了什么问题。四、实践体验:我的第一段程序(约15分钟)教师明确任务:亲手敲出并运行一个计算程序——输入长方形的宽和高,输出它的面积。教师先用几行代码在屏幕上完整演示一遍,边敲边讲解每一行的含义:w=float(input("请输入长方形的宽:"))h=float(input("请输入长方形的高:"))s=whprint("面积是:",s)讲解要点不求面面俱到,只抓住三个结构性认识:第一行和第二行是"输入",负责从外面拿到数据;第三行是"处理",即真正做计算;第四行是"输出",把结果告诉使用者。教师点拨:几乎所有程序都可以拆成"输入—处理—输出"这个骨架,这正对应我们前面学过的顺序结构。学生开始上机实践,学习单上给出分层任务:基础任务:完整敲入并运行上述程序,观察运行结果;故意删掉某一行末尾的引号或括号再次运行,记录计算机给出的错误提示,与同桌交流错误提示告诉我们什么。提升任务:修改程序,让它改成计算长方形的周长,或者计算圆的面积(圆周率取3.14)。挑战任务:在输出面积的同时,再输出一行文字,对自己的计算结果做一句说明,尝试让print语句输出两个不同的内容。教师巡视指导,重点关注两类问题:一类是输入法造成的全角符号错误(如中文括号),借此强调代码必须使用英文半角符号,这就是"机器语言思维"在细节上的体现;另一类是变量名含义不清,借机渗透命名规范——w、h、s虽小,但比a、b、c更能表达意义,好程序是写给人看的,顺便能运行。实践尾声,教师选取一份学生的报错记录进行全班分享:错误提示并不可怕,它是机器在告诉我们哪里不符合它的语法规则,调试错误是编程的常态而不是失败。这一处理旨在建立学生面对报错的健康心态。五、小结提升(约5分钟)教师用一张知识结构图带领学生回顾全课:从"机器人画正方形"的困境出发,我们认识了程序——算法在计算机上的精确实现;沿着语言发展的足迹,我们走过了机器语言、汇编语言、高级语言三个台阶,理解了"翻译"的必要性;最后我们用Python的输入、处理、输出三段式,让计算机第一次真正听从了我们的指挥。课堂最后,教师布置两道思考题收束全课:其一,如果有一天计算机能完全听懂自然语言,程序设计语言还有存在的必要吗?其二,今天你写的程序不足十行,微信、北斗导航系统的程序有数百万行,试想靠什么方法让成百上千人协作完成这样的程序?两个问题分别指向"语言的本质"与"工程的方法",为后续学习埋下伏笔。【作业设计】必做:把求长方形面积的程序改造为"输入半径,计算并输出圆的周长和面积",在下节课前提交运行截图。选做:查阅资料,用100字左右介绍一种本课未详细展开的编程语言,说明它擅长的领域。【板书设计】主板书采用三栏结构。左栏:程序=算法的计算机实现,要求精确、无歧义;中栏:语

温馨提示

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

评论

0/150

提交评论