百科问答小站 logo
百科问答小站 font logo



编程是否该作为基础教育的一部分? 第1页

     

user avatar   yao-dong-27 网友的相关建议: 
      

基础教育不仅仅是传授文字描述的知识,还包括动手能力,使用工具的技巧。

比如,我小学时候还教怎么用算盘,怎么用游标卡尺,怎么用天枰。

这些都是工具使用技巧,它们同时也是数学、物理和化学的基本技能。

如今这个工具名单里多了一个计算机,编程只是使用计算机的技巧之一,所以编程进入基础教育是顺理成章的。二十多年前,我上初中的时候就有计算机课了,那时我学会了一点APPLE II上的BASIC语言。现在总不能比二十多年前还不如吧。


user avatar   bai-ru-bing-58 网友的相关建议: 
      

本来不想回答这个问题,但是看到一个有意思的答案,我得点评下

欧姆定律是1826年发现的,法拉第电磁感应定律是1831年发现的,交流电是19世纪后半叶发明普及的,人类才由此进入电气时代。请问哪个国家1800年代普及了电器的使用?

事实和图中这位作者说的恰恰相反,前几次技术革命的相关的基础知识:简单机械的原理(滑轮、杠杆)、热力学定律、简单的电路原理,早已进入了中学生的课本。

基础教育阶段谈不上理和工的区别,只不过在尽可能追赶得上时代科技发展脚步的情况下普及一些常识。电路原理、电路设计、机械原理、机械设计这些都是工科的课程,电磁学、力学是理科的课程。基础教育不过是通过讲解简单的电路、机械的知识讲一些电磁学、力学的常识,根本谈不上理工之分。

教育跟不上科技发展的国家当然也有,后果大家都看到了。


user avatar   he-he-89-32-63 网友的相关建议: 
      

什么是基础教育?就是教受基础知识,培养基本认知思维,基础教育里的那些必修课程,都是在培养我们这方面的能力,虽然我们在学习的过程中,可能觉得并无卵用,但是在我们接受完基础教育后,那种潜移默化的作用会渐渐凸显出来。

编程是什么?编程是一项技术,本来就不属于基础教育的范畴,既然如此,那怎么能加入基础教育的框架内呢?

但我并不排斥在正常的基础教育外,加入编程的课程,就跟我们上小学时候的航模小组一样,完全是作为一种兴趣去参与,而不影响基础教育的正常开展。

外语也是基础教育的一部分,很多人建议把编程加入基础教育,正是认为编程和外语都一样具有工具属性,并且在未来应该是人人皆会的,然而外语的工具属性,只对那些需要外语能力的人起作用,对那些不需要外语能力的人是没有加成作用的,大多数国人不会外语照样可以正常生活。

而编程的工具属性,并不是人人皆需要的,程序能够更好地提高生产效率,然而程序并不需要人人都会写。

基础教育培养的是一种全面的认知思维,而不是教会你某项技能,它让你在纷乱的世界里能够保持清醒的认识,不至于轻易就被外界蛊惑。

至于编程,在基础教育完成后再学习,时间上完全足够,我国是九年制义务教育,真想把编程作为自己未来的事业,那在第十年你就可以去相关学校专门学习编程了,然后走上飞黄腾达的康庄大道。


user avatar   marisa.moe 网友的相关建议: 
      

阅读写作是否应该作为基础教育的一部分?

@David Dong @physixfan :当然得教啊,圈地运动这么猛,失业的农民不去做文字员,给不会读书的人代读代写书信,还能做啥?

@白如冰 :而且,工业革命后加入了物理,等阅读革命发生后加入文具学天经地义,不然落后了如何竞争得过火星人?

@蛏子圣子 :只怕未来会出现保存/传播语音的工具,这文字员也当不成了。

@王赟 Maigo :反对!又不是人人都做文字员的!

@李路 :文字会对所有职业带来辅助,同时写作也是很棒的创造方式。

@Mon1st :另外,文字思维还是很重要的。

@马融 :我来举个例子吧,一本书中分层成章,段,句,词, 词根词缀,字,书要有主题,章节段落要有逻辑连贯性,句要符合语法,词,字要没有错误,最好还能押韵,不重复。 层次感,论述逻辑,语法规则,如何选词,都是文字思维的一部分。

