为何说学计算机科学比学编程重要得多?计算机专业学生看过来!

中国人常说“授之以鱼不如授之以渔”。若是说教授编程是授之以鱼,那么教授计算机科学就是授之以渔。为何说学习计算机科学比学会编程要重要得多?来听听Yevgeniy Brikman的解释。程序员

学会思考,而不仅是编程

现现在,彷佛每一个人都在学习编程:Bill Gates、Mark Zuckerberg和Chris Bosh这些名人在Code.org网站上告诉人们每一个人都拥有编程的能力;CoderDojo项目在世界各地大张旗鼓;英国已经把编程做为小学官方课程。算法

不过,我认为这样有点误入歧途了。但请不要误会——我也确实认为代码可以让世界变得更美好——但编程自己并非咱们的目的。计算机和程序只是工具,它们是咱们通向终点的桥梁。数据库

咱们真正的目标应该是教会人们如何思考。换句话说,咱们应该教人们计算机科学,而不仅是编程。在这篇文章里,我将会解释这二者之间的区别,以及为何在这二者当中选择正确的一方对于迈向成功来讲如此重要。编程

咱们不妨先问本身一个问题:为何咱们要关心编程或计算机科学?浏览器

欢迎来到真实的世界

或许你正在使用Chrome或Firefox阅读这篇文章,这些浏览器可能运行在Windows或macOS上,而你可能正在使用笔记本或台式机。你今天可能花了一些时间阅读电子邮件、查看朋友圈的状态,或者在视频网站上看了一些视频。咱们的生活在很大程度上依赖了计算机:咱们的医疗记录保存在数据库里;咱们的简历可能放在了LinkedIn上;咱们使用Google或Facebook为产品作宣传;咱们在Amazon上购买这些产品;咱们直接在网络上进行报税;咱们使用网上电子银行;咱们甚至开始涉足电子货币。安全

如今将你的视线从电脑上移开:在你的口袋里或者桌角的某个地方可能放着你的手机,它装有GPS、摄像头、触摸屏和大量的应用程序。在你的客厅,可能有LCD电视机、DVR、DVD播放机、Apple TV、Xbox或PlayStation。这些设备上的视频、音乐和游戏都是由计算机图形和数字音频组成的。微信

当你通过你的汽车时,你是否想过,现代汽车是使用软件设计并在满布机器人和计算机的工厂里生产出来的?你开着车,使用Google地图导航,在Yelp上查找吃饭的地方或在TripAdvisor上查找休息的地方。在你的头顶上方有自动驾驶的飞机飞过,飞机里有Wifi和娱乐系统,能够与其余飞机、交通指挥中心和飞机厂商联系。再往上,卫星和太空站正围绕着地球绕圈,它们拍照、预报天气、转发电话信号。网络

软件正在吞噬着这个世界,但这只不过是个开始。在你意识到这一点以前,你可能已经穿上了智能可穿戴设备、使用电脑来锁门、使用机器人来送货或清理房间、开发本身的电子设备、有本身的制造车间、生活在虚拟现实里、乘坐自动驾驶的汽车,甚至飞向太空。数据结构

矩阵无处不在

上述的这些科技都是由软件驱动的,咱们的生活被代码所包围,而代码的数量在将来只会不断增长。机器学习

不过,虽然说科技无处不在,但这并不意味着你在学校里就必定要学习这些技术。比方说,咱们都须要乘坐飞机,但即便是K12也并无把得到飞行员驾照看成课程的一部分。

相反,学会使用那些可以帮助你理解飞行原理的工具倒是课程的一部分:

经过学习物理和数学,你了解了重力、做用力、压力、速度、摩擦力和浮力。

经过学习生物,你明白了人体在缺氧和寒冷的高空中会发生什么。

经过学习历史,你知道了飞机是怎样被发明和制造出来的,以及飞机在旅行、商务和战争中所扮演的角色。

