人人都要学编程?编程到底有没有前途?

这个问题第一次被提出来,是在20世纪80年代,那时,个人电脑方兴未艾。后来,软件产业的发展似乎已经给出了明确而否定的答案。然而现如今,它带着猛烈的势头再一次出现在人们面前。这一次,我们必须认真来对待它。

采访对象:Serge Abiteboul (信息管理学者)

巴黎高科评论:计算机素养在今天越来越重要。对学生和社会而言,其中的利害关系如何?

Serge Abiteboul:很简单,信息技术是今天这个数字世界的核心。要理解这个世界,了解它的基本构造并参与其中,计算机技能至关重要。而且从经济竞争力角度来看,我们确实需要掌握计算机技术和科学,这就如同在19、20世纪掌握数学和物理学一样重要。

美国总统奥巴马亲自呼吁美国年轻人学习编程,包括几乎所有日常应用和机器程序。亲自编写程序和请别人替我们写这两条道路之间,从宏观角度来看,后者不是不可以,但意味着丧失了主动权,意味着在创新竞赛中弃权,因为创新和编写代码这两件事已日益变得密不可分。

从个人角度,不会写程序也会令你在程序面前非常被动,除了依据使用手册按部就班,毫无自主权可言。作为网站站长,如果有些功能不尽人意,除非你能搞明白实现这些功能那10行代码,并能写出两行代码来改变它们,否则,你就永远是一个技术的奴隶。

一个人想掌控技术,随心所欲,就必须了解诸如云和电子投票之类的知识,必须能独立编写小的手机app或网站代码。这与你从事什么职业毫无关系,而且任何人都可以掌握。计算机技能并不比写英文报告或设计物流系统更难。关键是真正参与到其中,扯下其神秘面纱。这是我们大家的挑战,而不是企业IT部门的专利。

人们总是把计算与数字化混淆,它们的区别和相互关系究竟是什么?

这是一个数字化的世界,在这个世界里,有计算机科学。人们阅读电子书而不是纸质书籍;课堂上使用的是数字显示屏而不是粉笔与黑板;人们的相机和汽车都已经数字化;孩子们刚学打字就知道如何使用拼写检查,刚学算术就可以使用Excel,这些都是数字化工具,但我们仍要学习有关书写和计数的知识。人们能够熟练使用谷歌或Facebook,但不知道谷歌搜索背后复杂的算法和Fackbook是如何保护隐私的。

计算机和编程是数字世界的核心。信息科学开发出软件来让整个世界数字化成为可能。它是一种教育、一门科学和一门艺术——而不仅仅是赋予人们以工具和操作。人们一次又一次地将使用数字工具和编程相混淆,其实两者毫无关系。

所以,信息科学绝对有必要进入课堂,与物理、化学和数学平起平坐。但它又有很强的技术属性,你必须学会自己编程、使用计算机来解决问题。这是计算机科学必不可缺的一个方面。

我们应该设立一门独立的IT课,还是根据它跨学科的特点,将其结合在其他学科的学习当中?

注意不要造成混淆。学习数字化工具意味着不同的课程(建筑设计工具、数据库和搜索工具、科学计算工具等)。但计算机科学本身是一个独立领域。只有一种算法思维。不管是你编写程序来计算莎士比亚或普鲁斯特作品中某些词出现的频率,还是用来计算矩阵乘法,基本流程都是一样的(排序操作、测试、循环等)。只有通过这种科学的训练,人们才能根据不同领域和情况来选择不同的编程项目。

那么,教授内容都包括哪些呢?

计算机科学提供了一种全新的思维方式:算法思维,即如何用程序来解决问题。算法思维的概念已经存在了很长时间。当你进行加法、乘法或除法等计算,你就是在学习算法。但是对智能工具和应用的编程要复杂得多。你必须掌握更抽象的概念如loop——允许特定任务的迭代。

然而,IT确实很实用。这门科学的美妙之处在于,你可以付诸实践,你刚刚学到的东西马上就可以用来编写小而简单的程序。即使在小学里,孩子们利用Scratch这样的编程语言就可以从小熟悉编程。问题的关键是了解计算思维这种帮助我们理解周边世界的基础性思维,并通过编写小的程序来不断发展它。

