这是一个人人都在学习编程的时代,但是...

 

但是学会写代码不应该是我们的目标。...



这是一个人人都在学习编程的时代
但是学会写代码,不应该是我们的目标


我们经常提到的富豪比尔·盖茨,马克·扎克伯格和克里斯·波什等这些名人(什么?没听过?),李彦宏、马化腾、雷军以及奥巴马...他们都会编程,在英国,编程已经是各个年级学生的正式课程。

当奥巴马、扎克伯格、微软、苹果、Google 等大名鼎鼎的个人和企业都出来呼吁全民写代码的时候,仿佛耳畔回想起上个世纪末非常时髦的一句话:
“在 21 世纪
不懂英语和计算机就是废物


在我们的教育中,编程代码这些知识已经属于专业知识的范畴,但是由于对于技术职工的需求见涨,代码学习隐隐有成为公共课程的趋势。

奥巴马说
“不要只是买一个视频游戏,更要去制作它
不要只是下载一个最新的软件,更要去帮助设计它
不要只是玩玩你的手机,更要去学会编程
没有人生来就是计算机科学家
但是仅需一些苦功,一些数学和科学知识
每个人都能成为一个计算机科学家” 
而美国众议院多数党领袖 Eric Cantor也说到:
“编程是本世纪必须的工具(技能)”

但是
在这里我想说
我认为这里有个误区。别误会我——如果每个人都会一些编程知识,这个世界当然会变得更好——但是学会写代码不应该是我们的目标。计算机和程序只是一个工具,是一种达到某种目的的方法。

编程不是目标,真正的目标应该是学会思考的方式。

换句话说,我们应该尝试教授计算机科学,而不仅仅是教着写代码。在本文中,我将介绍两者的不同,以及为什么后者是当下学编程浪潮成功的关键。

让我们先从一个关键的问题开始吧:为什么你要学习编程或计算机科学呢?

回答这个问题之前,我们先卖个关子。


看看我们真实的世界
现在,你可能正在用微信在看这篇文章,或者打开电脑运行IE、Google、360等浏览器,在Windows或者OS X操作系统上,用的一台笔记本或者台式机。

我猜你今天还花了一些时间玩电脑游戏,刷淘宝,或者在某个网站上看视频了。

如今,人们的生活越来越依赖于计算机:医疗记录存放在了数据库中;简历在网上直接投;找工作在网上找,甚至使用网站来推销你的产品;用淘宝、天猫来买东西;在网上视频,在网上聊天;发发红包,是不是刚刚还发了个红包?



现在,从屏幕上移开你的眼睛:

在你的口袋,包包,或者旁边的桌子上,可能就有一部智能手机。它装有GPS,摄像头,触摸屏,还有成千上万的手机软件应用。

如果你现在在客厅,你可能还有一台联网的LCD电视,一台DVR,DVD播放器,数字电视,或者电脑里正下载着《欢乐颂》或者某个电视剧。你每天看的电影,听的音乐,玩的游戏,就封装在这些设备显卡和声卡中。

软件正在占领这个世界,但这还只是个开始。

不知不觉中,你就穿着各种可穿戴设备,用计算机来锁门,用机器人来运货,打扫房间。拥有你自己的电子技术,经营自己的生产厂,生活在虚拟的世界中,乘自动驾驶的汽车去旅行,甚至飞向太空。


代码无处不在
毫无疑问,以上我所描述的技术的源动力是软件。你生活的每一个方面,都被代码所包围。大量的代码会让未来变得美好。

但是,仅仅是一项技术非常普遍不能成为你在学校学习它的理由。就像我们乘坐飞机,但是考飞机驾照并不在从幼儿园到12年级的课程中。
然而,飞行的原理却是课程的一部分
    物理学和数学让你明白重力、弹性元件、压力、速度、摩擦和攀升等方面的知识。生物学让你明白人体在高海拔、低氧、极端寒冷等情况下的反应。历史解释了飞机的发明,进化,以及其在旅行、商业和战争中扮演的角色。


