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