中学毕业以后,你就知道飞机是什么东西,知道飞机是如何飞行的,以及如何安全地搭乘飞机。通常性的课程,如物理、数学、生物和历史,它们教会你如何思考各个领域的问题,包括飞机在内。相反,有些课程只是教会你如何使用一种工具,好比如何驾驶某种型号的飞机。

相似的,咱们应该专一于教授计算机科学,而不只仅是编程:前者可以教会咱们通常性的思考方式,然后者只是一种特定的工具。

什么是计算机科学?

计算机科学就是研究计算:如何表示和处理信息。

解决问题:你将学会各类算法策略,好比分而治之法、递归、探索法、贪婪搜索和随机算法,它们能够帮你分解和解决任何一种问题。

逻辑:你开始使用更准确和正式的方式进行思考,好比抽象、布尔逻辑、数字理论和集合理论,你所以可以以一种严谨的方式来解决问题。

数据:你接触到信息理论,想要了解信息是什么东西,你该如何表示它们,以及如何对这个真实的世界进行建模。

系统:你该如何设计和实现复杂的系统来知足一系列的需求?系统工程几乎已经成为各个业务领域的核心议题。

思考:了解人类思惟的最好途径就是尝试复制它。人工智能、机器学习、计算机视觉和天然语言处理不只仅是计算机科学的前沿技术,它们也涉及到了生物学、物理学、心理学和数学。

上述的清单并无说起编程或者程序,由于它们只是计算工具:它们都不是计算机科学。

在计算方面,咱们更多地依赖另外一个工具:咱们的大脑!计算机科学的目的是教会咱们的大脑进行创新性、通常性和普遍性的思考。随着科技的日益渗透,新的思考方式变得和物理、数学、生物和历史同样重要。

也就是说,只进行单独的思考是不够的:咱们须要知道如何应用咱们的思考。在物理学里,咱们使用天平、棱镜和磁铁作实验;在生物学里,咱们使用试管、植物和有盖培养皿;在计算机科学里,咱们学习编程。

什么是编程?

编程,或者说写代码,是指你发出指令让计算机执行一些操做。若是你以前历来没有写过代码,那么你可能习惯了使用已有的应用程序来与计算机发生交互。实际上,这些应用程序是由代码组成的,这些代码告诉计算机如何显示应用、在哪里存储数据、从哪里获取数据,以及如何对用户的鼠标点击作出响应。

编程是基于上述的计算机科学原则进行的。计算机科学的概念——逻辑、算法、数据和系统工程——能够用于构建全部的事物,从Web浏览器到飞机的自动驾驶软件。编程涉及到数学和数据结构,同时也是一项具备创造性的活动:每敲出一行代码,你的想法就又向现实迈近了一步。

将编程做为计算机科学的一部分带来了不少好处。

DIY:若是你会编程,你就能够本身开发软件。你能够从简单的开始:写一个脚原本重命名照片或写一个Excel公式来计算税金。而后更进一步:搭建一个网站;为你的公司开发一个移动应用;开发一款能够与你的朋友们一块儿玩的游戏。

问题诊断:在开发了几款应用以后,就能够轻松地理解其余的应用。在打败了对计算机的恐惧以后,你将成为技术大神。技术遍及咱们的生活,知道如何操纵它们变得与知道如何使用它们同样重要。

职业生涯:学习计算机科学的目的并非为了成为专业的程序员。咱们每一个人在学校里都学习数学、物理和化学,但并非每一个人都成为专业的数学家、物理学家或化学家。不过,若是你有这方面的热情,你会发现软件工程是一份高评价、高收入、增加快速的工做。

另外若是你想更好的提高你的编程能力,学好C语言C++编程!弯道超车,快人一步!

C语言C++编程学习交流圈子,QQ群【757874045点击进入】微信公众号:C语言编程学习基地

分享(源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比本身琢磨更快哦!

编程学习软件

编程学习视频

相关文章
相关标签/搜索