计算思维与信息技术教学顾倩颐计算机科学学院四川师范大学概要计算思维提出的背景什么是计算思维计算思维的核心概念计算思维与信息技术教育计算思维提出的背景背景:信息技术教育存在的困境信息技术教育的“狭义工具论”问题计算机作为工具的使用操作重于能力信息技术教育的浓缩问题涵盖计算机科学各个领域缺乏深入思考与内在关联算法的作用学生对信息技术的应用很有热情,却对信息技术课程本身缺乏兴趣信息技术教育困境路在何方?美国也有同样的困境背景:计算思维的提出JeannetteWing:计算思维的定义计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。它包括了涵盖计算机科学之广度的一系列思维活动。计算思维是与阅读能力,写作能力和算术思维并列的第四种能力印刷出版促进了阅读、写作和算术的普及,计算机也以类似的正反馈促进了计算思维的传播。中国科学院院士李国杰:计算思维的培育是克服“狭义工具论”的有效途径,是解决其他信息科技难题的基础中科院计算所总工程师徐志伟:计算思维是一种本质的、所有人都必须具备的思维方式,就像识字、做算术一样;在2050年以前,让地球上每一个公民都应具备计算思维的能力什么是计算思维实例:指路问题你能告诉我从四川师范大学到成都火车北站怎么走吗?引导问题1你的路线有多复杂呢[A]一步完成:直接在GPS或Google中键入:“成都火车北站”[B]分两步完成:先坐332路到成仁公交站;再转54路到火车北站[C]分多步完成:成龙路静居寺路二环路[D]详细路线:出校门右转2公里后右转5公里后左转7公里后右转。。。。。引导问题2你是怎么得到这个答案的呢[A]你已经知道了这个路线,只是把它回忆起来[B]画一个初略的路径地图[C]设想几条可行的路径,从中选择一个[D]趁别人不注意的时候向朋友发短信求教[E]把整个成都地区模型化为一个有向图,把这个问题转化为单对最短路径问题,进行数学计算和解决刚刚发生了什么(反思)你是什么思考这个问题的在你头脑中的思考(脑力模型)得到一个精确到每步的路线(算法模型)什么是到达目的地的最好方法尽量减少遭遇红灯的次数(效率模型)其它需要考虑的问题如果。。。怎么办。。。(逻辑思考模型)成龙路因修路禁止通行?公园开园庆典,应尽量避开该路段?高峰时段?天气影响?交通事故影响?抽象:如何能有效的为这类问题提供答案?自动化:怎么设计一套系统可以回答这样的问题(比如GoogleMaps)什么是计算思维定义计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动视野到本世纪中叶,计算思维将成为人类大众所掌握的一项基础技能(成为同阅读、写作和算术并列的基础技能)JeannetteM.Wing.ComputationalThinking.CommunicationsoftheACM,2006,49(3)计算思维在生活中的例子从一个500多页的成都市电话簿(成都黄页)上查找四川师范大学计算机科学学院院长办公室电话比如,平均每页有100多个号码,全书80000余个号码如何减少你查看的总页数?你和你的一个朋友去买电影票电影院有三个售票窗口你们如何最快的买到票引导问题3什么是最好的方法把20个披萨分给60个饥饿的学生[A]一张大桌子,把所有披萨都放在上面[B]5张桌子,每张桌子上放4个披萨[C]学生坐成一排,把披萨传到各个学生手里[D]由四个服务生把披萨发到各个学生手里引导问题3(答案)什么是最好的方法把20个披萨分给60个饥饿的学生[A]一张大桌子,把所有披萨都放在上面[B]5张桌子,每张桌子上放4个披萨[C]学生坐成一排,把披萨传到各个学生手里[D]由四个服务生把披萨发到各个学生手里总结:计算思维是。。。。是概念化,不是编程不是使用软件编程的技术细节是基础的,不是生搬硬套的技巧不是用来加在你的教学计划中的内容是一种人类思考的方法,而不是计算机思考的方法结合了解题思维和关键性思考是概念,不是成品是对任何人,任何场景都适用的计算思维的核心概念计算思维的核心概念抽象(Abstraction)逻辑思维(LogicalThinking)算法(Algorithms)纠错(Debugging)核心概念:抽象(Abstraction)分解(Decomposition)计算思维就是把一个复杂的问题重新组织表达成一系列熟知的、容易解决的问题抽象(Abstraction)把重要的细节抽离出来确立解决类似问题或情形的原则方法引导问题4下面的哪个选项与其它选项不同[A]在超市收银台前排队等待结账的人们[B]电脑打印管理中的几个没完成的打印任务[C]洗完碗后堆放在碗柜里的碗[D]高速公路收费站出口排队的汽车[E]医院候诊室里的病人引导问题4(答案)下面的哪个选项与其它选项不同[A]在超市收银台前排队等待结账的人们(队列)[B]电脑打印管理中的几个没完成的打印任务(队列)[C]洗完碗后堆放在碗柜里的碗(堆栈)[D]高速公路收费站出口排队的汽车(队列)[E]医院候诊室里的病人(队列)核心概念:逻辑思维(LogicalThinking)归纳、推论从特殊事例到通用的原则例如:8÷1=8;27÷1=27;118÷1=118;…任何数除以1都等于它本身.3+5=8;7+9=16;27+23=50;…一个单数加上一个单数等于一个双数.观察规律理论假说核心概念:逻辑思维(LogicalThinking)演绎推理从通用原则到个体事例例如:理论:所有鸟类都是卵生的假说:企鹅会生蛋吗?观察:企鹅是鸟类确证:企鹅会生蛋理论观察假设确证核心概念:算法(Algorithm)什么是算法?解决一个具体问题的一系列步骤算法为什么重要在日常生活中,我们用算法来描述解决问题的方法计算机程序通过执行算法来完成指定的任务算法:制作三明治材料一罐花生酱一罐果酱一袋面包一个汤匙你的任务确定制作一个花生酱和果酱混合三明治的步骤是什么?核心概念:纠错(Debugging)什么事纠错?找到并修正你在解决一个具体问题时设计或执行中的故障(bug),使你能顺利达成原本的目标引导问题5晚上你回到家发现桌上的台灯不亮了(早上你出门时它还是好的),你首先将会采取下面选项的哪个动作?[A]检查台灯开关是否打开[B]检查台灯的灯泡是否是好的[C]检查台灯的电源是否插上[D]检查插台灯电源的接线板是否工作[E]检查这个房间是否有电引导问题6如果你上面5个方法都试了还是没有找到原因,你将采取下面的哪个行动?[A]去买个新的台灯[B]给你知道的电工打电话[C]找邻居借个台灯来先用着[D]重复上一题的5个步骤,再试一次[E]今天先不去管它了计算思维在中小学信息技术教学中的重要性计算思维的好处使信息技术的教学从技术能力提升到思维能力的获得上培养学生成为问题解决者而不是软件的使用者鼓励创新思维把很多你已经在课堂上讲授的问题处理技巧进行梳理和提炼,使学生从思维层面接受和掌握它们计算思维在教学和学习中的应用使学生学会如何抽象出通用的原理并把它用于解决类似的情境和问题或者说,学会怎样从理解原理到解决现实问题把计算思维作为一种自动化的抽象方法在课堂上引导学生体验建模过程和仿真过程鼓励学生构建自己的模型和仿真在计算思维的视野里,问题解决的能力就是通过对已有知识和技能的抽象提炼,去给未知的问题寻找答案基于计算思维的课堂教学如何在课堂中培养学生的计算思维把计算思维的核心概念整合到日常教学中从增强教师自身对计算思维的理解开始使用各种计算思维的例子和教学资源在课堂中使用计算思维的术语鼓励学生批判性地检视和使用信息让学生学会抽象与提炼为学生提供机会用他们已有的知识和技巧解决新的未知问题设计专门的计算思维培养活动:研究性学习基于计算思维的信息技术教学设计提出问题分析问题构造模型设计算法程序实现形成算法逻辑思维激发兴趣归纳模型编码调试解答的多样化尊重学生不同的认知方式不同角度认识问题不同方式表达算法不同方法编写程序不同软件通过算法多样化训练计算思维程序设计实验教学培养学生的创新意识、探索精神和问题求解能力增强算法的多样性和构造性多样性可以尽量激发学生的思维活动构造性通过算法变化也能够强化计算思维训练程序开发中的计算思维以小组为单位完成一个程序设计教师列出要求与主要功能,小组协作分工到组员(分治)复杂的程序设计问题到几个简单的程序任务任务的均衡性和合理性并行开发的效率与协调程序整合的问题程序的迭代与优化程序的测试和排错(计算思维中的纠错思维)案例:计算思维培养案例:计算思维培养Google的计算思维教学资源库包含课程与案例在线论坛IntroductiontoPythonprogramming人有了知识,就会具备各种分析能力,明辨是非的能力。所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。