2006年,卡内基·梅隆大学周以真教授首次系统性地定义了计算思维。这一年,她在美国计算机权威期刊《Communications of the ACM》上发表了题为《Computational Thinking》的论文,由此开启了计算思维大众化的全新历程。
计算思维其实是每个人在日常生活中都可以运用的一种思考方式,出行路线规划、理财投资选择、科学研究分析、天气预报预测,不论你试图解决什么问题,运用计算思维都能帮你化繁为简。
近几年发展起来的青少年编程机构宣传册中“计算思维”出现频率极高。片面的理解:计算思维就是关于数学的学问;会编程就学会了计算思维;会机器人拼接就学会了计算思维。
问题又来了,“计算思维”究竟是什么?
在《Computational Thinking》这篇论文中,周以真教授描述了计算思维:计算思维是运用计算机科学的基本理念,进行问题求解,系统设计以及理解人类行为。计算思维是一种解决问题的思考方式,而不是具体的学科知识,这种思考方式要运用计算机科学的基本理念和能力。
周以真教授对计算思维的几个清晰论断:
1 计算机思维是研究计算的。
2 是概念化,不是编程。
3 是基础技能,不是死记硬背的技能。
4 是人的思考方式,不是计算机的思考方式。
5 是数学思维、工程思维的补充和结合。
6 是想法,不是人造产品。
计算思维和编程的区别:计算思维是一种概念化的思考方式,而编程则是一种操作行为,虽然编程的过程中经常会用到计算思维,但计算思维不是编程。
计算思维和信息素养区别:信息素养注重的是培养人们对信息进行有效使用的方法,重点在于利用信息工具,比如Excel、搜索引擎的使用,从互联网上找到自己想要的信息等。而计算思维则是研究计算的,研究一个问题中哪些可以计算,怎样进行计算。
计算思维的两个核心特征:Abstraction (抽象)和Automation(自动化)。
第一步,我们先来看下运用计算思维进行问题求解的关键路径:
1、理解需求,把问题描述和需求理解清楚。
2、抽象建模,把实际问题抽象为数学模型。
3、数据结构选择,选择合适的数据结构表达模型中的数据。
4、编码实现,用程序选择合适的算法按照解题思路对问题进行分析和求解。
5、调试分析,确定计算机根据算法,计算出正确的结果。
第二步,抽象建模的过程就是理解的过程,考验对问题的理解能力、数学综合应用能力,是计算思维的重点也是难点。数学模型的好坏意味着你对问题的理解深度,而且数学模型还说明了在这个问题中,哪些东西可以计算以及如何进行计算。这个关键过程需要的核心能力就是抽象能力以及一定的数学基础。
第三步之第五步,把解题思路用程序语言表达并实现,最后利用计算机强大的运算能力完成问题自动化求解。
在整个过程中,抽象是方法,是手段,贯穿整个过程的每个环节。自动化是最终目标,让机器去做计算的工作,把人脑解放出来,中间目标是实现问题的可计算化,体现在成果上就是数学模型、映射、还有算法。
为什么说“全国青少年信息学奥林匹克竞赛(NOIP)”可以很好地锻炼学生的计算思维?
参加NOIP需要学生具备的几个条件:
1、兴趣 2、数学基础好 3、逻辑清晰。
NOIP主要考察学生的编程能力、阅读理解能力、抽象能力、解决问题能力,其解题过程:读题——抽象——编码——调试,整个解题过程就是计算思维思考问题的过程,通过此过程可以锻炼学生的阅读理解能力、抽象建模能力、灵活应用能力、分析定位解决问题能力、编程能力。
至此,你应该对计算思维有了一定的理解。当你再听到某些课程顾问说“我们的课程能培养孩子的计算思维时”,你可以反问一下他们是怎样培养孩子的计算思维的。
真正灵活运用计算思维去解决问题,还需要踏踏实实地掌握基础知识,多动脑、动手实战,实战中去形成自己的思维方式。
奇迹创客——专注青少年编程,培育科技特长生
奇迹创客致力于为青少年提供青少年编程、创客教育等相关联领域的培训服务,课程包括Scratch、Python、C++、CSP认证培训、开源硬件、人工智能产品探索、科技研学等科目。
同时有来自清华、北大、南开、天津大学等高校经验丰富的专业教研及师资团队为各年龄段青少年量身定制各类科技编程类大赛辅导计划,导师亲自带队参赛。
我们怀揣一个“与孩子一起创造奇迹”的梦想,一颗把教研、教学、服务做到极致的决心,为更多青少年种下创客的种子,助力孩子们的科技梦想扬帆起航!