委员建议将编程列入中高考

| 泽璇

委员建议将编程列入中高考

日前,全国委员、中国移动董事长杨杰提议,在中小学阶段普及编程教育,制定全国中小学生编程教育中长期发展规划,逐步将编程教育上升为中小学主要学科课程,并列入学业水平考试和中高考升学考试体系,明确各学段学习目标、评价标准等学习要求,推进统一教材编制等重点任务。

该建议引发网友热议。湖南湘西某中学一名计算机教师对杨杰的建议表示赞同。他认为,编程能够培养孩子的逻辑思维和注意力,还能够防止学生沉迷玩游戏。

四川大学文学与新闻学院网络与新媒体教研室副教授邱树雄表示,编程能够培养逻辑性思维,但并非所有孩子都适合学编程。过早地学习编程,可能会限制了学生发散性思维的发展。可以考虑把编程作为新高考“3+3”的一个选考科目,但把它作为高考的必考科目或许并不合适。

2017年7月,国务院印发《新一代人工智能发展规划》,提出“实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育,鼓励社会力量参与寓教于乐的编程教学软件、游戏的开发和推广”。2019年3月,教育部办公厅印发的《2019年教育信息化和网络安全工作要点》要求“推动在中小学阶段设置人工智能相关课程,逐步推广编程教育”。

红星新闻记者对湖南湘西某中学计算机教师彭老师表示,他赞成编程成为中小学主要学科并纳入中高考升学体系。彭老师认为,编程能够培养孩子的逻辑思维和注意力,我们正缺少这方面的人才。彭老师告诉红星新闻记者,孩子五六岁的时候就可以开始学习图形化编程,之后再学习各种编程语言,大学生的思维比较固化,大学学习编程是“有点迟了”。此外,彭老师说,在教学实践中他发现,学习编程的学生对游戏程序会有很多深层次的想法和思考,反而能够防止他们沉迷于玩游戏。

学生家长:

各地区的编程师资力量差异较大

学生家长陆女士告诉红星新闻记者,她的孩子从五年级开始学习编程,初二后因学业繁重,没有继续学习。另一位学生家长龙女士则表示,孩子从小学毕业的暑假就开始跟随中学高中部教师学习编程,到现在为止已经学习了两年。“孩子学了Python和C++两种语言,打算走信息学奥赛这条路。”龙女士说。

龙女士表示,孩子四年级的时候就有学编程的想法,但在本市很难找到合适的编程老师。后来,孩子考上了另一个城市的初中,于是在那里通过兴趣课程学习编程。为了让孩子更好地参加全国青少年信息学奥林匹克竞赛,除了跟随校内老师学习外,龙女士还给孩子报了寒暑假的编程培训班。因为当前孩子学习的编程语言需要高中数学的知识,龙女士打算让孩子暑假去学习高中数学。

谈及让孩子学习编程的原因,龙女士和陆女士均表示,孩子对编程感兴趣,且时间精力充足。“也可以让孩子多一条路。”龙女士说。

不过,对于全国委员杨杰关于的提案,龙女士认为目前的可行性或许并不高,因为各个地区的师资力量差异较大。“在广东、广州、上海、北京等的发达地区,孩子从小就开始学基础编程,教练老师专业厉害。但在有些地方要找到好的教练老师是很难的。”

编程专家:

将编程列入中高考目前还有很多困难

四川大学文学与新闻学院网络与新媒体教研室邱树雄副教授告诉红星新闻记者,在他看来,编程能够让孩子体会到当前程序语言对人类的影响,也可以锻炼孩子的逻辑能力。可以鼓励孩子们尝试学习编程,让孩子发现兴趣所在,但并非所有孩子都适合学编程。

邱树雄表示,编程能够培养逻辑性思维强的人才,但太过规范的编程语法有可能限制学生发散性思维的发展,过早扼杀学生的想象天赋。“一般基础的编程技能对思维的锻炼不够,反而限制思维,有可能会束缚学生的想象力和创造力。”邱树雄说。他认为,学生正处在奇思妙想的年龄阶段,中小学生都学习编程也许并不利于社会的多样化。他认为,可以考虑把编程作为新高考“3+3”的一个选考科目,但把它作为高考的必考科目或许并不合适。

有网友认为,未来人工智能会席卷各行各业,人工智能、自动驾驶等产业对编程人员的需求量增大,没有编程能力相当于“文盲”,中小学开展编程教育迫在眉睫。对于这样的观点,邱树雄表示,“据我了解,工匠型编程人员或者蓝领工人式编程人员在社会上是不稀缺的。社会上更缺少的是具有奇思妙想的、有超强算法天赋的领军人物。”他指出,具有算法思维的编程人员并不仅仅通过编程去培训,而是通过深厚数学功底去培训,数学才是“地基”。

