关于孩子学编程作为家长要知道的事情(2)
3. 即便如此,还是想让孩子学编程,那该怎么办?
未来十年,几乎没有领域离得开编程,深入掌握编程这门技术,确实能让孩子将来面临升学或就业时有更多选择。
我的一个学生菲,申请今年暑假在哈佛医学院实习的职位,跟她同时竞争这个职位的有哈佛本科和研究生,但是最后她脱颖而出。原因除了她11年级暑假给西雅图的一个机构做过类似的医学统计工作之外,面试官看重就是她的编程背景,从9年级开始学编程直到修完AP计算机课,其间还参加过不少编程竞赛。
菲上高中前,根本没有想过要学编程。 9年级学校把计算机作为必修课,她才第一次接触编程,编程环境是卡耐基梅隆大学的设计Alice(www.alice.org), 有别于传统的文本编译器的一款3D图形界面的免费编程教学软件。Alice编程体验是,首先建立自己个性化虚拟世界,然后往里添加和摆放各种人物或动物以及物品3D模型,学生可以写的程序既可以控制这些模型生成动画,也可以是让用户通过鼠标和键盘来和这些模型互动的3D游戏。因为Alice, 菲喜欢上了编程,从此一发不可收拾,一路修到AP计算机。
跟学习其他任何技能一样,教编程与其说是教技能,还不如说是激发起孩子对编程的内在兴趣,然后不畏艰难,一路深入钻研下去。
菲对编程第一次触电是9年级,无论是抽象思维还是数学基础,都已经具备了。而对于低龄孩子来说,无论是Alice,Scratch,还是乐高或是VEX,从培养兴趣来说都是好的工具,但是不要对从中学到的东西能够有效的转化为实用的编程技巧抱太大期望,因为这个年龄段的孩子大多还理解不了编程的实质。
等到孩子认知水平能够系统学编程的时候,如果所在学校不提供编程课,想送孩子学编程的话,一定找到好的老师,不然还不如不学。
我前两年教过一个学生,父母都是计算机领域里著名专家,父亲当时还担任大学计算机系的系主任。他们为孩子选课的事情,先先后后找过我两次。因为他们之前没有让孩子接触过编程,所以对于入门课这块儿非常慎重。他们详细询问了课程的内容和我的教学方法,跟我探讨了编程思维和以及在教学实践如何培养编程思维。父亲尤其关注每一个单元结束后的project,因为学习编程关键不在于老师在课堂上讲多少,而是在于学生在做Project的过程中理解,消化,整合知识点。而好的project需要难度适当能够巧妙的融会贯通所有知识点,而且会让孩子做完之后非常有成就感,从而更加激发学习兴趣。
教了这么多年学生,这样认真的父母,我还是第一次遇到。我不认为这种做法是挑剔,因为懂行,所以谨慎。
最后,由衷希望每个学编程的孩子,收获技能之外,能培养出有效解决问题的编程思维,最重要的是从中发掘出自己的兴趣,深入钻研下去。正如伽利略所说:
“You cannot teach a man anything; you can only help him discover it in himself.” ~Galileo Galilei