网站大量收购独家精品文档,联系QQ:2885784924

从数据的空间结构看计算思维.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

从数据的空间结构看计算思维

假设某节课的内容,是通过循环结构语句(或者流程图)来求得自然数数列若干项的和,那么在这节课中,到底哪些地方能落实计算思维的培养目标?虽然说教学内容中可能涉及抽象——如果将生活场景中的事件转化为数据和符号的表达看成是一种抽象的话,涉及借助循环结构实现重用,涉及逻辑严谨的执行、分析和调试过程……但毫无疑问这些都与计算思维有着关系。然而,常能见到一线教师在关于计算思维培养的分析案例中,以“因为使学生能够通过抽象/重用/逻辑分析来解决……的问题,从而有效培养了学生的计算思维”这样的句式得出结论,笔者感觉其论据是不充分的,甚至在以上句式的“能够通过”后加上那些公认为与计算思维密切相关的方法名词,如“迭代”“递归”“模块化”等,以这种形式表达观点的可靠性仍然值得怀疑。一方面,相关性和因果性本来就应避免相互混淆;另一方面,计算思维作为一种高阶思维具有系统思维整体性的特点。在利用计算思维解决问题的过程中,往往需要综合“用逻辑思维精准描述计算过程,用算法思维有效构造计算过程,用网络思维有效组合计算过程”[1],可见计算思维是在设计和使用某计算模型来解决具体问题的过程中,综合了具有多种特征的思维方式而整体涌现出来的,这样就难以用还原论的方法,认为只要在教学活动中体现了逻辑思維、算法思维、网络思维等,即是实现了计算思维的培养。当使用整体性思维解决问题时,“人们通过对要素的重组,改变对象系统的结构和层次关系,实现认识的突破……体现创造系统的自组织能力”[2],以此观点对照循环结构的教学内容,可以想见,对象系统结构和层次的再组织,不是仅仅借助修改一下初始值、循环条件、计数器的步长值等就能实现的。假设整个循环结构是预设的,如果学生能做的只是针对不同情境套用这个结构,那么无论是否在此过程中使用到有所谓抽象/重用/逻辑分析等特征的方法步骤,都只是应用了已有的结构,而没有实现认识的突破。

●解构:从流程图到安置物的空间

用变量值列表来跟踪流程图或程序中不同时刻变量值变化的情况,是算法教学中常见的方法,在分析数列求和的流程图或程序代码时,计数器变量和累加器变量的值的变化至关重要,让学生理解已有算法流程和变量变化之间的关系,是理所当然的。但为了体现计算思维的培养,可以考虑采用解构的方法,将变量值的变化从当前流程图和程序代码中剥离出来。

解构,是对已有结构的反叛和消解,作为哲学思想的解构主义的兴起,“对秩序、结构以及现有的语言体系产生了怀疑和否定……将斗争的矛头指向结构主义所推崇的整体、结构、次序、层次和权威”。[5]虽然本文不打算深入讨论解构主义的问题,但不妨将程序设计语言的结构也视为一种权威,大胆对其进行消解的尝试,甚至可将程序中的变量名本身和数字作为预设权威加以消解,或者,至少对变量加上括号使之成为(变量)而引发学习者对概念名词含义的怀疑。然后就只剩下了纯粹的代表数的物,这样就实现了符号的消解,虽然在操作过程中,为了交流上的方便,仍然要用某种符号如星号来代表这种“用以代表数的”物,然而,物与物在空间和时间上的关系,是不能被消解的部分,最初的时候,存在着用表格来代表的空间。空间和空间中的物,对应变量和变量值,具有同构的关系,如表1所示。如果说用变量的设定和变量值的变化,是对现实事件变化状态的抽象后的结构系统,则空间的设定和空间中物的变化,就是将原有结构系统拆解后的留存,为后续的重构提供了可能性。

●模式识别:空间中物的变化模式与计算的对应

从表2可以看出,三号空间中的物的数量,就对应着1、2到5数列的和。在这里没有流程图,没有程序代码,有的是可安置物的空间以及严格按步骤进行的复制和搬运的规则,可以轻易识别出其中的变化模式。当然,即便这个方法可以顺利求得数列和,但就好像歌德的叙事诗《魔法师的弟子》那样,一旦让扫帚开始取水,就难以停下来,所以这里暂且通过限定次数的方法来避免无休止的重复。限于篇幅,关于如何设计某个可以自动停止的规则系统的问题留待以后讨论。

通过特定规则的物的复制和搬运,使得这个空间结构能够实现特定的计算过程,显然,结合不同的空间结构和规则,就能实现不同目的的计算。有兴趣的读者可以试着用类似的方法得到1、4、9、16等完全平方数。

●抽象与重构:将数据作为计算的一部分

通过物的复制和搬运,使得这个空间结构能够实现特定的计算过程。接下去的问题就指向了计算自动化的可行性问题,重新构建计算装置的路径当然可以指向程序设计,但肯定不仅仅指向程序设计。为了计算思维的培养,在引入程序算法之前,首先要做的,是要更自由地进行抽象和重构的尝试,这样才能彰显出此前解构的意义。下面试举一例。

假设存在某个符号串,小括号、中括号和大括号分别对应三个存储物的空间:

(*)[*]{}

考虑存在一个机器人,它要做的就是自动通过物的复制和搬运来实现数列

文档评论(0)

std360 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档