邱树雄认为,将编程列入中高考升学体系还有很多困难需要克服。一方面,相关师资力量的地区分配不均衡。另一方面,地区硬件设备分配不平衡。学习编程需要电脑和网络,但一些乡村学校并不具备这些条件。“最大的原因还是在于过早地学习编程,可能束缚学生的思维——中小学阶段正是孩子‘奇思妙想’的时候。”邱树雄说。记者丨王语琤 蓝婧 实习生丨欧思晨

孩子学编程好吗

还是要根据自己的实际情况来看,编程≠敲代码。

1、兴趣始终是第一位的

没有任何一个兴趣爱好是适合所有人的,编程也同样如此。想让孩子学编程的基础就是小朋友有兴趣,愿意尝试。

对于数学基础一般的小朋友,学习编程与学习奥数一样,其实应该谨慎选择。

它会是一把双刃剑,如果使用好了,对于数学课程的理解会非常有助益。

例如循环的变量、过程、分支判断等等,这些更高阶的一些数学概念对他未来的学习会有比较好的一个促进作用;但是如果产生更大的逆反心理,就得不偿失了。

2、别太急功近利

学编程不像学音乐舞蹈美术这些,会有立竿见影的效果。

对很多小朋友来说,编程有助于孩子逻辑思维的锻炼,系统观的形成,以及创造能力和解决问题能力的培养。但这些都是潜移默化的,需要有一个积累的过程。

学编程的好处

1、提高孩子的逻辑思维能力。编程时最基本的思路就是将大问题变成小问题,在孩子放入代码的过程中,就已经让孩子的逻辑思维能力提升了。

2、培养孩子的专注力。小孩子注意力集中的时间是很短的,但是儿童编程的课程却可以让孩子感到兴趣无穷,因为没一步都充满了好奇,就像探险一样。孩子是不忍心放弃掉这么好玩的课程的。

3、提升孩子的细心度。编程是需要一个个填入代码的,如果一个代码的顺序填错,或代码编号填错的话,就会让整个的编程功亏一篑。这样的失败经历会让孩子马虎的习惯得到改正。

学编程的坏处

1.拔苗助长

说到编程家长就容易联想到程序员及高深莫测的代码,家长了解孩子知道孩子几斤几两,所以潜意识里认为孩子并没有到学习编程的年龄,过早的学习相当于拔苗助长。有的孩子本身学习能力差,接受能力慢,书本知识还没有掌握就开始学习编程,无形中给孩子增添了不少压力。让孩子过早承受这个年级不应该承受的重量。

2.耽误学业

孩子本身课业数量比较多,平时周末还要报了补习班,家长考虑到让孩子德智体美劳全面发展,就给孩子挑选修身养性的艺术科目。家长认为孩子学习编程,长大后不当程序员,费钱还没多大用。部分家长对孩子未来升学规划较为明确,所以行程太满,认为学校的升学考试比较重要,编程学习往后排。

孩子学编程有什么坏处

一个程序员父亲的呼吁:不要教你的孩子从小学编程!

毋庸置疑,未来的一切都会是自动化的,那么一份从事自动化软件开发的工作要稳妥得多——这一点,相信是很多程序员父母的考量。也因此,目前的市面上充斥着各色各样的幼少儿编程书籍、编程夏令营、课外编程俱乐部等等。然而,这些虽然可以教会孩子们特定的编程语言,但是实际上它们与软件开发工作没有多大关系,反而会扼杀孩子们的好奇心——本文的作者JOE MORGAN就发表了自己的看法。

以下为译文:

在最近一次的例行午夜小跑时,我看到一堆关于教孩子们写代码的书。

教大家写代码的书籍随处可见,但从来没有见过这么多直接针对小学生的。这些编程书籍只是用来培训孩子们“面向未来的技能”等庞大资源的一部分,还有编程夏令营、课外编程俱乐部,旨在教给幼儿园小朋友们JavaScript基础知识的小程序等等。

很容易理解父母为什么要求孩子学习编程——还有什么比教会孩子写代码更好的方法来让我们的孩子为未来的自动化社会做好准备呢?如果未来的一切都是自动化的,那么一份从事自动化软件开发的工作要保险得多。如果学习编程是好的,那么早点学习就更好了。然而,这些书籍虽然可以教会孩子们特定的编程语言,但是实际上它们与软件开发工作没有多大关系。

“不会编程就是新文盲”?

我的一位前同事曾经在编程训练营接受训练,而这个训练营的口号就是“不会编程就是新文盲”。这种观点是所有编程书籍和游戏的核心。有一本畅销书说尽早学会编程“对孩子的将来必不可少”。这等于告诉我们,不教孩子编程就等于不教他们阅读。

