来源:黑马程序员广州中心 2018-06-14 10:24:58
在当前 “鼓励孩子们学习编程”的热潮下,探究一下编程与计算机科学之间的差异,我认为还是值得一做。
历史
我在学校学习了的Logo Turtle语言,在家学习了BBC BASIC语言,这都是学习如何编程。我按照说明,对着书本依葫芦画瓢,并且为了私人化自己的程序做了一些小调整。
在高级程度,我开始学习“分析决策”,而不是深奥的微积分和枯燥的公式。它着眼于如何富有逻辑地解决问题。这是学习如何成为一位程序员的完美开始,我坚信,在学校里没有关于教授编程的对话,是编程背后完全没有科学的理论认识的表现。
一个例子
这是我展示给想要了解计算机科学基础的人们的一个示例。
将下列数字排序:
7,8,1,3,2,7,6
在你的头脑中就足以做这件事了,不是吗?
OK,向我解释一下你是怎么做到的吧?
我们接下来讨论这是什么问题-我们排序数字时使用的方法是什么?由高到低?还是由低到高?字母序的?实际上,我们想要对这些数字做什么呢?
我们可以给出怎样一系列的简单说明,以至于完全的傻瓜都可以依据这些说明得到正确的答案呢?
“陷阱”在哪儿呢?如果两个数字是一样的,那么它们应该如何排序呢?有关系吗?
有一些更加效率的方法将数字排序吗?效率低的时候好吗?
你看-我们已经开始探索计算机科学了。我们可以设计出算法,学习它们是如何发挥作用,为何重要的,写出伪代码,寻找漏洞。
学习编程
以上是对计算机科学的很好的介绍。现在让我们看看学习编程教了人们一些什么。
sort([7, 8, 1, 3, 2, 7, 6]);
或者,应该是这样的
var numbers = [7, 8, 1, 3, 2, 7, 6];
相关推荐:
小升初试题、期中期末题、小学奥数题
尽在奥数网公众号
欢迎使用手机、平板等移动设备访问幼教网,幼儿教育我们一路陪伴同行!>>点击查看