计算思维及其培养方式

计算思维(Computational Thinking)

关于“思维”, 大家想必都听说过“逻辑思维”(“逻辑”不是“罗辑”)、“批判性思维”等名词。相比较而言,“计算思维”却要陌生得多。

其实,计算思维(Computational Thinking)并不是一个新概念,至少在上个世纪五十年代就已经被明确提出来了。

不过直到2006年,这一概念才经由美国计算机科学家,卡内基-梅隆大学教授周以真引入教育领域,相对较晚。目前还不甚广为人知。

到底什么是计算思维呢?

周以真曾经将其描述为:“像计算机科学家一样思考问题”——

通过将一个个具体问题及其解决方案表达成计算机可以处理的形式,并设计计算的方式,将客观世界解释为一个复杂的信息处理过程。

整个过程,有些类似平面几何解题的“已知->求解”的过程。

通用的思维方式

计算思维并非计算机专业独有的,而是一种通用的思维方式。将上一段的描述更抽象一层,其实计算思维就是:

  • 把一个大问题分解为一个个子问题,再进一步分为一个个子子问题……直到无需分解;

  • 分别去执行一个个最小规模的子孙问题;

  • 按照问题划分的结构将各个小问题的结果组合成整个问题的结果。

也就是自顶向下进行结构化设计,遇事“分而治之,各个击破”。

这种解决问题的方法,是各行各业都需要的。

准备一桌宴席该怎么做?先确定一共有几个菜;再购买原料,各个烹调,装盘上桌——这是分而治之的过程。

创作一个漫画故事该怎么做?先确定故事背景、人物设置;构思主题、情节,绘制分镜头脚本;再将每个镜头的草图通过精描、上色等步骤绘制成成品图——这也是分而治之,各个击破。

举办一场学术会议该怎么办?先确定主题、主讲人、参会群体、场地;再分头准备:邀请主讲人,确定演讲题目,制定日程;租用/借用场地,协调交通,布置会场;招募参会者,注册、缴费,安排各项活动——多管齐下,却也是各个击破。

开办一家餐馆该怎么做?……

拍摄一部电影该怎么做?……

研发一款电动汽车该怎么做?……

建设一个高新科技开发区该怎么做?……

……

世界上的问题有大有小,所需要的资源有多有少,但抽象到最高层面的方法论却是一致的。

强调可行与实践

和哲学式的探究与纯逻辑的符号推导不同,计算思维强调实践性——解决方案不是理论正确就好了,要在实际中可行才可以。

这一特点是由这一思维的诞生背景所决定的——当计算机科学家处理问题时,除了要知道如何将一个问题抽象为计算机能够理解的可计算模型,还要能够将计算收敛到有限空间中得到结果。

如果算法的时空复杂度过大,以当前的算力在有效求解的时间内无法得出结果,那么再完美的理论算法也无法在现实中奏效。

计算思维能够让我们明白正确性和可行性的关系——知道什么叫巧妇难为无米之炊,明白“实验室结果”和“日常使用效果”的必然差距。

在日常生活中解决问题时,某个解决方案是否可行,甚至于比它是否在理论上存在更加重要。 

毕竟,无解只是影响到当前问题,而一旦动用大量资源去运行某个理论上存在却实际不可行的“解法”,不但无法解决当前问题,还有可能影响体系中原本可以正常运行的其他部分,导致大量衍生问题。

培养计算思维

计算思维作为一种思维方式,不是抽象概念,而是人们通过长期大量的实践经验——尤其是计算机科学发展以来的计算实践——积累、总结出来的。

因此,单靠理论学习是无法掌握计算思维的。必须经由大量的实践。毕竟,实践是人类对客观世界的认知及理论的来源,也是检验理论的有效标准。

已经工作的成年人还可以通过解决自己每天面对的问题来获取实践经验,学生(包括大众小学)却并不享有这样真实的历练环境。

在这种情况下,对于青少年及大学生而言,编程实践就成了最佳的习得计算思维的方式。

编程:从技能练习到思维训练

作者之前写过几篇关于少儿编程的文章:

《"儿童编程"到底能教会孩子什么?

《不要误会了"学编程"》

《教了一年少儿编程,说说感想和体验》

写这几篇文章的出发点,主要还是从编程技能正在从专业技能走向通用技能的角度来解读编程教育的跨专业扩展和低龄化延伸。

不久前,作者阅读了CCF(中国计算机学会)杰出会员,北京航空航天大学计算机系尹宝林教授发表在《中国计算机学会通讯》2019年10月刊上的《编程实践是培养计算思维的必由之路》一文。

读罢,不觉有醍醐灌顶之感——编程实践不仅仅是简单的技能培训,而是计算思维的培养——也因此对推广少儿编程这件事有了一个新的认识!

师恩难忘

顺便说一下,作者是本世纪初期从北京航空航天大学计算机系(六系)毕业的,曾经做过尹宝林教授的学生。

在那个高校生源大量扩招,教学经费又相当紧张的时期,教学质量曾经一度再是众多学生包括某些施教者的首要追求目标。

在那样的大环境之下,北航六系的老师们仍然不忘教育者的初心,以一己之力维护着教学的学术性和严肃性。在六系众多以教学严谨、严格著称的老师中,尹宝林老师是最突出的教师之一。

当时许多学生对于如此优秀的教学资源却并不领情,给几位最严格的老师起了个“四大名捕”的绰号,暗指他们学科结业考试太难,经常“抓人”(判不及格)。尹老师就是这“四大名捕”之首。

时过境迁,自己职场沉浮多年后,再回想起曾经的时光,才明白老师们的一片苦心。

尹宝林老师在CNCC2019“编程普及教育与计算思维培养”NOI论坛发言

前些时候得知,原来尹老师多年前就已经将主要精力投入到了青少年编程教育上,现在是中国信息学奥林匹克(NOI)国家队副领队。

之后,看到了尹老师的文章。文中列举了对于计算思维的不同理解和关于培养计算思维的不同观点,最终尹老师确定地给出自己通过多年实践后获得的第一手经验:

“一个听过枪响的士兵和没有听过枪响的士兵是完全不一样的。”今天,我们也可以说,信息素质的培养上,一个写过程序的学生和没有写过程序的学生是完全不一样的。

……

实践证明,这些写过程序的学生,特别是写过较多程序的学生,不仅在大学的专业学习中,而且在接受新概念和抽象理论时,在灵活运用所学知识时,比没有写过程序的同学有着明显的优势,在非信息类课程的学习中也同样表现出色,充分体现出编程实践对思想方法和思维定式的培养作用。

尹宝林,公众号:中国计算机学会CCCF专栏 | 编程实践是培养计算思维的必由之路

编程,不仅仅是一种技能,更是一种可以获得计算思维的高效训练方式!相信编程实践在未来的基础教育、高等教育中所占有的地位会越来越重要。

“众智汇”愿景

尽职尽才,允公允能 —— 本社群不定期举行线上分享,组织群友分享知识、经验、资源,以达到让我们每个人的职业生涯得到最大程度的发展的目的

欢迎扫面下列二维码关注“悦思悦读”公众微信号

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值