因此,人们可以在很小的时候就开始学习?

每个人都应该从小开始,因为儿童最容易接受新的想法。在“知某数,识某文”之外,我们还应该加上“写代码”。它必将进入到国家基础教育的核心层面。显然,IT不仅是编程,就像数学不仅仅是代数,文学不仅仅是写作。但编程仍然是计算机科学的基础,需要让人们从小学习。

学校是这种教育的最佳途径吗? 或者它需要通过社会来完成?

很多学校都开始教孩子们编程,学校外也有许多小组、俱乐部、协会等,组织很多又酷又好玩儿的活动。然而,即使这些校外活动很有用,我们必须认识到,要让所有儿童得到公平受教育的机会,还是需要尽快将这些课程整合进常规的学校教育。

那些已经离开学校但没有受过任何计算机教育的人呢?

他们可以在职学习相关知识技能,通过各种协会、在线培训,甚至用游戏来学习编程。工程人士必须现在就开始学习。此外,还必须对其他科目的老师进行培训。

通常情况下,我们可以设想三个重要的校内学习时段。首先要在小学阶段熟悉主要概念,学习算法和计算思维的基础知识,并通过游戏和Scratch这类编程语言,让人们动手体验;中学应真正成为每个公民学习计算机技术基础知识的地方,包括实际的算法编程、信息架构、硬件等。这不是完全式教育,但至少要将其提升到与中学物理、生物相同的地位。为学生以后的专业学习和接受更高级知识打好基础。

到了大学,我们可以为学生量身定做计算机课程。选择理工科的学生可能会对计算的数学应用更感兴趣,而走上人文道路的学生可将更多精力放在文本索引、语言学等方面。今天职业学校里的年轻人已经开始将更多的时间分配在学习计算机上。事实上正是在这些学校,你会意识到学习计算机的重要性和必要性。

具体来说,不发达国家能够从全球的计算机文化蓬勃发展中得到什么启示?

一些国家已经解决了迎面而来的挑战。总体而言,发达国家在这方面非常先进。英国已决定将计算机考试加入高中毕业考试来推广计算机教育。在德国,地方政府掌握着这方面的权力和责任,巴伐利亚州就很积极,并因此受益,它们甚至在将计算机科学纳入课程体系之前,就开始大规模聘用拥有IT技能的教师。一些新兴国家如以色列和韩国已在这方面展开竞赛。今天,计算机课程正在全球遍地开花,而且受教育者年龄也越来越小。

来源:51CTO

时间: 2024-10-24 06:50:25

人人都要学编程?编程到底有没有前途?的相关文章

人人都该学编程时 这些孩子已经玩转编程

近日,"人人都该学编程"成了大家热议的话题.除了程序员岗位的急缺以外,工作本身所要求的语言.逻辑.严谨等也被大家称道,遗憾自己没有程序员的思维看问题.其实,在大家后悔之时,已经有一批孩子从小就深度接触编程,十几岁时就已凭借"过硬"的本事,名声大震. 童阿扬.库雷(Ayan Qureshi) 6岁 全球最小的微软认证专家(Microsoft Certified Professional,简称MCP).据悉,阿扬.库雷在5岁11个月大时便已获得了微软专家认证资格.此前通

人人都在谈的 “数据驱动” 到底是什么?

雷锋网按:本文作者李玥(Michael Li),LinkedIn 数据科学和分析总负责人.本文根据 GrowingIO 对李玥采访内容编辑整理,原文发于GrowingIO博客和公众号,授权发布雷锋网(公众号:雷锋网). LinkedIn 作为一家职业社交网站,通过人才招聘.广告投放.付费订阅等服务实现了盈利,这三项服务的背后实际上都有着数据分析的重要贡献.LinkedIn 利用数据分析为所有职场人员作出迅捷.高质.高效的决策,提供具有指导意义的洞察和可规模化的解决方案.因此,商业数据分析不仅是一

不是人人都适合编程 且都能把编程作为职业

