运用基于案例的程序设计教学,培养学生计算思维

来源 :中国信息技术教育 | 被引量 : 0次 | 上传用户:yinlangui
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  教育部公布的《普通高中信息技术课程标准(2017年版)》明确了信息技术学科核心素养,界定计算思维是“运用计算机科学领域的思想方法在形成问题解决方案的过程中产生的一系列思维活动”。很多教师投入很大的热情学习Python语言,以为将程序设计语言由VB或C等换成Python语言,就可以实现计算思维的培养,但如果程序设计语言的教学未关注解决问题的思维,只是程序语言的调整,那只会是“穿新鞋”走“老路”,又回到教编程语言的语法、语句上来。
  笔者多年来尝试用作品案例教学法来培养学生的计算思维,将程序设计语言教材涉及的基本结构、语句、方法和思想等按从易到难分解重构,编成一个个有知识和能力水平梯度的程序作品案例。学生在作品案例提供的情境中学习用计算机可以处理的方式发现问题,界定问题,抽象建模,分解问题,设计算法形成解决方案,进行半成品加工,总结方法,提升能力。实践出真知,编程课程运用作品案例教学法,学生不仅学会了程序語言设计的语句,更学会了用计算机编程解决问题的计算思维,学生既见“树木”(程序语句),又见“森林”(算法思维),计算思维得到有效培养。案例教学法的一般教学流程为:案例体验—抽象建模—分解问题—设计算法—半成品加工—总结迁移。

● 案例体验,感受猜拳游戏作品乐趣


  学生运行程序,显示本机IP地址,网络双方均输入对方IP地址,即可通过单击表示锤子、剪刀、布的相应按钮体验网络版猜拳游戏的乐趣,如下图所示。以往猜拳教学,为了降低程序难度迎合学生的学情,往往设计的是单机版猜拳游戏,但单机版猜拳游戏相当于是自己的左手与右手猜拳,游戏的可玩性不高,现在改为网络猜拳游戏后,增加了游戏的互动性,学生玩得兴致勃勃,创设了很好的生活情境。

● 抽象建模,理解现实世界在计算机世界表示方式


  抽象的目的是去除细节,提取关键信息,将现实生活中的信息转变为用计算机可以表示的信息,实现现实世界问题向计算机可以解决问题转化的重要一步。生活中的猜拳游戏是用手的不同形状来分别表示锤子、剪刀和布,但在VB程序界面中既可以用显示文字的按钮(commandButton控件)来表示锤子、剪刀和布,也可以用不同形状的图像(Image控件)来表示锤子、剪刀和布。作品案例既创设了生活情境,也在情境中蕴含了学生需要解决的问题和学习的知识,而发现问题是学生思维培养的开始。学生在体验了游戏后,很自然地发现问题:单击表示锤子、剪刀、布的按钮,计算机如何显示相应的图像?教师启发学生观察猜拳作品的界面组成,思考两个问题并填写下表:①按钮控件和图片控件是如何表示锤子、剪刀、布三种信息的?②按下按钮如何显示相应的图片?
  学生通过分析上表,结合前面学过的控件数组知识,很快理解了“拳”图像控件数组名称为quan,index的值1代表锤子,2代表剪刀,3代表布,这样就可用图像控件数组元素quan(1).picture、quan(2).picture、quan(3).picture来表示锤子、剪刀、布。“猜拳”按钮控件数组名称为caiquan,index的值1代表出锤子,2代表出剪刀,3代表出布,当按下相应按钮时,根据返回的index的值,quan(index).picture就可以表示所出拳的图像。通过抽象建模,把现实猜拳问题转化为计算机控制数组来表示,就可以用数学的问题来解决。

● 问题分解,用思维导图自顶向下整体设计


  分解是计算思维的一种重要的解决问题的方法,通过分解把复杂问题分解成简单问题,把整体问题分解成局部问题,再从解决简单问题或局部问题入手找到解决问题的突破口。基于作品案例的分解是为了让学生对案例作品设计有整体了解,关注的是整体设计能力。根据前面体验游戏时的经验,学生把猜拳游戏分解为三个问题——本方如何出拳、网友如何出拳、如何判定胜负,再自顶向下逐步细化三个问题。
  1.本方出拳(单击按钮事件):①单击锤子、剪刀、布任一按钮,同时按钮失效不能再按直到本局结束为止;②本机显示相应出拳的图像;③将本机出拳对应的数字信息发给网友。
  2.网友出拳(接收数据事件):①接收并保存网友发送来表示出拳的数字信息;②显示网友出拳的图片。
  3.判定胜负(计时器触发事件):①判断如果双方都已出拳,如本机胜则本机胜数加1;②判断如果双方都已出拳,如网友胜则网友胜数加1。

  学生体验游戏后能分解出这些动作,从形象思维过渡到抽象思维,能力有一定的发展,但问题还未理清。教师提出问题:“先出拳的一方,如果出拳图形立即在对方显示,而对方还未出拳,那先出拳的就吃亏了,什么时候显示网友出拳的图像才合适?”学生很容易想到:应该是双方都出拳后再显示对方出拳图像最公平,只要本方未出拳,另一方即使先出拳并发送了出拳信息,也不应该显示。
  因此,上述第2、3个问题调整为:
  2.网友出拳(接收数据事件):接收并保存网友发送来表示出拳的数字信息。
  3.判定胜负(计时器触发事件):①判断如果双方都已出拳,则显示网友出拳的图像;②判断如果双方都已出拳,如本机胜则本机胜数加1;③判断如果双方都已出拳,如网友胜则网友胜数加1。
  虽然事先采取自顶向下逐步细化设计各模块功能,但在实际编程过程中仍会出现一些新问题,问题分解会在编程的整个过程中多次发生,直到问题被解决,而问题分解难度取决于作品案例的复杂度,这是常规解题式教学无法比拟的。因此基于作品案例的教学,让学生在发现问题、分解问题的过程中逐步形成解决问题方案,培养了计算思维。

