top of page

不知道如何教孩子学习编程?看看这位爸爸是怎么做的!

Updated: Nov 10, 2020



最近多次听到一些家长聊孩子学编程遇到的种种问题, 也有一些朋友好奇地问我,宾宾是怎么学会编程的?这是比较专业的事儿,得请曾经做过程序员的爸爸陈先生来介绍才能说清楚,而且,是爸爸在帮助宾宾学习编程的。


下面就是陈先生的介绍。


------------------------------------------

宾宾从去年9月开始学Java编程, 到了今年7月份已经可以独立做出程序员教材上的编程习题了, 偶尔给他一道简单些的面试程序员的考题, 稍加提示后, 也能做出来。


宾宾最初对编程产生兴趣, 是来自于游戏, 他想将来做自己的游戏。外甥女的男朋友Jude是程序员,两年前有一天来家里,宾宾和Jude一起玩儿游戏,很开心!他俩也特别聊得来。Jude告诉宾宾自己8岁就开始学编程, 我就顺势建议宾宾也可以开始学了。宾宾当时也很好奇, 就在Youtube上找了一个课程,开始跟着学, 但是学了“Hello World” 以后,就坚持不下去了。


去年他提出不想去唱诗班了, 那可是全爱尔兰最好的唱诗班, 妈妈和老师都多次劝说,仍无效,最后只能尊重他的意见。我顺便提出, 每周不去唱诗班空出来的时间,要用来学编程,宾宾同意了。


这次我找了一个教Java的大神专门给程序员做培训的课程, 一周学三次,每次看一集。跟着视频把示例程序代码敲进电脑,然后运行调试,修改错误, 能跑通,就算通过。

我主要负责答疑,帮他讲解一些他看不懂的地方,偶尔也在他实在找不出问题时,帮他找下程序代码里的错误,但没有给他任何课程外的任务。


这样过了9个月, 他已经学了100多集课程, 学完了变量,基本数据类型, 条件,循环,数组, 函数, 还有面向对象的基本概念等。今年6月的一天, 我拿课程里的一个示例的问题考他, 让他自己思考, 然后写出代码, 但他完全没有思路该怎么写, 必须参考课程中提供的示例代码。我感觉有些失望, 但我发现, 他能解释出为什么代码要这么写, 每一行代码的作用,说的基本正确,而且, 他对所有相关语句语法都掌握的的不错,这说明通过9个月的学习, 他已经掌握了编程的基础知识。 


于是,我决定和他一起把课程中的问题重新做一遍,一天只做一道题, 我负责给他讲解逻辑,他负责写代码。这次是完全自己写,不能参考示例代码。


开始时,我需要解释很多次,并且加以画图,类比等多种方式进行解释,他才能够理解找出问题的解决方案和用程序代码实现的逻辑关系。慢慢地,我只需要解释一遍,或者只提个醒,他就能找到思路,并把程序写出来。再后来,有些问题他开始能完全独立地解决,有时需要2-3个小时,甚至更久才能解决一个小问题,但是,当代码通过了,他会由衷的开心。


今年8月,宾宾把课程里的编程挑战题都做完了,我又搬出了1300多页的大部头:  《Introduction to Java Programming》,开始让他做每一章课后的习题。起初,我担心这么大的书会把他吓着, 不会愿意看下去,事实证明我多虑了,在碰到问题时,他会自己找到相应的章节研究。 


意外收获

我发现, 学会编程对宾宾有两个很大的收获。在编程时,会经历错误、异常和其它意想不到的结果。最开始,宾宾碰到任何错误都很沮丧,不知从何入手, 我告诉他,BUG和错误是程序开发过程的一部分, 学习如何定位和调试这些错误需要耐心和毅力。在解决问题的过程中,他的独立解决问题的能力和逻辑思维,都得到了极好的锻炼,自信心也明显增强了,还产生了满足感和成就感,遇到问题,也较少需要等着我来帮助了。