最近一部名为"学校不会教的东西"的短片甚嚣尘上,引起了大众的关注.短片的中心思想就是"人人都能编程",而且其中还有几位知名富豪宣传这一论点.(顺便提一句,这些富豪的钱是通过雇佣别人编程而赚取的,并非靠自己编程.) 前几天我弟弟来了,他是一个做梦都想发财的主.他对我说:"我想和你一样,我要编程".毫无疑问,他看过了那部短片. 我想说的是,这一切根本不靠谱.不是人人都适合编程(简单的入门除外),更重要的是,并非人人都能把编程作为职业. 短片一开头是

准备充分了嘛就想学函数式编程?(第一部分)

本文讲的是准备充分了嘛就想学函数式编程?(第一部分), 迈出理解函数式编程概念的第一步是最重要的,有时也是最难的一步.但是不一定特别难.只要选对了思考方法就不难. 学开车 第一次学车时,我们也曾挣扎过.看别人学开车时觉得真的很简单.但事实上学车比我们想象的难多了. 我们借父母的车子练习,在家周围街道上开熟练之前甚至都不敢冒险开到公路上去. 但是通过不断的练习,在经历过一些父母想忘掉的担心令人的经历之后,我们学会了开车,最终拿到了驾照. 拿到驾照之后我们一有机会就会把车开出去.每次出行都会让我们的

显示-作为大学生学it编程,目前主攻php,应看哪有书籍有助于自身能力的提高?

问题描述 作为大学生学it编程,目前主攻php,应看哪有书籍有助于自身能力的提高? 学习php一年,项目经验少,参加过几次学校比赛,负责后台编写,在编写过程中,遇到到这些问题,很多知识点都能实现同一个功能,就无从下手是用哪个知识点去实现了!比如,session与cookie为例,当时不太会用cookie,于是在实现用户登录模块的,全程用的session,也可以使用户信息显示.于是,我就有疑惑了,既然session.cookie都可以实现同样的功能,那到底是用session还是cookie?查资料

准备充分了嘛就想学函数式编程?(第四部分)

本文讲的是准备充分了嘛就想学函数式编程?(第四部分), 想要理解函数式编程,第一步总是最重要,也是最困难的.但是只要有了正确的思维,其实也不是太难. 之前的部分: 第一部分, 第二部分, 第三部分 柯里化 如果你还记得第三部分内容的话,就会知道我们在组合 mult5 和 add 这两个函数时遇到问题的原因是:mult5 接收一个参数而 add 却接收两个. 其实只需要通过限制所有函数都只接收一个参数,就可以轻易地解决这个问题. 相信我,这并没有听起来那么糟糕. 我们只需要来写一个使用两个参数,但

FLASH入门及学AS编程的正确途径

编程 FLASH入门途径下面我的说每一个问,请你都不要跳过,不管您用什么手段,必须一个个的吃透,否则欲速则不达.1,三种图层图层:和PHOTOSHOP的图层差不我导向层:不仅可以导向MOTION动画,还有参考层的作用(这个功能用的人就不多了)蒙板层:蒙板层有图象的地方,它下面那层的内容才可显示,有点象3DMAX里的蒙板帖图2,三种帧:即帧,关键帧,空白关键帧3,三种符号:即影片剪缉,按钮,图形,初学可以不用图形,用影片剪缉4,三种FLASH动画的文件格式:即EXE,SWF,HQX5,三种FLAS

Flash入门及学ActionScript编程的正确途径

编程 Flash入门途径 下面我的说每一个问,请你都不要跳过,不管您用什么手段,必须一个个吃透,否则欲速则不达. 1.三种图层 图层:和Photoshop的图层差不多. 导向层:不仅可以导向Motion动画,还有参考层的作用(这个功能用的人就不多了). 蒙板层:蒙板层有图像的地方,它下面那层的内容才可显示,有点象3DS MAX里的蒙板贴图. 2.三种帧:即帧,关键帧,空白关键帧. 3.三种符号:即影片剪缉,按钮,图形,初学可以不用图形,用影片剪缉. 4.三种Flash动画的文件格式:即EXE,S

123-求教大神C++问题,新手学C++编程

问题描述 求教大神C++问题,新手学C++编程 源程序如下: #include #include using namespace std; class student { public: student(int n,string nam,char s) { num=n; name=nam; sex=s; cout<<"construct called"<<endl; } ~student() {cout<<"destruct called.