当然这种观点是很荒谬的,不会编程不等于文盲。虽然大多数父母都有文化和读写能力,但是大多数父母都不是程序员,也不知道程序员需要什么样的技能。针对孩子们的编程书籍给出的都是一些问题的“标准”答案。

如果你的孩子能掌握编程语言,他们就能快速轻松地写出这些代码。然而编程不仅仅是写代码,编程是复杂的,需要同时具备创造性和明确性。作为一名程序员仅仅懂得编程语言是不够的,某些技能只能在非常年轻时学习。

好的程序员不仅仅是让代码工作,他们希望写出好代码。

没有书本会教你解决以前没人碰到过的问题

在我的职业生涯早期,我写了一些代码配置在一组远程服务器上运行。一开始代码似乎运行得很好,至少我是这样认为的。直到18个小时后,电话在半夜响起,告诉我一些服务器出了故障。我从床上爬起来,拿起我的笔记本电脑,在故障服务器上再次运行代码。然而几小时后,另外一些服务器又报故障。

问题不是出在代码语法上。如果是语法问题,首先服务器上编译就不会成功。故障是由更深层的问题引起的,隔离和解决这个问题花了我几个星期,经常半夜里被叫醒。

编程就是这样的,先试一试,看看代码能否工作,再试一次,如此反复。简单的问题应该会有现成的解决方案或者至少用开源代码来解决,剩下的就是一些繁杂的而且独特的问题。

没有书本教你如何解决以前无人碰到过的问题,这就是为什么我不想让我的孩子学习代码语法。我希望他们学习如何解决问题,深入研究问题,学会创新。那我们该怎么教呢?

纯粹地写代码不可取,质量、创造性和代码美感同样值得学习

有一天,我儿子担心他的椅子摇摇晃晃。我们一起看了看后他找到了问题在哪里,原来椅子的一个螺丝松了。

我找出一把用过的六角扳手,告诉他如何拧紧。他很好奇如果他向相反方向拧螺丝,会发生什么。他这样试了直到把螺丝拧出来。后来我们把椅子拆开了,然后试着装回来,我们一起装了好几次,有几次装错位了,直到最后他满意地把椅子装好。就像编程一样,试一试,看看它是如何工作的,再试一次。

当然,让代码能够工作只是软件开发的第一步。下一步是使代码清晰、可重用和整洁。在我的职业生涯早期,有一次我完成了一个功能的编码工作,并把它交给一位资深程序员检查。

他看了一眼我的代码,看到间距不一致,行也对不齐而且命名不规范,直接说一句“重做”就打回来了。尽管我的代码能够工作而且语法也对,但这仍然是错误的。好的程序员不仅仅是让代码工作,他们希望写出好代码。

对质量的把握是很多程序员觉得最难的事情。设计良好的代码使用起来感觉很好,而乱七八糟的代码会使程序员敬而远之。最好的程序员会将艺术家的敏感融入抽象逻辑中,他们相信代码的美感对编程来说,和所有的算法或编码模式一样重要。

最近,我和妻子带着儿子做曲奇饼干。每次我们加入一种成分,我们都会停下来检查一下面团,讨论一下面团的手感和颜色。它够软吗?所有成分都和匀了吗?当我们把面团摊开时,儿子摸了摸表面,看着我妻子教他如何把一切都弄得又匀又薄。然而,最难的部分是切出饼干形状。像所有的孩子一样,他本能地将饼干模子放到面团中间开始切,每次我们都试图告诉他如何将饼干模子在面团上依次切出饼干形状,以便让每个面团做出最多的饼干。

每一个步骤——精确测量每种成分,检查面团的柔软度和是否和匀,精确放置饼干模子以减少浪费——都是在教他关于质量的知识。仅仅教他做饼干的步骤(比如按照一个饼干食谱)很难让他学会分辨质量的好坏并做出好饼干,而这只能通过感觉和经验传递。每次你让孩子参与到你所重视的事情中来,你就是在教他们如何把事情做好,你也是在为他们以后编程做准备。

但在过程中你教他们的不仅仅如此,你让他们知道这世界充满了有趣的事情等待他们去发现,你向他们展示如何充满激情地在他们所做的每件事中寻找那种瞬间的质量感。最棒的是,即使他们不能成为程序员——当然这是大多数人不应该也不愿看到的——同样的技能几乎可以在任何职业、每种爱好、每天的生活中使用。然而当我们强迫小孩仅仅学习代码语法时,我们就给他们灌输这样一种观念:纯粹地写代码才是有用的,而那些关于质量、创造性和代码美感的知识不值得学习。

成年人可以直接去学习编码,孩子们则需要发掘他们的好奇心。

205112