这就是第一个大的收获:编程有助于培养孩子的耐心,做事坚持不懈。  孩子在成长过程中, 需要从错误中学习, 编程是少数几个通过运行程序即可得出错误结果的素质教育方法之一, 犯错的代价很小, 改错过程中的收获却很大。


另一个收获是, 加强了他对数学的理解力,表现在审题方面, 有不少编程的问题和数学题很像, 需要非常清楚的理解已知和未知条件, 以及要求得到的结果。另外, 很多我自己上学时都感到头疼的问题, 比如数论,数列,几何,代数, 甚至矩阵运算问题, 在电脑程序的加持下,宾宾理解起来变得很容易, 根本不用我再烧脑地想怎么跟他解释这些中学甚至大学才会学到的概念。看来,“电脑要从娃娃抓起”这个说法是有道理的。




经验总结

根据宾宾的学习编程的经验, 孩子到底应该怎么来学编程, 我总结了以下几点: 

1. 要逐步培养孩子对编程的兴趣, 而不是简单地参加兴趣班,把编程看作是玩游戏, 一旦孩子发现编程并不是玩游戏, 会很快失去兴趣。让孩子有机会多接触会编程的人, 看一些技术改变世界的故事等, 从而对编程产生真正的兴趣。  这样在学习过程中,即使碰到一些困难, 仍然能喜欢和坚持。 


2.  家长的作用应以引导和启发为主, 不必直接教授孩子编程知识, 把这部分工作留给专业人员。 网上有大量可选择的高水平课程, 专业的老师讲专业的知识,家长没有必要“重复发明轮胎”, 学基础的编程知识, 让孩子直接听这些课程就可以了。


3.  孩子学习编程的进度应该尊重他自己的节奏, 要给予足够多的时间培育, 不能拔苗助长,不要想着在短期内就看到学习成果立刻见效。编程能力的提高是个长期过程, 要有耐心等待。这个长期的学习过程也不是一般的编程兴趣班所能提供的。最好的方式是, 逐步引导孩子, 跟随专业的讲解,全面系统地学习。 



学习编程的过程,孩子不仅仅学到了编程的知识, 而且能获得一种用电脑程序解决问题和自主学习的能力, 以及最重要的是,获得了源源不断的继续学习和提高的动力。  


由于目前市场上的大多数少儿编程课程, 都没有形成一个完整的体系, 中小学也很少有学校长期提供编程课程, 完全靠孩子自己自学往往很难坚持。  


如果家长没有编程经验, 或者没有时间陪孩子, 并给予适当的引导和鼓励, 孩子往往坚持不下去, 最后不了了之,或只学到了一点皮毛, 无法体会到编程的乐趣, 也感受不到编程所带来的种种好处, 这样学编程, 会造成让孩子觉得编程很难的印象, 哪怕以后有机会可以系统学习的时候, 也可能会产生畏惧心理, 甚至认为编程不适合自己而放弃。 


在日新月异的时代发展中,随着人工智能的普及,大数据,互联网的大规模使用,我们的生活方式发生了深刻的变革,计算机已经融入我们日常生活的方方面面, 大多数的工作都涉及到电脑和软件,理解操控电脑的语言就变得非常重要, 编程已经不再是程序员的专利, 越来越变成一种通用能力, 比如与编程最不相干的律师也需要学习编程来更快地查找信息, 甚至地产大佬潘石屹也在学习编程。 


作为家长, 我们都希望自己的孩子能真正爱上编程,保护好他们的兴趣,在未来的人工智能时代成为一名创造者。 


如果家长不能自己辅导孩子学编程, 有什么办法能帮到家长们吗?

这个问题不太好回答, 具体方法我有些思路, 需要整理一下, 对这个问题感兴趣的家长, 请保持关注,且听下回分解。


顺祝,

万圣节快乐!

0 views0 comments
bottom of page