先说背景:男孩,目前海淀一所普小5年级就读。今年下半年开始参加信息学比赛,目前得了海淀区智慧杯普及组一等奖,北京市信息学科普日活动普及组成绩前25%。刚出成绩的CSP-J初赛晋级,看了一下以前复赛的题目难度,复赛他只要不出现文件名或头文件写错之类的失误,应该至少是三等奖,发挥好有可能是二等奖。当然,这个成绩肯定和版上像小乖之类的牛蛙没法比,不过主要是和孩子自己相比,我觉得已经进步很大了。写篇文章记录一下,也给自己打打气,继续努力。
我们从小一直是佛性养娃,奥数,英语,写作什么的都没学,唯一的课外活动就是各种体育项目和玩乐高,大概从18年底开始接触信息学,先是在一个朋友那里听了几节课,孩子听的似懂非懂,好像还有点兴趣。然后因为朋友那里交通不太方便,我就换了一家正式的少儿编程机构开始报班学习,机构倒是很正规,先考试再分班,每周一次课两小时,一直学了大半年,我自己虽然也算是老程序员了,但毕竟不是搞教育出生,所以也不方便评价老师的水平,只是觉得上课的节奏不好,感觉讲不到重点,特别是有一次旁听了三节课,发现老师还没把冒泡排序讲清楚,实在受不了就准备换别的机构。换机构的过程中我就发现原因了,主要孩子没学过奥数,所有每次进机构前的测评考试都不怎么样,这样配备的师资就不是最好,只能从普通班开始上。经过这一番折腾,我也有点灰心,想想可能孩子也不是这块料,索性也就放弃继续学了。
直到今年年初,因为疫情的原因自己闲赋在家的时间比较多,又想起这事,就重新开始自己教娃,我从最基本的逻辑、循环、数组开始讲,发现孩子理解的还不错,又开始讲穷举、递推和递归的思路,等孩子接受后上升到栈、队列、链表、树和图的数据结构,顺带把基础的广搜、深搜、动态规划全讲了。孩子好像是突然开了窍,居然基本都领悟了,经过几次比赛的检查也还不错。而且因为编程的有些题目涉及到基础数论,平面几何的知识,他的校内数学成绩好像也开了挂似的,从班里中不溜开始成为优秀,而且据数学老师反馈经常能提出一些新的解题方法。
所以今后准备就一直走这条路学下去了,现在每天晚上做完作业后都是我俩的编程学习时间,我会从网上打印出一两道题然后在白板上和孩子一起讨论做法,经常会为谁的算法思路更好讨论的不可开交,倒是成了一个不错的亲子时间,我俩的关系都好了不少。说实话,其实最开始的时候,我让他学习信息学其实主要还是想看看能不能通过这个走什么升学的捷径,现在倒是想开了,只要孩子喜欢这个方向,愿意一直走下去,最后上不上好学校也无所谓了,一直坚持没准将来真能做出什么东西,他老是嚷嚷说noi linux 上的软件不好用,我就说,行等你以后学好了自己开发,让大家用你编的软件。
最后贴两张图,一张是我自己当教材的书,一张是昨晚做的题目。也希望和家里也有娃学信息学的家长一起交流。
-----------------11月8日更新-----------------
昨天刚考完试,今天网上试卷真题,选手代码,各种估分系统都出来了。孩子估分只有130左右,和原计划差不多,确实也就是保三争二等奖。但是过程还是有点遗憾,主要是第一题,第二题耗时间太多,但都没拿满分。第三题不会,第四题DFS有思路,但是时间来不及没写完代码。
比赛总结:
1、基本代码还是不熟,特别是第一次现场做题,不让参考任何资料,有些基本的语句都要想半天才能敲对,平时考虑伪码和思路多,实际写代码少的问题暴露了,以后要适当加强上机的时间。
2、考虑问题不全面,特别是对测试数据的范围预估不够细致,对时间复杂度的重视不够,感觉现在的比赛感觉越来越看重这块,划重点以后好好补补。
3、数据结构、搜索、动态规划理解的太浅,只了解基本的概念和会写最简单的模板题,应付初赛的选择题和补全代码还凑合,遇到比赛稍加变化从零写代码就不行了,但这方面着急也没用,只能慢慢学了。
最后想说几句,上次发贴后有个别家长私信我说加微信交流,首先谢谢家长的鼓励,不过说实话,自己和孩子在信息学这块也是刚起步,还有很多需要学习的地方,我的经验也就论坛上贴的这些了。现在网络各方面都很发达,我觉得如今搞竞赛有个好处就是能够把眼光放远,看到全市甚至全国的牛蛙,来对比自己的不足。现在正在看北京今年S组同学们的代码,说实话,有些真的写的挺好的,自愧不如。
---------------------------------------------------------------------------------------
--
修改:apkstore FROM 120.244.220.*
FROM 120.244.220.*