从中学毕业的时候,你就已经知道了飞机是什么,它是如何工作的,如何安全乘坐飞机。通识类课程,像物理学,数学,历史,教会你如何思考各种各样的问题,包括飞机;与之形成对比的是教会你是用工具的课程,像教你如何驾驶一种特定类型的飞机。



什么是计算机科学
计算机科学是一门研究计算的学科:就是说,如何表述和处理信息。以下是一些你会学到的概念:

    解决问题:你将会学习算法——就是通用的一些方法,像是分治算法、递归、遗传算法、贪心算法——帮助你建模,分解,解决各种各样的问题。逻辑:你将开始使用精密又正式的方法思考问题,像是抽象,逻辑代数,数论和集合论,来用严密的逻辑解决问题。数据:你将会接触到信息论,并开始思考什么是信息?如何表述?如何对真实的世界建模?系统:如何设计与构建复杂的系统,来实现一系列的需求?系统工程是一个几乎在各个领域都涉及到的重要的主题。思考:了解人类大脑最好的方式,是试着去复制它。像人工智能、机器学习、计算机视觉、自然语言处理这些话题,不仅仅在计算机科学领域,同时在数学,生物,物理,哲学等方面都是最前沿的科学。


注意,上面的清单中并没有提到代码或者编程,因为它们只是实现计算的工具:它们本身并不是计算机科学。

计算机科学并不是关于计算机的科学,就像天文学不是关于望远镜的科学,生物学不是关于显微镜的,化学不是关于烧杯和试管。科学并不是研究工具的。


什么是编程
编程,或写代码,就是指示计算机来执行哪一些指令。如果你从未写过代码,也可能通过操作应用程序来和计算机交互。其实在内部,这个应用程序也是通过代码来告诉计算机显示什么,在哪里检索数据,以及对于你的点击操作做出什么回应。



所有的编程都是建立在我们上面讨论的计算机科学的原理上的。值得注意的是,同一组概念——逻辑、算法、数据、系统工程——可以用来构建任何软件,小到你现在阅读这篇文章用的这个微信浏览器,大到飞机上的自动驾驶软件。尽管会涉及到一些数学和架构的知识,但这却是极富创造性的活动:

你将想法变成现实,一次一行代码。


将编程作为学习计算机科学的一部分

有什么好处?
  1. DIY:如果你会编程了,你就可以制作一些东西。可以从最简单的开始:做一个能给旅游照片批量重命名的脚本,或者写一个Excel公式帮自己计算税务;然后,开始发烧级别的:给你自己的文件系统写一个浏览器;给你们公司做一个app;或者写一个能够和朋友一起玩的游戏。
  2. 解决问题:一旦你亲手做了几个app,弄清楚其他的就简单多了。一旦你不再害怕计算机——未知的领域——你就会成为技术达人。随着技术已经关系到我们生活的每个部分,掌握它们就会变得和学会阅读一样重要。
  3. 事业:升职加薪啊。我们学习计算机科学的目标不是成为职业的程序员。我们都学了数学,物理,化学,但是我们并没有都成为这方面的专家。然而,如果你对这方面有激情的话,软件工程师也是一份评价高,薪资高,进步快的职业。
总结
  1. 计算机科学是一种新的思考方式。在这个技术时代,其中的概念对每一个人都很有帮助。
  2. 编程是学习计算机科学重要的一部分,以实现这些新的思考方式。然而,编程本身并不是目标。


而且随着科技的发展,我们必将通过学习解决问题的方法,训练严密的逻辑来提高自己的能力,这就是为什么,我们要把教学重点放在实战教学、教大家思考上,而不仅仅是代码。


那么,如何开始
好消息是,就在你读到这里的时候,你已经开始学习计算机科学了。

事实上,你只需一台电脑和一根网线。我想,现在你正在阅读本文,那么很可能你两者都有了。
如果你还不懂
怎么开始
那么请来沃德学院

感谢阅读
END

微信号:wodexueyuan
求知与学习的理想之地。给你的梦想一个机会。



    关注 哈伦沃德学院


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册