● 算法设计,用流程图理清局部问题


  问题分解关注的是从全局角度自顶向下逐步细化的设计能力,而算法设计关注的是从局部角度应用所学知识解决具体问题。算法是解决问题的明确步骤,是具体的操作过程。在理清了本方出拳、网友出拳、判定胜负三个问题后,算法设计聚焦于用所学的IF语句来解决“判定胜负”问题。借助流程图,学生进一步理清思路和步骤,为后继进行半成品程序加工扫清障碍。对于“判定胜负”问题,确定IF语句中“胜利的条件”是本问题的难点。教师以“本机胜利”条件为例让学生小组合作,讨论归纳本机胜利的条件。各小组通过列表法,列出双方所有出拳情况及对应的数值,分析表示网友出拳的netnum变量值、本机出拳的localnum值和本机胜负情况,根据本机胜的情况总结出本机胜利的条件:(netnum=1 and localnum=3) or (netnum=2 and localnum=1) or (netnum=3 and localnum=2)。有的小组比较三种胜利情况后还进一步简化出本机胜利的另一种条件表示:(netnum-localnum=1) or (netnum-localnum=-2)。随后学生根据此种列表法举一反三推导出“网友胜利”的条件。通过流程图描述算法和列表总结法推理出胜利条件,学生的计算思维得到了培养。

● 半成品加工,關注阅读能力和思维能力培养


  半成品加工是指根据教学目标的需要,保留作品整体的真实性、情境性和完整性,将作品的某些关键局部“留白”,让学生应用课堂所学知识将留白部分补充完善成为成品。本成品加工是培养学生知识迁移能力和解决问题能力的一种很重要的方法,这种方法既保留了程序作品整体设计代码供学生学习借鉴,又让学生在短时间内学习编程语句等知识,应用程序语句实践练习和深化基本结构、语句命令等概念理解,达到知识与技能、方法和能力双培养的目标。

  由于上节课学生已经学习了局域网QQ程序案例,懂得了使用VB中winsoca控件进行网络信息的收发原理,作品案例建立两个窗体,一个窗体(form1)模拟本机,端口绑定1001,另一个窗体(form2)模拟网友,端口绑定1002,这样学生运行程序时就可以模拟本机和网友猜拳,方便学生调试程序代码。程序调试正确后删除模拟网友的form2窗体,就可与网友进行网络游戏。教师首先指导学生阅读“本机出拳”“网友出拳”“判定胜负”三个问题程序代码,引导学生读懂三个事件中语句或语句组的功能,而不必太关注语句语法,阅读程序的过程,也是思维活动的过程。由于本节课重点是用IF语句来解决如何“判定胜负”问题,将“双方都已出拳条件”“本机胜条件”和“网友胜条件”留白,学生根据前面环节所设计的算法和总结的条件,用IF语句不断调试直至实现程序功能后,双方输入对方网址,就可以进行网络版猜拳游戏,在游戏中感受到成功的喜悦和自豪。通过半成品作品加工,学生既学会案例程序的整体解决方案,又应用所学概念、知识解决了特定情境的问题,计算思维得到了培养。

● 总结提升,培养思维迁移能力


  归纳总结是从具体化情境中提炼出一般性知识和方法的过程,通过总结,学生不仅深刻领会了所学知识内涵,还懂得了应用知识在情境化场景中解决问题的方法,形成了解决问题的思维。本节作品案例教学通过列表法、问题分解法、流程图描述法逐步形成问题解决方案,通过半成品加工策略实现算法,学生的思维由抽象到具体,计算思维能力培养落到实处。
  教学有法,教无定法。教师只有深刻领会计算思维概念的内涵和外延,才能在生活中发现计算思维的用武之地,在教学中创设有趣的案例作品,融入计算思维,让学生在问题化情境中发现问题,自主、协作探究,形成问题解决方案,学会编程思想和方法,促进计算思维的发展。
