6月份一个朋友娃小升初刚结束,兴致冲冲地跑过来说:这是我们本地王牌高中的科技特长生简章,你看看我们暑假怎么规划,要学点什么编程啊?这次一定要搭上科技特长生这辆车,初升高就不愁了。
这两年儿童编程科技特长生确实得到了越来越多家庭的青睐,录取分数线一般比统招低,关键是孩子在信息学、编程竞赛中拿奖的话,都成了重点学校“争抢”的优质资源,我大概算了下,科技特长生覆盖面有20多个省市了,覆盖率76%,从北京人大附中的科技特长生招生信息也可见它的热度和认可度!
但是,从孩子学习来说,想要走得更远,搭上科技特长生的班车最好,重要的还是孩子能系统地学下去,提前做好系统性的规划!
我一个深圳的朋友,孩子从4年级开始学C/C++到现在2年多了,线下投入了0、40W,虽说也拿了些奖,但是还没有含金量特别高的,目前进退两难,学吧孩子热情没那么高,深入算法别说孩子,对大人也不轻松,同时占去了大量的业余和其他学习时间,不学吧又觉得可惜……
那么到底应该怎么给孩子做好编程学习规划呢?既能锻炼到孩子思维、提升解决问题能力,又能在竞赛、编程考级中有所斩获,助力孩子升学!
1、编程学习规划我觉得孩子从基础的编程学习一直到科技特长生中CSP–J/S取得名次,大致分为三个大的阶段:
第一个阶段称之为:做其行
在这个阶段,孩子最主要的是体会编程中的核心概念和逻辑,比如什么是循环,什么是条件判断,如何组织你的程序有一定的逻辑。
那么在这个阶段,我个人更加推荐使用scratch来学习,孩子可以很快的上手,没有很重的认知负担,以激发兴趣为主。
第二个阶段:查其理
也就是说孩子对编程有了一定的理解之后,会很自然的去思考,为什么程序会是这样子的呢?为什么函数要带参数呢?当他们开始问这些问题的时候,其实就是一个非常好的契机,进入正式的真实代码学习阶段。
那么不同于第一阶段的编程逻辑,孩子开始好奇一些编程的原理,这些原理很大程度上是和计算机硬件相关的,所以我非常推荐使用硬件给孩子做一个直观的演示,同时使用Python这样简洁明了的语言来讲解,让孩子直观的掌握编程核心概念,也为下一步的学习深造打下来一个坚持的编程基础。
那么通过这个阶段的学习,孩子学的好,通常可以通过像计算机学会的1-4级编程等级考试,对编程也有了系统的理解。
第三个阶段:用其法
有了前面的积淀,这个阶段孩子也有了一定的数学基础,同时对编程有热情,那么再继续学习数据结构和算法的相关知识,这点基本上和我们在大学计算机专业一年级所学的知识是相互对应的,在这个阶段,孩子需要通过大量的时间来学习和掌握这些算法,然后再用算法去解决问题,自然也就能直接参加CSP-j/S或者信息学奥赛了,取得不错的成绩走科技特长生或者保送大学也就是自然而然的事啦。
如果把上面个阶段按照时间分配的话,我更建议1:2:4,也就是每个阶段多需要花费多时间和精力都是递增的,也能让孩子学的下去。
至于大家最