- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE #
学习编程对比学习计算机科学
在当前 “鼓励孩子们学习编程”的热潮下,探究一下编程 与计算机科学之间的差异,我认为还是值得一做。
历史
我在学校学习了的 Logo Turtle语言,在家学习了 BBCBASIC 语言,这都是学习如何编程。 我按照说明,对着书本依葫芦画瓢, 并且为了私人化自己的程序做了一些小调整。
在高级程度,我开始学习“分析决策”,而不是深奥的微积 分和枯燥的公式。它着眼于如何富有逻辑地解决问题。 这是学习 如何成为一位程序员的完美开始, 我坚信,在学校里没有关于教 授编程的对话,是编程背后完全没有科学的理论认识的表现。
一个例子
这是我展示给想要了解计算机科学基础的人们的一个示例。
将下列数字排序:
7,8,1,327,6
在你的头脑中就足以做这件事了,不是吗?
ok向我解释一下你是怎么做到的吧?
我们接下来讨论这是什么问题 -我们排序数字时使用的方法 是什么?由高到低?还是由低到高?字母序的?实际上, 我们想
要对这些数字做什么呢?
我们可以给出怎样一系列的简单说明, 以至于完全的傻瓜都
可以依据这些说明得到正确的答案呢?
“陷阱”在哪儿呢?如果两个数字是一样的, 那么它们应该
如何排序呢?有关系吗?
有一些更加效率的方法将数字排序吗?效率低的时候好 吗?
你看-我们已经开始探索计算机科学了。我们可以设计出算 法,学习它们是如何发挥作用,为何重要的,写出伪代码,寻找 漏洞。
学习编程
以上是对计算机科学的很好的介绍。 现在让我们看看学习编
程教了人们一些什么。
sort([7, 8, 1,3, 2, 7, 6]);
或者,应该是这样的
var numbers = [7, 8, 1,3, 2, 7, 6];
numbers.sort();
这些内容教会任何人什么东西了吗?仅仅是语法。
我在学校学会 BASIC和Pascal语言。现在哪些人还在用它 们?没有人。学会编写 iPhone或者Android应用编程是极为有 趣的-但是10年间,当那些孩子们长大成人,这世界也将会前进, Objective C 语言会成为另一类被淘汰的语言。
是的,学习一种语言的基础知识对于学习另一种语言是有益 的-但它不是理解你做某一件事的基本科学的替代。
这就是为什么我是Apps For Good举措的一大支持者。而不 是赞成仅仅教孩子们怎样去创建一个 Android程序,它需要孩子
们经历设计,用户研究,竞争对手分析,测试,货币化,建立团 队,还有发布应用过程导致法律 /社会后果的整个过程。所有这
些对于将成为程序员的人来说都是至关重要的。
它不仅仅是学习制作一个应用时按哪些按钮 -它是关于更深
层次的理解。
if ($thou >= $summers_day)
{$darling_buds.winds($rough, $shake);}
让我们用语言来表达,人文学科的毕业生也可以理解它。
学习编程仅仅是教人们拼写。
计算机科学是关于什么可以使诗歌更加美丽, 为什么押头韵
更加迷人,抑扬五音步是怎样解开莎士比亚秘密的。
那些是我认为应该在学校里教授的内容。
文档评论(0)