这问题过百赞回答,都忽略了一个根本要素:

计算机是一个完全虚拟的世界,人脑中能想象出的大多都能用计算机模拟。

具体点说,所有人从小时,就会有不同的兴趣:有的人喜欢观今夜天象 ,有人爱看一个齿轮带动另一个,大部分人都对音乐/作画感兴趣,也有的人偏生钟爱养小乌龟。。。

这也是为什么沙推,Lego,往往比各种高科技玩具更吸引人:它们拥有各种可塑性,可以搞各种层出不穷的新玩法。

计算机,有过之而无不及。

就用上面的例子来说,绘画作曲的软件多如牛毛,天文学的软件也有,也有可以模拟天体运行的软件(Gravity Simulator, by TestTubeGames)。如果有兴趣的话,可以在该软件里面插入星体,看一下会有什么影响。。。

然而,这根编程有什么关系呢?会用软件,就如同人人会上网会在电脑里面打字不就好了吗?

先别急,我们看‘模拟教学’的缺陷吧。


问:如果我想画一颗圣诞树,多片树叶之间重复,不就累死了?并且,复制粘贴以后对一片树叶不满,不就要所有的都改掉?

答:引入recording,把一段时间内的操作记下来,以后调用该recording就可以了。

此乃函数。


问:如果我想画多边形,星型,分型呢?

答:对多边形,星型,引入对recording进行控制,组合的方案,对分型,引入自指。

此乃控制流,递归。


问:画画而已,能学到多少东西?

答:并不只是教画画,当大家学会画画后就可以学其他东西,并且形成连接。

比如说,上生物学/地理学,可以画出生物图鉴/地图。

要学物理,可以通过在画布上放上Object,并且对之赋予速度/加速度,画出Object走过的痕迹。对于加速度的导/各种受力分析,唯有靠在已有系统中插入代码模拟。

此乃Module/Object/高阶函数。

A Critique of Technocentrism in Thinking About the School of the FutureMindstorms

PS:Smalltalk正是大量借鉴了Logo。见The Early History Of Smalltalk

又答:会写一定代码以后,就可以按照自己喜欢的,自己写各科目的模拟软件。

如在papert.org/articles/Now 中,通过编写诗歌生成器,就知道为什么要有语法,要有动词,名词-这样能降低毫无意义的话的数量。

此乃程序设计。


问:会不会导致学生之间的疏远,不会与人交流?

答:编程最是需要团体合作:不会的要问其他人,也不可能自己写完所有的代码,需要用其他人的代码,把自己的代码供给其他人。

此乃开源,庫&API设计。


问:‘模拟教学’背后有没有为什么要这样做的理论?

答:见Constructionism (learning theory)。简单的来说,这方法提议通过提出世界运转的理论,在上面做实验验证,用这理论做各种project,来学习。


问:既然大家都合作,做的东西也各个不同,教师如何评分?又那来这么多会计算机的教师?换句话说,学校该如何教Constructionism?

答:工业革命时,一个手艺人如何用流水线变得更高效?工业革命从根本上改变了手艺人的工作方式。同理,这种做法(提高个性化,提倡合作,需要专才指导(除了会教原本学科以外,还要会Constructionism,会编程),弹性的时间)是极难融入学校的。因为一般的学习是对学生进行编程,而这方法是学生对学习工具进行编程。

这最好通过线上的互助社区来完成,因为这样大家互相做的模拟就会留下,供其他人学习,更改,一传十,十传百,直到世界上大部分人都采用这种方法学习,各种软件也因为绝大部分使用者会编程(并不一定是程序员)从而开放API/源代码,使得人人法律上,技术上都可以定制自己的虚拟世界,才算成功。

The Computing Revolution Hasn't Happened Yet


user avatar   physixfan 网友的相关建议: 
      

编程应该做为基础教育的一部分。希望国家能够尽快考虑这件事。

