暑假里,贝爸搞了一次Scratch少儿编程夏令营,完全免费的,但我是非常认真的,课程结束后我还给孩子们发了证书。这篇文章算是对这段时间的一个总结吧。
起先,贝爸原计划是这个假期里给贝贝讲讲什么是程序,如何写程序。后来和一些朋友都聊到了这个话题,那好吧,我开个班,都来我这里。有了别人家的孩子,朋友的信任,让我来不得半点马虎。
孩子学习编程的目的并不是说想孩子以后从事计算机或是做程序员,而是编程能力或是编程解决问题这一过程,对于孩子思维能力及思维方式的锻炼价值非常大。它是一门综合性能力培养,编程过程中会运用数学、音乐、绘画、物理等等知识,极大地锻炼孩子的创造力与综合运用知识的能力,或许大家也知道这就是所谓的STEM/STEAM教育。
未来人工智能主导世界进步是毫无疑问的,加上自己就是高校搞计算机的,很清楚技术趋势,因此我这个计划早几年前就定下来的(就等孩子到年龄),至今年暑假,我的准备也算是比较充分了。我甚至翻阅了儿童心理、少儿教育方法等书籍,毕竟小学生和大学生是完全不一样的,夏令营也证明我这方面的准备必不可少。
从16年到这个暑假前,期间我看了十几本针对少儿编程的书,有中英文Scratch的、有Python的、JavaScript的等等...... 但这些书或网站有个比较大的问题,就是对于完全零基础的小朋友还不是太友好的,讲解不全面(确实难),所以我就自己写了教学大纲,准备了PPT教案。当然也对比了线上的一些课程(装成不懂的家长给孩子报名试听),(开始吐槽)有的简直就是直播放录像、有的40分钟的课程因为个别参与孩子网络不好,光调整网络就花十几分钟,然后把事先写好的游戏程序让孩子运行一下,改个参数就没了,而且直播背景声音嘈杂(多个老师同一间教室),完全不是理想的上课环境。个人认为在线教学还是相对更适合年龄大一些的孩子或是成人自学。
我的思路是当前低年级先学Scratch(中后期结合机器人),然后小学高年级了再接触Python这类高级语言,到了初中可以学习C/C++,然后是Java/C#等(如果高中兴趣还保持,学了C/C++之后其它都可以自学了)。如果我家贝贝到时候还感兴趣,我一定还会教他学习汇编语言(ASM),真正搞清楚程序的前世今生。当然学习的后期,什么语言并不重要,只要计算机体系结构没有变化,那就是那点东西,那时,设计模式、框架设计能力才是最重要的。算法处理是另一个分支。
学习Scratch的原因,是因为它简单有趣,可以做好玩的电子游戏、学习互动艺术设计(结合视频、音乐、计算机绘图)等等。通过Scratch可以先让孩子了解与计算机沟通的方式、掌握一些常见问题的分析、拆解与最终的解决方法;当然还有重要的测试、调试能力锻炼,通过分析问题症结、定位问题,再到解决问题、优化问题,这个模式就很像机器学习中著名的反向传播(BP)方法。让孩子的综合知识运用能力得到一个逐步求精、拾阶而上的提高。而这些并不需要孩子真正会coding,但只要学会鼠标操作,通过模块的拖拉组合,就可以像搭积木一样把想法实现出来。这种方式符合孩子的成长发展特点,个人认为6-10岁的孩子都能够掌握。
最后,我还是想强调一下,单纯学一门计算机语言基本上是毫无意义的。重要的不是什么语言,而是面对问题,如何来处理的思路;这是一个分析问题、解决问题、优化问题的过程,这种思维能力适用于各个行业。这样的关键能力是孩子受用一生的。
夏令营课程里孩子们讨论问题
游戏作品
疯狂飞机
蝙蝠攻击
欢迎对少儿编程有兴趣的朋友和我交流(微信号:ullychan)请注明:少儿编程
网友评论