深度思维基于计算思维的程序教学应有的品质精选文档_第1页
深度思维基于计算思维的程序教学应有的品质精选文档_第2页
深度思维基于计算思维的程序教学应有的品质精选文档_第3页
深度思维基于计算思维的程序教学应有的品质精选文档_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、深度思维:基于计算思维的程序教学应有的品质计算思维不等于算法,它更多地表现为计算科学的灵魂、信 息时代的技术价值以及布尔逻辑的智慧。 有人说计算思维的出现 是计算机文化(编程)的复兴,是纯计算机科学的回归,这虽有 一些偏激,但无疑能反映基于计算机之“计算”这一根本核心的 再次被重视。诚然,计算思维的思想不仅在程序设计教学方面被 重视,在信息采集、加工、表达、存储等技术学习方面也都应被 关注。只是,我们在运用它的时候不能仅浅显地置于算法设计或 方案规划这一个环节,需要有更深度更全面的思维含量。 接下来, 我们讨论的是在程序设计教学中有关计算思维的方式与作用,发现它对我们重构教学体系的价值意义。

2、对于信息技术教学内容的 变革,无论怎么取舍都不宜丢掉程序设计,因为这是计算机硬件与软件都要涉及的内容,在计算思维的倡导下,它还将是一切技 术思维活动的内容基础。为此,我们以程序设计教学为例剖析计 算思维各个层次的思维深度,探索深度思维架构的过程。第一层次的思维:从实际问题向数学模型架构近几年的程序教学中,伴随面向对象的程序设计语言的兴起, 建模能力培养被进一步弱化, 主要原因是控件的可视化和代码的 事件响应让编程向多媒体技术方向发展, 甚至包括机器人的可视 化编程也有此倾向。这种做法虽然没有过多地抛弃策略、规是有 断层但是缺乏由实际问题开始的底层思维,划等算法思想, 的。由于数学模型在各学科、

3、各领域都有诸多专业方法,以下我 们仅从程序教学涉及的实际问题入手, 简单地分析计算思维的表 现。从实际问题转化为“计算机可以完成的计算” ,数学模型的形 成是需要计算思维的。例 1 :计算多个规则图形组成的土地面积。我们先要考虑的输 入量是各部分图形的数据,如边、高、角 ; 输出量是它们的面积 之和 ;其中的计算关键并非是求和, 而是各种图形的分割及数据, 每部分面积求法是思维核心。 这里不考虑机器智能判断图形, 只 考虑输入各图形的特征数据,就已经够复杂。或者,再考虑有多 种分解法,那么数学模型的通用性就也要考虑。开始,得出的数 学模型描述可以是:S=S( 1) +S (2)+S( n) ;

4、S (三角形)、S(矩形)等图形面积逐个计算。然后,可能寻找更通用的任意三 角形或多边形的面积 S( i )。这种实际问题向数学思维发展的过 程是逐步加深的, 与纯数学问题的不同在于需要同步考虑计算机 程序的输入量与运算的关系,所以是计算思维的基础层次。 第二层次的思维:从数学模型向算法架构 当数学模型建立起来之后, 我们就需要进一步针对计算机进行 可行性设计,采用查找、筛选、递归、回溯等策略,依据计算机 获取、存储、逻辑分析等特点设计算法。于是,思维开始转向流 程图、伪代码(或简代码)等更计算机化的形式。:计算不规则图形的土地面积。如果作为纯数学问题,2 例 要涉及坐标分析、微积分的数学问题

5、。如果采用“笨”的计算机 计算,也会有更多其他思路,如“逐点扫描法”可以从图形学的 角度获得计算比例, 这是另一种数学模型, 更容易让我们明白数 学模型与算法的关系,其核心是思维方式的改变。 第三层次的思维:从算法向代码架构算法完善明确后, 程序设计有了良好基础, 但离设计出成功的 程序还有距离, 缩短距离需要的是对代码熟练掌握和创造性地运 用代码,现实问题求解让思维价值得到实现。例 3 :对个人藏书进行卡片化信息管理,需要对数据库中任意 一本书目各个字段内容合成、分段,并打印图书登记卡片。这个 问题的基本算法是字符串相加,折行打印。数学模型有多种,比 较简易的是: 不断地取固定长的字符串作为

6、一行打印内容, 最后 余下的字符串为最后一行。转化代码时,关键问题来了。对任意 一段英汉混合的字符串进行截取中如何防止取到一半汉字呢? 这已经不再是算法的问题, 而是代码编写技巧的问题, 要有对字 符底层存储的原理知识, 更要有基于原理的深度思维, 方才能够 从 ASCII 的角度去判断截取最后字符的结果是什么。 第四层次的思维:从代码向软件架构 会编写一段段的代码去解决单一的问题, 这只是零散的思维表 达,不论深度如何这都不是整体的思维架构。 算法与代码学习扎 实固然重要,但是作为创造者只有趋向软件设计才能让计算思 维充溢大脑。例 4 :做一个跟计算机博弈“剪刀石头布”的软件。单独从数 学结

7、构来说,计算机出“剪刀” “石头”“布”要有不同的数值来 代替,跟人即时出手的结果按规则比较 ; 从程序代码来说, 是“随 机数”与“分支结构”的运用。但是到了软件,就要考虑输入界 面(如何表达出人的出手) 、输出界面(如何表达计算机的出手 和博弈的结果),重要的是博弈的设计(计算机随机数的变化、 人机出手的比较和分数的统计等) ,这个整体的过程即是软件设 计思维的形成过程。 这是一种主动、 整体而深度的设计者的思维 成长。 第五层次的思维:从软件向计算机工程架构 软件不论大小与功能, 要看其系统内涵才能区分是不是对 “工 程”思维形成有帮助。工程首先是由系统分析师架构,他要从用 户需求出发,

8、结合硬件、软件和人力资源等多方面因素,系统地 设计解决方案。 这是集计算机科学和其他学科结合运用的高层次 的思维。例 5 :做一个学校交互宣传项目。从工程来说,学校宣传包括 需求分析(宣传内容、方式、效果等) 、规划(需要的素材、技 术、流程、产品及人员等) 、实施(算法设计、软件设计等) 、测 试(运行测试、问题修正)等。作为程序教学,经历工程的过程 这很有意义, 通过对流程的体验来集成与发展宏观思维, 这类似 广义的算法设计。 第六层次的思维:从工程向思想架构无论什么工作, 尤其是技术工程这样的综合事务, 经历会让思 维臻于成熟。 让学生经历一些实际的工程, 在思维发展的基础上 逐步形成创

9、意、创新思想这是计算思维最高层次的发展目标。例 6:使用动画模拟春天花开。不论从花朵设计、动画制作, 或者声音配置, 在这种看似非程序内容的学习中, 一般做法是运 用独立的元件进行逐个分步设计, 不涉及代码。 如果具有计算思 维意识,会很容易考虑到花儿的随机位置、 大小等灵活变化要素, 考虑到调用同一个元件只需控制内部不同帧就会达到不同开放 程度等独特技巧。 这种思维的灵活性, 无疑是符合运用计算提高 动画创作效率的计算思维的最高层次。以上对计算思维的架构过程, 是从对实际问题的基础认识开始, 到运用算法思想、代码功能、软件技术、工程思想一步步从小到 大进行分析, 以更容易区分计算思维的层次, 这只是其中一种学 习顺序, 并非完全是计算思维的运

温馨提示

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

评论

0/150

提交评论