前面的人已经阐述过,在未来的几十年内,因为人工智能(弱人工智能)的发展,将会有很多职业不复存在。一个很明显的例子就是,未来5年内很可能就是无人驾驶汽车的大发展,这期间原来开了几十年车的老司机也将会被淘汰。前几天的 Google 翻译改版也让翻译人员很吃惊,虽然翻译工作总要人来最后编辑的,但是一个靠谱的机器翻译将可以使得翻译效率大大提升,需要的从业人员将会变少,低端的从业者就会面临被裁员的局面。这种趋势将是一个不可抵挡的趋势。

未来的世界,将是不论什么行业都需要跟计算机打交道的时代,那种技能重复性高、学几个月够用一辈子的工作大都会被人工智能所取代。各行各业都会开始使用一定程度的编程技术提升效率,不会与机器交流将失去生存的空间。

如果国家完全按照现状坐视不管,将要发生的事情将会是贫富差距的鸿沟越来越大。懂编程的人拿着高薪天天在知乎上炫耀,而人工智能所取代的那些曾经认真工作的从业者将会失去饭碗、无处谋生。

更可怕的是社会底层家庭的孩子可能仍然要重复他们因为不懂技术而被社会所唾弃的命运。

目前正规编程教育都是上了大学之后才开始的,但是很多中产阶级和更高阶层的人的孩子们很多从小就已经开展这方面的培养和教育了,即使中产的孩子们小时候不学编程,对电脑的熟悉程度也让他们可以很快学会编程。而如果一个孩子生在社会底层的家庭,他在上大学之前很可能连自己的电脑都没有,更别提自学编程了。可能这些人会去网吧玩游戏,但是如果问他有没有考虑过写一个小游戏的话,他很可能坚信自己做不到,因为就从来没有接触过这方面信息,他不知道写程序到底有多难,也无从入手。如果这样的情况持续下去,社会阶级固化将是牢不可破的,代际传承除了靠钱来维系,还靠知识的壁垒。

如果能将编程提前到初中开始学习(可以与物理、化学一起加入),通过中考、高考的指挥棒逼着所有人学习,同时学校能够配备足够的计算机设备给需要的人使用,那么即使有一部分人因为技术进步不幸被社会抛弃,他们的孩子起码还是有希望的。在我的设想里,中学时候的编程课并不需要是多专业的 C 语言编程,又是指针又是递归的。完全可以从 Python 爬虫之类简单又实用的项目开始学起,其实学什么语言都并不重要,重要的是教会学生程序到底是怎么写的,教会他们基础的算法、逻辑等,同时让学生知道自己可以用程序做一些事情。将来有了这个基础,学其他语言、学更先进更时髦的东西都将容易很多。

如果中国在世界上首先培养出了整整一代略懂编程技术的庞大人口,中国在世界上的竞争力也将是无可抵挡的。


user avatar    网友的相关建议: 
      

基础教育不是传授技能,而是培养思维方式。尽早形成对现象的直观比什么都重要。

狭义的编程可能是软件工程师的工作,写出的程序作为工具或者说消费品来给别人用,那当然没必要人人都学。

王赟 Maigo 的回答

针对狭义的编程(比如说大学本科学的C/C++/Java/等等),认为技术性很强,不适合让所有人学。这一点我想我们是一致的。

广义的编程则是人与机器重要的交互方式——是你我能够灵活应用机器的基本手段——在可预见的未来,随着机器能够做的事情越来越多,这只会变得越来越重要。

可能有必要扩展一下我认为的广义的编程是什么:我发现一个常见的现象是,没有学过编程的人对程序有种对未知事物天然的“不明觉厉”之感。一部分程序员则相反认为自己掌握了非常特别的技能,对其他的芸芸众生表现出优越感:“这个是属于程序员的问题,你不懂。” 这两种观点都很常见,都是因为太多人对程序运行的方式没有直观印象而导致的。

有很多简单的程序语言,例如题主提到的scratch, 又或者小海龟系列(

Logo

),可能和很多人心中的 “冰冷,复杂,很难编译成功,debug是噩梦” 的程序刻板印象不同,简单有趣易上手。编程的本质不过是把人想要计算机做的事情以计算机能理解的方式表达给计算机——这其实是非常容易的,但如果没有实际编程的经验,就无法理解和善用机器,非常可惜。正如