其他文献
摘 要:教学研究针对的是教学活动中出现的问题,特定研究针对特定问题。在本文,笔者以初中信息技术智能机器人教学为例,阐述不同问题,展开相应的教学活动。科技知识普及范围越来越广,机器人与人类生活的联系也越来越紧密。智能机器人已经进入学校的课堂教学。正确运用机器人教学可以活跃课堂气氛,提高学生的创新能力、思考能力、团队协作能力。  关键词:信息技术 智能机器人 学生  中图分类号:G632 文献标识码:
摘要:根据教育部《关于“十三五”期间全面深入推进教育信息化工作的指导意见》中对创客课程及创客空间建设的有关精神,南京市从2015年初开始在中小学进行创客教育的尝试,并涌现出了南京市东山小学、南京市光华东街小学、南京市建宁中学等一批创客实验基地,本文从南京市创客教育的现状、思考以及目标三个方面介绍了南京市在中小学创客教育区域化推进的情况,以期为各地的创客教育开展带来一定启发。  关键词:创客教育;发
摘要:人工智能教学是目前教育领域的热点议题,随着《普通高中信息技术课程标准(2017年版)》的发布,人工智能教学在高中阶段如何开展也引发了强烈的关注和讨论。本文以新课标中人工智能学习要求为基础,基于百度AI开放平台实施人工智能的项目学习,探讨高中信息技术课程中人工智能教学的展开形式,并进行反思。  关键词:人工智能教学;高中信息技术教学;项目学习  中图分类号:G434 文献标识码:A 论文编号:
Scratch作为一款图形化编程工具,具有形象生动、操作简单的特点。这种可视化、模塊化、界面友好的软件对于小学生来说,非常容易上手。这有点像积木搭建,Scratch的程序模块就是一个个不同形状的积木,可以任意拼装。对于每一位小学生来说,只要给出一个模型,完全可以在短时间内拼装出来,但是要靠自己的想象,拼出理想的物件还是有点难度。因而,在Scratch教学过程中,最关键的问题是如何让学生通过这个软件
《以〈诗经〉教学为例的高中语文翻转课堂初探》(以下简称《初探》)是北京外国语大学附属苏州湾外国语学校高中部语文教师吴素芳实验翻转课堂之后所撰写。  高中翻转课堂实验与小学、初中相比,数量少得可怜,高中语文翻转课堂则更为鲜见。因此,吴素芳参与微课程教学法实验自然引起我关注。每次听吴素芳的课,都发现她有新见解产生,逐步接近微课程教学法对翻转课堂的理解。  我曾经问她:高中语文翻转课堂有没有价值?她操着
7月1日至7月3日,苏州市木渎实验中学邀我为学校从事微课程教学法实验的志愿者做专项培训。参加这次培训的人员不多,语文、化学、地理教师各2人,信息技术教师1人。  培训历时两天,采取“做中学”方式。前两天为学习设计,一开始难免无从下手,漏洞百出。但是,经过陈述与答辩再行修改后的学习设计方案,明显渐入佳境:达成目标具体精准,学习任务“问题开路”(课前),微项目学习(课堂)精彩纷呈,引得一位教师感叹:“
摘要:中小学教师的信息化教学能力是推动中小学教育信息化、提升教育教学质量的核心,而目前全国中小学教师的信息化教学能力水平整体并不高。本文基于教师实践性知识的视角,从实际使用、真正信奉、个人相关三个方面对信息化教学能力进行了阐述,并从培训、反思、协同互助等方面,对中小学教师信息化教学能力的提升提出了相关策略,以期对我国中小学教师信息化教学能力的发展有所裨益。  关键词:实践性知识;信息化教学能力;启
摘要:在“互联网 ”背景下,我们对“新工科”专业的课堂教学设计提出了更高的需求。本文以物联网工程专业的专业核心课程“无线传感网络”课堂教学设计为例,坚持物联网工程专业的教学必须着眼于行业需求,以培养具有较强工程能力、实践能力和创新能力的复合型应用人才为导向,将慕课、微课、翻转课堂与传统常规课堂教学设计有机结合,相辅相成,综合运用多种教学方法和教学手段,能有效提高学生学习的主动性,达到良好的教学目的
上一期,我们介绍了通过74HC595移位寄存器只用UNO的3个管脚就可以控制8个LED的亮灭。本期,我们将进一步介绍74HC595的一些应用,将分别做一个8位二进制计数器和一个流水灯项目。  在元件的使用和电路的连接上,依然沿用上一期的元件和电路。  需要的元件(如表1)  电路连接(如图1)  程序设计  1.8位二进制计数器  上一期的文章介绍了在shiftOut模块中输入数值,控制8个LED
在2017年3月3日江苏教学新时空“名师课堂”中,南京市琅琊路小学的王蕾老师上了一节主题为“海报秀”的小学信息技术课。本课属于WPS文字处理单元的主题活动课型。就其课型来说,该课要突出综合练习的目的;就其教学目标而言,该课要在45分钟的时间内完成插入自选图形、设置背景、修饰文档等。总体说来,这是一节让学生身心放松、思维活跃、有效开展学习的课,体现了教师以生为本、关注发展、激活创造的教学眼界。  以