每个人都应该学会编程,因为它教会你思考。——史蒂夫·乔布斯
将生活和逻辑紧密联系在一起,一副骰子、一副扑克牌,甚至一支铅笔、一张纸,让孩子以简单、科学的方式学会编程思维;
内容易于孩子理解,每一个编程思维训练都有详细解释,有的还有详细图解,帮助孩子了解编程思维的过程;
附有相应插图,彩色印刷,让孩子读起来更加亲切、有趣,容易理解较难的知识点。
什么是编程思维?编程思维除了指数字、符号或代码,很重要的就是指创造性地解决问题、表达思想。
把编程语言的过去、现在,也许还有未来,紧紧联系在一起的,其实是一整套核心概念,这些核心概念都源于计算机科学、逻辑学和数学——这也正是本书将要探讨的内容。
在本书学习编程思维的过程中,不需要你事先接触一行实际的代码,不需要一台专用的电脑,也不需要什么专门的软件。一副骰子、一副扑克牌,甚至一支铅笔、一张纸,有了这些简单的工具,就可以学起来啦!
学习编程思维的这个过程,将帮助你培养批判性的思维方式,提升你的组织能力,增强你使用计算机的信心,帮助你更好地探索这新奇而趣味无穷的编程世界,创造性地解决问题。
学会编程思维
学习编程思维对于当代以及后代人们提高技术与知识水平至关重要。随着计算机在日常生活中的广泛应用、网络互联互通的进一步加深,人们的生活越来越便捷。现在,我们需要拥有这些工具,掌握其使用技能,这样才能获得有效的服务。明白了这一点,我们就可以借助现有的编程语言,进行人机“对话”,享受智能服务。而妨碍我们学习编程的一个常见问题是,不知从何学起,甚至怀疑能否学会。其实,不必为此担心,学习编程的途径有很多。
把编程语言的过去、现在,也许还有未来,紧紧联系在一起的,其实是一整套核心概念。你会发现,这些核心概念都源于计算机科学、逻辑学和数学——这也正是我们将要探讨的相关内容。希望通过这些知识和概念帮助你学会编程思维,而且不需要事先接触一行实际的代码。现在科技发展的速度实在太快,要想准确预测未来几年我们会使用什么先进技术与产品都非常困难,更不必说要解码了。所以我们希望你通过这些核心概念的学习,获取一套可以终生受益的工具,把自己武装起来,迎接各种挑战。学习编程思维的过程,将帮助你培养批判性的思维方式,提升你的组织能力,增强你使用计算机的信心。这样,即便在以后的人生道路上遇到了编程术语的问题,也不会为之困扰。
在学习编程思维的过程中,不需要一台专用的计算机,也不需要什么专门的软件。一副骰子、一副扑克牌, 甚至一支铅笔、一张纸,有了这些简单的工具,就可以学起来啦!
编程所涉及的知识非常广泛,不仅包括计算机的工作原理和思维模式等基础知识,还包括计算机科学常见的概念如循环、条件语句、变量等,甚至还需要探索和分析编程世界和自然世界的异同。本指导手册将会帮助你更好地探索这新奇而又趣味无穷的编程世界。
过河谜题
过河谜题广为流传,有很长的历史,可追溯至9 世纪,流传至今的一个版本是这样的:
农夫带着恐龙、小妖怪和一箱金子站在河边,准备渡河。农夫要用船将恐龙、小妖怪和金子运过河,但是船不够大,农夫每次只能带一样东西。农夫不能将恐龙单独和小妖怪放在一起(恐龙会吃掉小妖怪),也不能将小妖怪单独和金子放在一起(小妖怪会啃食金子)。那么如何在保证金子、小妖怪和恐龙都完好无损的情况下,把它们都运过河呢?
思考一下,我们过一会儿再回头来看这道谜题。在这道谜题中,你可能会觉得受到了约束,为何不把农夫、小妖怪和金子都放在恐龙的背上,让恐龙游过去呢?为何不让农夫用金子买一艘大一点儿的船呢?谜题的要求约束了你,不允许你采用这样创造性的方法。
编程时,经常也会遇到约束条件。有些约束来自正使用的计算机,或是硬盘空间不够,或是系统剩余的内存有限,而你所编写程序占用的内存太大。
有些约束与时间有关,如编程项目可能需要在两天内完成,于是你就只有大约一天的时间编程,没有足够的时间考虑各种情况。这时候你可能会感到万分沮丧,这完全是可以理解的。不过你还是得找到解决问题的方法,想出最佳的解决方案。
解决方案:
我们再回到过河的谜题中来,你有答案了吗?以下就是解决方案。
• 农夫留下恐龙和金子,先将小妖怪运到河对岸。
• 农夫返回来,再将恐龙运到河对岸。
• 农夫再次返回时将小妖怪带回来,然后把金子运到河对岸。
• 最后农夫再返回来将小妖怪运过河,这样农夫、恐龙、小妖怪和金子就都到了河对岸。
你可能会考虑到谜题中出现的约束条件:农夫不能将恐龙单独和小妖怪放在一起,也不能将小妖怪单独和金子放在一起。但是你很快会意识到有一个没有约束的条件——一个根本没有告知的条件,那就是你可以往返多次,而且可以将已经运过去的东西再运回来。
从这个谜题中,我们可以得知,解决问题时要关注那些没有给出的条件和信息,因为答案有时就隐藏在看不见的地方。还有一点,做好接受意料之外的准备吧!
第一章 学会编程思维
002 学会编程思维
005 什么是编程?
007 计算机无处不在
011 计算机的特征
019 计算机如何工作?
026 计算机的出现
029 编程与计算机的历史
033 人人都能学会编程
035 世界需要更多的编程者
第二章 解决问题
038 解决问题
039 大脑是怎样工作的?
041 解决复杂的问题
043 脑力训练
048 更多逻辑谜题
052 约束条件
056 编程就是要简单
第三章 学习编程语言
064 学习编程语言
066 编程语言的语法规则
071 编程的形式
074 面向对象程序设计(OOP)
078 不同的数据类型
082 数据结构
083 算法
087 循环
096 条件语句
106 流畅的运算符
110 趣味函数
118 变量
129 调试
第四章 继续努力
138 还该做什么?
144 让世界变得更加美好
146 又到了做游戏的时间了吗?
151 生活,就是编程思维
154 再谈计算机思维
161 词汇表
166 拓展阅读