高中信息技术必修2信息系统与社会搭建小型即时通信网络程序教学设计_第1页
高中信息技术必修2信息系统与社会搭建小型即时通信网络程序教学设计_第2页
高中信息技术必修2信息系统与社会搭建小型即时通信网络程序教学设计_第3页
高中信息技术必修2信息系统与社会搭建小型即时通信网络程序教学设计_第4页
高中信息技术必修2信息系统与社会搭建小型即时通信网络程序教学设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

高中信息技术必修2信息系统与社会搭建小型即时通信网络程序教学设计本教学设计面向高中一年级学生,依据《普通高中信息技术课程标准(2017年版2020年修订)》必修模块2“信息系统与社会”中关于信息系统组建与程序开发的要求而编制,对应教材“编写网络应用程序”一节,计划用三个课时完成。网络应用程序是学生每天接触却极少有机会亲历构建过程的技术载体,让学生亲手写出一个可以在两台计算机之间传递消息的客户端与服务器程序,是本课撬动网络核心概念的重要支点。一、教学背景与学情分析授课对象已完成必修1的学习,掌握了Python基本语法,包括变量、条件语句、循环结构、函数定义与调用,能够调用print、input等内置函数,也接触过turtle等第三方库的引入方式。学生在生活中熟练使用即时通信工具,对“发消息”“收消息”有强烈的感性经验,但大多数学生心中的网络通信停留在“手机和WiFi连着就行”的模糊认知上,不清楚数据究竟如何从一台设备流向另一台设备,更不理解服务器在其中扮演的角色。课前通过问卷星对两个平行班共96名学生进行调查,结果显示:能正确说出IP地址含义的占31%,知道端口概念的仅占9%,听说过TCP但说不清用途的占22%,其余学生对这些概念完全陌生。这说明本课的概念教学不能只靠讲授灌输,必须借助可观察、可操作的程序运行过程,让抽象概念附着在具体现象上。本课的核心知识载体是Python的socket库。选择它的理由有三点:语法简洁,学生一行代码即可创建套接字;跨平台,教室机房网络环境可以直接验证;其“绑定—监听—连接—收发—关闭”的流程结构清晰,天然适合拆解为递进任务。二、教学目标信息意识方面,学生能够在使用网络应用时主动思考数据流向,意识到日常聊天软件背后是程序之间的协作,而非魔法般的“连上网就能聊”。计算思维方面,学生能够将“两台计算机互相发消息”这一生活问题分解为寻址、建立通道、编码传输、接收解码四个子问题,并通过流程图进行建模,初步形成用程序解决通信问题的思维路径。数字化学习与创新方面,学生能够基于教师搭建的基础代码框架,查阅socket库的官方文档与代码示例,完成程序的修改与功能扩展,例如给消息加上发送者昵称、实现群聊转发。信息社会责任方面,学生能够理解网络通信中明文传输的风险,认识到未经允许嗅探他人通信是违法行为,建立起“技术能力越强、责任边界越清晰”的价值观。三、教学重点与难点教学重点是理解客户端与服务器的工作模式,掌握利用socket实现两台计算机之间的数据发送与接收。教学难点有三个:其一,IP地址与端口共同标识一个网络服务的双重寻址机制;其二,send与recv之间数据收发的时序配合,以及编码与解码的必要性;其三,循环等待连接这一“服务器一直在等待”的程序运行逻辑,它与学生此前学过的顺序执行程序有明显差异。针对第三个难点,我设计了“门卫值班室”的类比:服务器程序就像一个永不下班的门卫,whileTrue循环是他的值班表,accept就是他的开门动作,每来一位访客就接待一次,接待完回到门口继续值守。这个类比在试讲班级的理解正确率从41%提升到78%,本课将继续沿用并配合流程图加以固化。四、教学环境与准备机房配置40台学生机与1台教师机,均安装Python3.10环境,通过交换机组成局域网,关闭外网访问以保证课堂秩序。教师机安装屏幕广播软件,便于演示与代码共享。课前准备的工作包括:编写服务器端基础代码server.py与客户端基础代码client.py,代码中预留若干带注释标记的空缺之处作为学生的任务;打印任务单共三页,分别对应三个课时的任务阶梯;在每台学生机桌面上创建“网络程序”文件夹,存放代码框架与本机IP地址查询指南;准备一张A1尺寸的流程图挂图,用泳道图方式呈现服务器与客户端两条并行的执行流。五、教学过程(一)第一课时:揭开程序间对话的面纱课堂开始,教师在教师机上运行服务器程序,请两名学生分别在自己的机器上运行客户端程序,屏幕上立刻出现“老师,你好”的问候消息。然后教师反方向操作,从服务器向客户端回复“收到”。全班亲眼见到两台独立的计算机完成了对话,而展示所用的代码总共不到三十行。学生在惊叹之余产生第一个问题:它们是怎么找到彼此的?紧接着进入讲解与观察环节。教师不直接给出结论,而是让学生对比两份代码:一份写了bind和listen,另一份写了connect;一份等待,一份主动。学生两人一组讨论三分钟后汇报观察结果,多数小组能归纳出“一个在等,一个去找”的差异。教师顺势引出客户端—服务器模式,说明这不是网络的唯一组织方式,但它是互联网应用最普遍的架构,浏览器与网站、外卖软件与商家后台,本质都是同一结构。随后处理IP与端口这组概念。教师把一栋写字楼画在黑板上:楼号相当于IP地址,楼层房间号相当于端口。一封信只写楼号,会被传达室退回;只写房间号,邮差根本找不到楼。学生据此理解,127.0.0.1:5000这类写法中,冒号前后缺一不可。教师让学生再次观察代码,找出bind中捆入的参数,亲手把端口从5000改成6000,观察程序需要同步修改哪几处才能重新通信,体会“约定”在网络通信中的分量。接下来完成本课时的核心任务:填写客户端程序中创建套接字、连接服务器、发送消息三处空缺代码。任务单上不提供答案,只提供API提示卡,卡片上给出socket()、connect()、send()三个函数的调用格式与参数说明。学生对照卡片独立完成后,同桌互相测试对方的消息能否送达教师机。排错环节是本课时的精华所在。教师预设并广播展示三个典型错误:把字符串直接传给send而未调用encode(),程序报出TypeError;客户端先运行而服务器未启动,抛出连接被拒绝的异常;端口写错导致超时。教师引导学生阅读报错信息中的英文关键词,把Traceback当成程序给出的“体检报告”而不是“判决书”。这一环节占用约十分钟,目的是纠正学生“报错等于失败”的心理定式,树立“报错是调试的起点”的程序员认知方式。课时结尾,教师布置观察作业:回家后用手机分别在家里和教室的热点环境打开网页,思考为什么同一个应用在不同网络下速度不同,下节课用一句话分享自己的猜想。此举为后续学习信息系统性能埋下伏笔。(二)第二课时:让对话双向流动复习导入用五分钟。两名学生上台演示上节课成果,教师提问:现在的程序有什么别扭之处?学生很快指出,每发一条消息就要重新运行一次程序,而且服务器只收不回,不像真正的聊天。这个“别扭感”正是本课时的驱动力。教师拆解出三个改进任务,按难度阶梯排列。任务一:用whileTrue循环让客户端能够连续发送消息,输入“exit”时退出循环并关闭连接。这个任务把必修1的循环知识与网络编程结合,迁移成本低,目标教育意义在于让学生体会“通信过程是一个生命周期”,连接建立、持续交互、主动关闭,对应人类对话中拨通电话、交谈、说再见挂断的完整流程。任务二:让服务器在收到消息后回一句固定回复,客户端显示回复内容。学生需要理解recv是阻塞式调用——机器会停在那里等待数据到达。教师用打电话时“喂,听到了吗”的场景解释阻塞:对方不说话,你就举着听筒等着。理解了阻塞,学生才能预见直接把recv放进循环会产生什么问题,为下节课的多人聊天做认知铺垫。任务三:选做挑战。给每条消息添加发送者标识,要求客户端启动时输入昵称,发送时将昵称与消息内容用分隔符拼接后再编码。完成的学生充当“小老师”,在教室内巡回协助其他同学。这一角色分配既解决了机房一人难顾全局的现实问题,也让学生在讲解中深化理解,复述过的知识留存率远高于看过的知识。课中十五分钟左右安排一次集中演示。教师请一位完成任务三的学生展示带有昵名的对话效果,其余学生对照检查自己的程序。此时教师讲解编码问题:为什么中文消息经过encode和decode之后能原样显示,而省略其中一步就会出现乱码或报错?教师展示utf8编码下“中”字对应的字节序列,让学生明白计算机网络只认识0和1,一切文字都必须翻译成字节才能上路,到达后再翻译回来,这个翻译规则必须收发双方事前约好。本课时末留出八分钟完成课堂测评,使用问卷形式进行三道判断题与两道简答题的即时检测。判断题覆盖端口冲突、阻塞等待、编码必要性三个易混点,简答题要求学生用自己的话描述accept调用后产生的变化。系统自动统计正确率,数据显示低于70%的题目在次课时进行针对性重讲。(三)第三课时:搭建班级聊天室第三课时的终极任务是让全班40名同学的消息汇入同一块大屏。这要求服务器能够同时接待多个客户端,引入threading模块为每个连接分配一个线程,并维护一个客户端列表实现消息转发。考虑到一年级学生的抽象思维水平,教师不让学生从零编写多线程代码,而是提供带有中文注释的服务器框架,注释中标注五个关键位置:创建套接字、绑定监听、接收新连接、读取消息、向所有客户端广播。学生的任务是读懂注释,补全广播逻辑的六行代码,并回答任务单上的四个理解性问题,例如“为什么在循环中要用tryexcept包裹发送操作”。这个问题指向真实场景:某个客户端突然断网时,向它发送数据会抛出异常,不处理的话整个服务器会崩溃。这是健壮性编程最朴素的一课。完成调试后进入全班联测阶段。40名学生同时上线,聊天消息实时滚动显示在大屏幕上,课堂气氛达到高潮。教师趁热打铁提出一个略带刺激性的问题:现在张三发了一句对李四不友好的话,请大家观察,这句话经过了哪些地方?学生意识到消息先到达服务器,再被服务器分发给所有人,服务器看得见全部内容。教师由此展开信息伦理的讨论:明文在网络中传输意味着任何途经节点理论上都能看到内容,这就是为什么正规软件要做加密,为什么我们不在公共聊天群里说账号密码,为什么偷看他人通信是法律明令禁止的行为。这一讨论没有说教式的结论,而是通过让学生扮演“假想拦截者”复盘数据路径,使安全意识自然生长。最后十分钟进行总结性回顾。教师将A1泳道图挂图复位,邀请四名学生分别为客户端的四步和服务器的关键动作贴上标签,全班共同核对。随后公布本次单元的阶梯式拓展任务:学有余力的学生可以尝试为聊天室添加“@某人私聊”功能,需要自行查阅文档理解地址与连接的对应关系,完成后开设十分钟的班级小讲堂分享实现思路。六、教学评价设计本课评价由三个维度构成。过程性评价占40%,依据三个课时任务单的完成质量、代码运行结果与调试记录打分,其中调试记录尤为关键,要求学生将遇到的每个报错原因与解决办法记入任务单背面的“排错日志”,这既是学习证据,也是成长档案的一部分。阶段性测验占30%,即第二课时末的即时检测数据。表现性评价占30%,在第三课时的小组协作与朋友圈功能展示中,由教师评价与同伴互评合成,评价量表包含功能实现、代码可读性、表达清晰度三个指标,每项采用四档描述。评价理念上坚持“运行起来只是及格线,讲得清楚才是优秀”。一个能够独立解释自己每行代码作用的学生,其分数必然高于仅靠复制粘贴完成炫酷功能的学生,这条规则在第一节课就向全班明示,从源头抑制抄袭行为。七、板书设计主板书采用左右对照式布局。左侧自上而下板书客户端四步:创建套接字、连接服务器、收发数据、关闭连接;右侧自上而下板书服务器五步:创建套接字、绑定地址、开始监听、接受连接、收发并回应。中间用一条竖线分隔并画双向箭头,标注“一次连接,多次对话”。副板书区动态记录课堂生成的报错信息与解决结果,形成“本课排错榜”,是让学生感知学习痕迹的可视化工具。八、作业与延伸基础作业要求每位学生完成一份程序注释练习:教师提供一份去掉所有注释的服务器代码,学生为每一行添加注释,检验理解深度。提高作业要求学生绘制一张家庭网络的信息系统图,标注路由器、手机、电脑之间的通信关系,并对照课堂知识说明手机访问网站时谁是客户端、谁是服务器。实践作业鼓励学生与家长合作,在家中两台设备间跑通课堂上的聊天程序,并拍一段一分钟的运行视频提交班级空间。九、教学反思预设本设计在试讲中暴露过三个问题并已作修正。一是部分学生语文层面的畏难情绪明显,面对满屏英文函数名下意识退缩,修正措施是提供中英对照的API提示卡,并在第一次演示时就示范“看不懂单词也能通过报错与文档定位问题”的策略。二是多线程概念的下放边界需要拿捏,本课只要求学生在注释引导下补全代码,不要求独立编写线程逻辑,这既守住课标要求的底线,又保护学生的

温馨提示

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

评论

0/150

提交评论