做网站v赚钱,短期设计培训班,查看网站是什么语言做的,进入微信官方网站注册英文原文#xff1a;Dont learn to code, learn to think 译/赖信涛 这是一个人人都在学习编程的时代#xff1a;Code.org请了比尔盖茨#xff0c;马克扎克伯格和克里斯波什等这些名人#xff0c;来告诉你#xff0c;每个人都可以编程#xff1b;CoderDojo’s在各个国家悄… 英文原文Dont learn to code, learn to think 译/赖信涛 这是一个人人都在学习编程的时代Code.org请了比尔·盖茨马克·扎克伯格和克里斯·波什等这些名人来告诉你每个人都可以编程CoderDojo’s在各个国家悄然兴起在英国编程已经是各个年级学生的正式课程。 我认为这里有个误区。别误会我——如果每个人都会一些编程知识这个世界当然会变得更好——但是学会写代码不应该是我们的目标。计算机和程序只是一个工具是一种达到某种目的的方法。 真正的目标应该是学会思考的方式。换句话说我们应该尝试教授计算机科学而不是教着写代码。在本文中我将介绍两者的不同以及为什么后者是当下学编程浪潮成功的关键。 如果你喜欢视频的解释我强烈推荐Simon Peyton Jones的TEDTeaching Creative Computer Science。这和本文的论点不谋而合。 看完之后依然想看文字的版本么好的。让我们先从一个关键的问题开始吧为什么你要学习编程或计算机科学呢 回答这个问题之前我们先卖个关子。 欢迎来到真实的世界 现在你可能正在用Chrome或者Firefox浏览器在看这篇文章运行在Windows或者OS X操作系统上用的一台笔记本或者台式机。我猜你今天还花了一些时间查看电子邮件刷Facebook或者在Youtube上看视频了。如今人们的生活越来越依赖于计算机医疗记录存放在了数据库中简历放在LinkedIn上使用Google或者Facebook来推销你的产品用Amazon来买东西在网上报税在线管理你银行的账户甚至还涉足了比特币。 现在从屏幕上移开你的眼睛在你的口袋包包或者旁边的桌子上可能就有一部智能手机。它装有GPS摄像头触摸屏还有成千上万的应用。如果你现在在客厅你可能还有一台联网的LCD电视一台DVRDVD播放器苹果TVXBox或者PlayStation。你每天看的电影听的音乐玩的游戏就封装在这些设备显卡和声卡中。 软件正在占领这个世界但这还只是个开始。不知不觉中你就穿着各种可穿戴设备用计算机来锁门用机器人来运货打扫房间。拥有你自己的电子技术经营自己的生产厂生活在虚拟的世界中乘自动驾驶的汽车去旅行甚至飞向太空。 代码无处不在 毫无疑问以上我所描述的技术的源动力是软件。你生活的每一个方面都被代码所包围。大量的代码会让未来变得美好。 但是仅仅是一项技术非常普遍不能成为你在学校学习它的理由。就像我们乘坐飞机但是考飞机驾照并不在从幼儿园到12年级的课程中。 然而飞行的原理却是课程的一部分 物理学和数学让你明白重力、弹性元件、压力、速度、摩擦和攀升等方面的知识。生物学让你明白人体在高海拔、低氧、极端寒冷等情况下的反应。历史解释了飞机的发明进化以及其在旅行、商业和战争中扮演的角色。 从中学毕业的时候你就已经知道了飞机是什么它是如何工作的如何安全乘坐飞机。通识类课程像物理学数学历史教会你如何思考各种各样的问题包括飞机与之形成对比的是教会你是用工具的课程像教你如何驾驶一种特定类型的飞机。 什么是计算机科学 计算机科学是一门研究计算的学科就是说如何表述和处理信息。以下是一些你会学到的概念 解决问题你将会学习算法——就是通用的一些方法像是分治算法、递归、遗传算法、贪心算法——帮助你建模分解解决各种各样的问题。逻辑你将开始使用精密又正式的方法思考问题像是抽象逻辑代数数论和集合论来用严密的逻辑解决问题。数据你将会接触到信息论并开始思考什么是信息如何表述如何对真实的世界建模系统如何设计与构建复杂的系统来实现一系列的需求系统工程是一个几乎在各个领域都涉及到的重要的主题。思考了解人类大脑最好的方式是试着去复制它。像人工智能、机器学习、计算机视觉、自然语言处理这些话题不仅仅在计算机科学领域同时在数学生物物理哲学等方面都是最前沿的科学。 注意上面的清单中并没有提到代码或者编程因为它们只是实现计算的工具它们本身并不是计算机科学。 计算机科学并不是关于计算机的科学就像天文学不是关于望远镜的科学生物学不是关于显微镜的滑雪不是关于烧杯和试管。科学并不是研究工具的。——Michael Fellows和Parberry 什么是编程 编程或写代码就是指示计算机来执行哪一些指令。如果你从未写过代码也可能通过操作应用程序来和计算机交互。其实在内部这个应用程序也是通过代码来告诉计算机显示什么在哪里检索数据以及对于你的点击操作做出什么回应。 所有的编程都是建立在我们上面讨论的计算机科学的原理上的。值得注意的是同一组概念——逻辑、算法、数据、系统工程——可以用来构建任何软件小到你现在阅读这篇文章用的这个浏览器大到飞机上的自动驾驶软件。尽管会涉及到一些数学和架构的知识但这却是极富创造性的活动你将想法变成现实一次一行代码。 将编程作为学习计算机科学的一部分有以下的好处 DIY如果你会编程了你就可以制作一些东西。可以从最简单的开始做一个能给旅游照片批量重命名的脚本或者写一个Excel公式帮自己计算税务然后开始发烧级别的给你自己的文件系统写一个浏览器给你们公司做一个app或者写一个能够和朋友一起玩的游戏。解决问题一旦你亲手做了几个app弄清楚其他的就简单多了。一旦你不再害怕计算机——未知的领域——你就会成为技术达人。随着技术已经关系到我们生活的每个部分掌握它们就会变得和学会阅读一样重要。事业我们学习计算机科学的目标不是成为职业的程序员。我们都学了数学物理化学但是我们并没有都成为这方面的专家。然而如果你对这方面有激情的话软件工程师也是一份评价高薪资高进步快的职业。 综合考虑 简要重述 计算机科学是一种新的思考方式。在这个技术时代其中的概念对每一个人都很有帮助。编程是学习计算机科学重要的一部分以实现这些新的思考方式。然而编程本身并不是目标。 混淆这两个观点就导致了现在学习编程热潮的圈子的一些问题。Slate 发布了一篇文章《也许并不是每一个人都需要学编程》Atlantic写了一篇《新闻学院应该要求记者写代码吗不》Jeff Atwood写了《请不要学习写代码》其中提出了一个精辟的问题 “如果迈克尔·布隆伯格纽约市市长译者注是一个专业的Java程序员他能更好的领导一个美国的大城市么” 当然这个问法是错误的。这就表示这些活动的目标是学习代码而不是学习思考的方式。如果连Jeff Atwood这样经验丰富的程序员都搞错了那么普通人更分不清楚了。问题应该这样问 如果通过学习解决问题的方法训练严密的逻辑来提高自己的能力那么迈克尔·布隆伯格或者其他人能工作的更好吗 我相信答案是显而易见的。而且随着科技的发展答案会越来越清晰。这就是为什么我们要把教学重点放在计算机科学上而不是代码。 如何开始 好消息是你不必等Code.org来宣布你已经开始学习计算机科学了。事实上这是最容易学习的一个主题你只需一台电脑和一根网线。我想现在你正在阅读本文那么很可能你两者都有了。 这里分享一些好的资源 University courses CourseraUdacityMIT OpenCourseWareStanford Engineering EverywhereAcademic Earth Online tutorials Khan AcademyTreehouseMIT ScratchCodecademyCode School Communities and clubs CoderDojoGirls Who CodeGirl Develop ItCode.orgCoding meetup Groupshttp://kb.cnblogs.com/page/208800/转载于:https://www.cnblogs.com/softidea/p/4376968.html