中国人常说授之以鱼不如授之以渔。假如说教授编程是授之以鱼,那样教授计算机科学就是授之以渔。为何说学习计算机科学比掌握编程要要紧得多?来听听 Yevgeniy Brikman 的讲解。下面是学习啦的我们为你们收拾的文章,期望你们可以喜欢
而今,好像每一个人都在学习编程:Bill Gates、Mark Zuckerberg 和 Chris Bosh 这类名人在 Code.org 网站上告诉大家每一个人都拥有编程的能力;CoderDojo 项目在世界各地大张旗鼓;英国已经把编程作为小学官方课程。
不过,我觉得如此有点误入歧途了。但请勿误会我也确实觉得代码可以让世界变得更美好但编程本身并非大家的目的。计算机和程序只不过工具,它们是大家通向终点的桥梁。
大家真的的目的应该是教会大家怎么样考虑。换句话说,大家应该教大家计算机科学,而不仅仅是编程。在这篇文章里,我将会讲解这两者之间有什么区别,与为何在这两者当中选择正确的一方对于迈向成功来讲这样要紧。
大家可以先问自己一个问题:为何大家要关心编程或计算机科学?
欢迎来到真实的世界
可能你正在用 Chrome 或 Firefox 阅读这篇文章,这类浏览器可能运行在 Windows 或 macOS 上,而你可能正在用笔记本或台式机。你今天可能花了一些时间阅读邮件、查询朋友圈的状况,或者在视频网站上看了一些视频。大家的生活在非常大程度上依靠了计算机:大家的医疗记录保存在数据库里;大家的简历可能放在了 linkedIn 上;大家用 谷歌 或 Facebook 为商品做宣传;大家在 Amazon 上购买这类商品;大家直接在互联网上进行报税;大家用网上电子银行;大家甚至开始涉足电子货币。
目前将你的视线从电脑上移开:在你的口袋里或者桌角的某个地方可能放着你的手机,它装有 GPS、摄像头、触摸屏和很多的应用程序。在你的客厅,可能有 LCD 电视机、DVR、DVD 播放机、Apple TV、Xbox 或 PlayStation。这类设施上的视频、音乐和游戏都是由计算机图形和数字音频组成的。
当你经过你的汽车时,你是不是想过,现代汽车是用软件设计并在满布机器人和计算机的工厂里生产出来的?你开着车,用 谷歌 地图导航,在 Yelp 上查找吃饭的地方或在 TripAdvisor 上查找休息的地方。在你的头顶上方有自动驾驶的飞机飞过,飞机里有 Wifi 和娱乐系统,可以与其他飞机、交通指挥中心和飞机厂家联系。再往上,卫星和太空站正围绕着地球绕圈,它们拍照、预报天气、转发电话信号。
软件正在吞噬着这个世界,但这只是个开始。在你意识到这一点之前,你可能已经穿上了智能可穿着打扮设施、用电脑来锁门、用机器人来送货或清理房间、开发我们的电子设施、有我们的制造车间、生活在虚拟现实里、乘坐自动驾驶的汽车,甚至飞向太空。
矩阵无处不在
上述的这类科技都是由软件驱动的,大家的生活被代码所包围,而代码的数目在将来只能不断增加。
不过,虽说科技无处不在,但这并不意味着你在学校里就必须要学习这类技术。比如,大家都需要乘坐飞机,但即便是 K12 也并没把获得飞行员驾驶证当作课程的一部分。
相反,掌握用那些可以帮你理解飞行原理的工具却是课程的一部分:
● 通过学物理和数学,你知道了重力、用途力、重压、速度、摩擦力和浮力。
● 通过学生物,你了解了人体在缺氧和寒冷的高空中会发生什么。
● 通过学历史,你了解了飞机是如何被创造和制造出来的,与飞机在旅游、商务和战争中所饰演的角色。
中学毕业之后,你就了解飞机是什么东西,了解飞机是怎么样飞行的,与怎么样安全地搭乘飞机。通常性的课程,如物理、数学、生物和历史,它们教会你怎么样考虑每个范围的问题,包含飞机在内。相反,有的课程只不过教会你怎么用一种工具,譬如怎么样驾驶某种型号的飞机。
类似的,大家应该专注于教授计算机科学,而不止是编程:前者可以教会大家通常性的考虑方法,而后者只不过一种特定的工具。
什么是计算机科学?
计算机科学就是研究计算:怎么样表示和处置信息。
● 解决问题:你将掌握各种算法方案,譬如分而治之法、递归、探索法、贪婪搜索和随机算法,它们可以助你分解和解决任何一种问题。
● 逻辑:你开始用更准确和正式的方法进行考虑,譬如抽象、布尔逻辑、数字理论和集合理论,你因此可以以一种严谨的方法来解决问题。
● 数据:你接触到信息理论,想要知道信息是什么东西,你该怎么样表示它们,与怎么样对这个真实的世界进行建模。
● 系统:你该怎么样设计和达成复杂的系统来满足一系列的需要?系统工程几乎已经成为每个业务范围的核心议题。
● 考虑:知道人类思维的最好渠道就是尝试复制它。AI、机器学习、计算机视觉和自然语言处置不止是计算机科学的前沿技术,它们也涉及到了生物学、物理学、心理学和数学。
上述的清单并没提及编程或者程序,由于它们只不过计算工具:它们都不是计算机科学。
在计算方面,大家更多地依靠另一个工具:大家的大脑!计算机科学的目的是教会大家的大脑进行革新性、通常性和广泛性的考虑。伴随科技的日益渗透,新的考虑方法变得和物理、数学、生物和历史一样要紧。
也就是说,只进行单独的考虑是不够的:大家需要了解怎么样应用大家的考虑。在物理学里,大家用天平、棱镜和磁铁做实验;在生物学里,大家用试管、植物和有盖培养皿;在计算机科学里,大家学习编程。
什么是编程?
编程,或者说写代码,是指你发出指令让计算机实行一些操作。假如你之前从来没写过代码,那样你可能习惯了用已有些应用程序来与计算机发生交互。事实上,这类应用程序是由代码组成的,这类代码告诉计算机怎么样显示应用、在哪儿存储数据、从哪儿获得数据,与怎么样对用户的鼠标点击做出响应。
编程是基于上述的计算机科学原则进行的。计算机科学的定义逻辑、算法、数据和系统工程可以用于构建所有些事物,从 Web 浏览器到飞机的自动驾驶软件。编程涉及到数学和数据结构,同时也是一项具备创造性的活动:每敲出一行代码,你的想法就又向现实迈近了一步。
将编程作为计算机科学的一部分带来了不少好处。
● DIY:假如你会编程,你就能自己开发软件。你可以从简单的开始:写一个脚本来重命名照片或写一个 Excel 公式来计算税金。然后更进一步:搭建一个网站;为你的公司开发一个移动应用;开发一款可以与你的朋友们一块玩的游戏。
● 问题诊断:在开发了几款应用之后,就能轻松地理解其他的应用。在战胜了对计算机的恐惧之后,你将成为技术大神。技术遍布大家的生活,了解怎么样操纵它们变得与了解怎么用它们一样要紧。
● 职业生涯:学习计算机科学的目的并非为了成为专业的技术员。大家每一个人在学校里都学数学、物理和化学,但并非每一个人都成为专业的数学家、物理学家或化学家。不过,假如你有这方面的热情,你会发现软件工程是一份高评价、高收入、增长迅速的工作。
概要
让大家回顾一下:
● 计算机科学代表了一种新的考虑方法。在一个被技术渗透的世界里,计算机科学的定义对于每个人来讲都是很有用的。
● 编程是学习计算机科学的一种渠道,但它本身并不拥有通常性目的。
混淆了这两者就会让学习编程偏离正确的方向。Slate 写过可能不是每一个人都要学习编程的文章,Atlantic 也写过新闻学院不必需要学生记者掌握编程的文章,而 Jeff Atwood 在他的文章请勿学习编程中问了一个问题,这个问题就是混淆定义的例子:
假如有一天,Michael Bloomberg 在早上醒来时发现自己变成了一个 Java 编程高手,对于这个领导着美国最大城市的大人物来讲,他的平时工作会不会如虎添翼?
当然,这个问题本身就是有问题的。这要归因于大家将学习编程作为终极目的,而不是学习怎么样考虑。即便是 Jeff Atwood 这位经验丰富且倍受尊敬的技术员尚且分不了解其中有什么区别,就别指望普通人可以搞了解问题的实质了。大家应该这么问:
假如 Bloomberg 通过学习新的解决问题方案和学会更好的逻辑领悟技能来改进他的考虑方法,那样他在平时工作中会不会变得更好?
我想答案是显而易见的。伴随技术愈加广泛地渗透到大家生活的每个方面,答案会愈加明显。这就是为何大家要专注于教授计算机科学而不仅仅是教授怎么样编程是什么原因。
掌握考虑有关文章:
1.关于掌握考虑作文三篇
2.掌握考虑作文甄选4篇
3.掌握考虑议论文作文4篇
4.关于考虑的名言句子
5.关于学习与考虑作文
6.关于考虑的日记甄选 写考虑的日记
7.2019音乐艺考生钢琴成绩怎么样提升,掌握考虑和有效重复
8.以写考虑为话题作文
9.以考虑为话题作文
10.国旗下的讲话稿考虑3篇