最近听了一个关于少儿编程方面的直播,感觉还是比较认同,以下是一些主要观点:
关于目的和动机
基于兴趣:这个是误导,如果仅凭兴趣就花钱报培训班,南辕北辙了。初中,高中的主要任务是升学。
助力升学:这个应该是主要目的。国家的“强基计划”代替自主招生,信奥赛获得普遍认可,在升高中、升大学的时候都有相应的优惠政策。
关于编程语言
目前,和少儿编程相关的主要有Scratch、Python、C++三种;这三种语言是完全不相关的。举个例子来说,假如你先学Scratch和Python,对于你学C++不但没有帮助,甚至会产生副作用。效果不如直接学C++。因为这三种语言的思维模式完全不同:Scratch是结构化编程的图形展示;Python是解释型的胶水语言,算法表达和科研是比较合适的,是目前人工智能和大数据的主要语言;C++是面向对象的,和Java是当年的两大鼻祖,是计算机领域最难学的语言,没有之一。所以,对于语言,正确的做法是三选一,三者都学的结果是投入多,效果差。
选哪个?这个是很令人纠结的地方,需要和你的目的结合起来。如果是面向找工作,那么当前的趋势是人工智能和大数据,毫无疑问是Python,C++碰都不要碰,除非工作需要。当然,如果你的目的是升序和科技特长生,那么毫无疑问,坚定地学C++,不要考虑任何Python相关的内容。因为,信奥赛事目前唯一被广泛认可,对升学有帮助的竞赛,努力的方向就是这个。
如何协调统一?
如果你能学好C++,而且有自己的心得,那么在需要的时候学Python,你就会感觉特别轻松简单。“由俭入奢易,由奢入俭难”,说的就是这个。
最理想的安排就是从小学4年级开始学习C++,目标就奔着信奥赛去,初中以前拿下普通组和提高组的奖项,高中拿下另外两个奖项。
最迟的安排就是从初一开始,努力一年,参加一次普通组的比赛,能拿奖就成了,拿不了奖,就只能是浪费了。
高中的编程选考是怎么回事?
浙江的试点,目前是科学技术,由编程,电路,机械三门课组成。编程语言是Python,电路是二极管之类的,机械是三视图。说实在的,这不知道是哪个脑残想出来的馊主意,这在大学阶段是三门完全不相干的专业,这比物化生杂揉成科学更加扯淡。
如果你在初中阶段C++信奥赛能拿奖,并且高中不想继续,转而改学Python应付选考,那是非常轻松的事情。当然,在准备信奥的时候用点课余时间了解一下Python,过这种会考级别的编程考试,那是很轻松的。事实上,很多选考Python的考生,经常会请教信奥的学霸编程相关的问题。而信奥,只认C++,不管Python。
如何选择?
最早的时间是小学三年级结束的暑假开始,开学就是4年级,那么就有四五六七八等5次竞赛机会,普通组和提高组的相关奖项都可以拿;
最迟的时间是七年级下,也就是初一下开始,暑假开始学,就参加1次普通组的比赛,能拿什么奖就拿什么奖。就算什么也没拿到,至少你对自己适不适合干编程会有非常充分的认识。
C++是最难的编程语言,没有之一,如果连这都能学好,你肯定是有编程方面的天赋的。并且C++就像乾坤大挪移,一旦精通,再学其他编程语言就会感觉很简单。