@王赟 Maigo

所说,编程思想(我认为每个人都应该学到的东西)要建立在一定的技能基础之上。

今天的社会有很多很多不需要编程能力和对程序运作基本原理知识的工作可以做,所以会有人觉得

我不会编程我也活得很好,才不要学编程呢!

这是很自然的。

但是稍微看远一点的话,这样的工作会越来越少的。

未雨绸缪吧。

@吴穹

:

未来的机械只会越来越智能化,需要的操作越来越简单。

这是一个很好的点,但是我不能同意。的确,有可能编程作为操作机器的模式会被更先进的方式所取代(也许有一天我可以直接用自然语言告诉机器我想研究某一个问题,机器直接给我做好的结果),但比起简单的自动化机械和程序,这一发展的时间是难以预测的。

以学用键盘打字为例,这相当于说未来我们都用语音输入了,小孩用不着学键盘输入法。大方向不能算错,但时间框架不对。

@王赟 Maigo

:

考虑到中国教育的实际情况,有很多贫困地区不具备学习编程的条件

这是一个现实的困难,我认为是正确的,但同时这和讨论的话题无关——如果你和我一样认同编程思想的重要性,那么我们应该做的是努力为所有儿童提供学习条件,并努力照顾公平,而非索性不要求所有人学。



10/3/16 悄悄更新,私货预警

结尾放一点点私货好了,严格来讲不是针对这个问题的回答:

我觉得没必要区分基础教育还是高等教育。只要不是专业技能的训练,哪怕幼儿园教识字,或者大学里的通识教育,也都是同一个目的:让学生能看到更多东西。世界这么大,理解更多的人才能享受更多。

自动化是今天这个社会的一个越来越重要的现象。你可以忘掉应用,甚至忘掉所谓编程的思维方式。仅仅是为了让下一代理解这个世界,也应该让他们知道编程是怎么回事。往大了说,是准备好他们以后去理解人与机器的关系。往小了说,至少可以理解身边的日常现象呀。


user avatar   david-dong-20 网友的相关建议: 
      

非常需要。

时代的趋势如此,越来越多的工作将被计算机取代,技术的发展速度远远超过大多数人想象。实话说现在如果要把所有浪费资源的工作都取消掉,用已有的技术代替可以替代的人工,全中国还能最起码再失业30%的人口。

现在很多地方完全是给钱浪费钱用来维持稳定。

这种问题的根子得从教育上着手,至少要培养所有人的技能,让他们都能适应将来的社会趋势。现在的计算机从业人员其实还可以说是远远不足的,新的技术产生源源不断的需求,这么高的需求,我们需要更多更多的计算机相关从业人员。


user avatar   yun-sha-28 网友的相关建议: 
      

没事儿 毕竟你女朋友在别人眼里也是这样的。


user avatar    网友的相关建议: 
      

没事儿 毕竟你女朋友在别人眼里也是这样的。


user avatar    网友的相关建议: 
      

没事儿 毕竟你女朋友在别人眼里也是这样的。




     

相关话题

  大家支持繁体字吗? 
  各种越共梗的由来是什么? 
  如何看待网传汕头体育老师被停职处罚,系因遭学生们羞辱后罚站学生,被学生再次羞辱后情绪失控掌掴学生? 
  程序员很闷骚么? 
  贫穷会让孩子感到自卑吗? 
  拒绝广告。求真实回答!如何挑选不锈钢汤锅(或蒸锅)? 
  你见过最酷的设计是什么? 
  大龄未婚男青年们主要把钱花在哪里了? 
  生活中有的女生到底可以随便到什么程度? 
  C++ 中,如果指针换了被指向的东西,那被指向的原来的东西(是被 new 出来的)所占的内存会立刻被释放吗? 

前一个讨论
电影《湄公河行动》有哪些隐藏的小细节?
下一个讨论
如何看待中国近 25 年森林面积增加量世界第一?





© 2024-05-12 - tinynew.org. All Rights Reserved.
© 2024-05-12 - tinynew.org. 保留所有权利