购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 计算思维与程序设计

思维是人脑对客观事物间接、概括的反映。人是通过思维而达到理性认识的,所以人的一切活动都是建立在思维活动的基础上。其中科学思维的发展,极大地加速了生产力的发展。科学思维不仅是一切科学研究和技术发展的起点,而且始终贯穿于科学研究和技术发展的全过程,是创新的灵魂。研究界公认的三大影响人才成长的科学思维包括理论思维、实验思维和计算思维。其中,理论思维是以推理和演绎为特征的“逻辑思维”,用假设/预言-推理和证明等理论手段来研究社会、自然现象以及规律;实验思维是以观察和总结为特征的“实验思维”,用“实验—观察—归纳”等实验手段研究社会、自然现象;计算思维则是以设计和构造为特征的“构造思维”,用计算的手段研究社会、自然现象。

计算思维(Computational Thinking)是由时任卡内基梅隆大学(CMU)计算机系主任的周以真教授在2006年提出的。她定义计算思维是“运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。”计算思维是建立在计算和建模之上,能够帮助人们利用计算机处理无法由单人完成的系统设计、问题求解等工作。

计算思维的本质就是抽象(Abstraction)与自动化(Automation),即在不同层面进行抽象,以及将这些抽象机器化。计算思维关注的是人类思维中有关可行性、可构造性和可评价性的部分。当前环境下,当理论与实验手段面临大规模数据时,人们不可避免地要用计算手段来辅助进行数据处理。随着计算机技术在各行各业的深入应用,计算思维的价值也逐渐凸显出来。

程序设计语言(Programming Language)是人类用来与计算机沟通的语言,是由文字与符号所形成的程序语句、代码或指令的集合。每种程序设计语言都有各自的使用规则,即语法(syntax)。程序是由符合程序设计语言语法规则的程序语句、程序代码或程序指令所组成的,而程序设计的目的就是将用户需求使用程序指令表达出来,让计算机按照程序指令替用户完成诸多工作和任务。程序设计是给出解决特定问题程序的过程,是设计、编制、调试程序的方法和过程。它是目标明确的智力活动,是软件构造活动中的重要组成部分。程序设计通常分为问题分析、算法设计、程序编写、程序运行、结果分析和文档编写等阶段。

随着信息技术与网络科技的发展,一个国家或地区的程序设计能力已经被看成是国力或者地区竞争力的象征。程序设计不再只是信息类学科的专业人才应具备的基本能力,而是新时代各专业人才必备的基本能力。因为编程能力的本质实际上是计算思维能力,它是一种逻辑抽象、分析、设计、创造及表达能力,是综合性的解决问题能力。这种面向问题解决方案的思维能力与具体计算机语言是不相关的。因此,学习程序设计的目标绝对不是要将每个学习者都培养成专业的程序设计人员,而是要帮助学习者建立系统化的逻辑思维模式。编写程序代码不过是程序设计整个过程中的一个阶段而已,在编写程序之前,还有需求分析与系统设计两大阶段。计算思维是用来培养系统化逻辑概念的基础,进而学习在面对问题时具有系统的分析与分解问题的能力,从中探索出可能的解决办法,并找出最有效的算法。因此,可以说“学习程序设计不等于学习计算思维,但要学好计算思维,通过程序设计来学绝对是最快的途径”。计算思维是一种使用计算机的逻辑来解决问题的思维,前提是掌握程序设计的基本方法和了解它的基本概念。计算思维是一种能够将计算“抽象化”再“具体化”的能力,也是新一代人才都应该具备的素养。计算思维与计算机的应用和发展息息相关,程序设计相关知识的学习和技能的训练过程其实就是一种培养计算思维的过程。

程序的魅力不在于编写,而在于构造,即通过组合简单的已实现的动作而形成程序,再由简单功能的程序通过构造,逐渐形成复杂功能的程序。计算尽管复杂,却是机器可以执行的。程序构造是一种计算思维,而“构造”的基本手段是组合与抽象。“组合”就是将一系列动作代入到另一个动作中,进而构造出复杂的动作,它是对简单元素的各种组合。最直观的例子就是:一个复杂的表达式是由一系列简单的表达式组合起来构成的。再比如,如果学过程序设计语言,就会了解一个复杂的函数是由一系列简单的函数组合起来构成的,函数之间的调用关系等体现的就是组合。而“抽象”是对各种元素已经构造好的部分进行命名,并将其用于更为复杂的组合构造中。比如将一系列语句命名为一个函数名,用该函数名参与复杂程序的构造,抽象是简化构造的一种手段。所以说程序是构造出来的,而不是编写出来的。 YfEeO57q+3Yn4Ihjd9rWEFz8a8koKVfy8cMRUYNfnvgq90xVb62DxbFbC4uenXwH

点击中间区域
呼出菜单
上一章
目录
下一章
×