很多家长想让小朋友学习编程,如果学习顺利的话还想让小朋友参加一些编程竞赛。但是有些家长本身不是学计算机专业,也没有从事过IT行业的工作,这种情况下如何为小朋友挑选合适的信息学老师呢?(注:中小的信息学与大学的计算机是同一回事,只是不同的阶段叫法不一样而已。)
了解学习内容
要想知道如何挑老师,就得知道学习的内容。
(1)对于只是想入门编程来说,随便挑选一门语言即可,比如C或C++或Java或Python。考虑到小朋友学懂语言后,通常会自然而然走上竞赛的路。而有些竞赛是不允许使用Java和Python的,所以入门语言推荐C或C++。
编程语言入门不难,有IT背景的家长若有时间,可以自学C/C++,然后再教给小朋友。当然,若能找到有经验的老师教则更好,但前提是老师必须对C/C++有比较深入的了解。
(2)若是更深入一点,想参加中小学的信息学编程竞赛,要求则高得多。以最初级的NOIP(全国青少年信息学奥林匹克联赛)为例,初赛考察计算机基础、网络基础、编程语言、数据结构、数学、算法和计算机英语。复赛是上机编写算法,当然算法本身与数学和数据结构关系非常密切。
所以挑选信息学老师最重要的是数据结构、数学和算法。其次对于计算机基础,网络基础,计算机英语,编程语言也要有较深入的理解。
对信息学老师的要求
根据这些,就可以按如下的条件来找老师:
(1)要求老师的数据结构、数学和算法能力较强。
(2)要求老师的英语不弱,最起码要能过六级。不仅仅是NOIP初赛会直接考计算机英语,更重要的是信息学会涉及到很多跟英语相关的单词或单词缩写。比如C++里最常见的输出关键字cout,英语较弱的人,很可能不明白cout里的c别对应于哪两个单词;再比如Linux命令pwd,英语不好的人可能不知道这是哪三个英语单词的缩写。如果不知道相对应的英语单词,唯一的方法是挨个字母去死记硬背,这种机械记忆方式比较累,还影响了对相关指令的理解程度。
(3)上面两条提出了对数学、编程和英语的要求,实际上就是对学校提出了要求。所以信息学老师最好是重点大学或名校毕业的。因为考不上重点大学的人,往往就是因为基础不够好。当然这只是从概率的角度而言的。有些普通本科毕业的人,通过自己社会上几年的努力,也可以达到较高的成就,这种人同样令人肃然起敬。只是从概率的角度来讲,这种人比较少,更不容易碰到而已。
(4)若有工业界的经验,则是个加分项。因为若信息学老师在工业界当过几年的程序员,则对编程的理解会更加深入。编程有好多方向,若是算法方向的,自然更好。
(5)算法牛人基本上都聚集在一线和二线城市。三线或以下的城市,不容易找到合适的老师。
(6)若上培训班,收费太便宜的不要去。因为,算法工程师好找工作,并且待遇不低。以北京为例,算法工程师正常的待遇区间是3w - 6w。这个数据从招聘网上很容易查到。所以若算法比较牛的人去做了老师,收费必然不便宜。
(7)上面的六点只能保证老师有真才实学。真才实学只是能让学生听明白的前提。另一个重要的因素是要会讲课。有些人虽然自己有真才实学,但是表达不出来,这种人并不适合当老师。另外一些有真才实学的人,能够深入浅出地将自己的思想表达出来,学生自然就容易学明白,这类人就比较适合当老师。
要判断老师是否能让学生学明白,很简单,让学生听一节课就可以了。
信息学老师更难找
对于中小学五大科奥赛(数学、信息学、物理、化学、生物)而言,信息学(就是大学里的计算机)是最好找工作的。尤其是算法强的人,很容易遭到大公司的哄抢。所以算法牛人毕业后,能力强的人通常会选择科研机构或谷歌微软华为BAT之类的大公司。愿意去中学当信息学老师的人,真是凤毛麟角。而其他四科,因为工作并不好找,毕业后去当中学老师是一种很正常的职业选择。
这就决定了合适的信息学老师不好找。
如何鉴别老师的背景
(1)看老师的履历。主要是看教学经历。如果在教学之前有工业界的工作经验则更好,但是这一点不强求。
(2)看老师的学历。上面提到过,学历并不能代表能力,但能代表概率。考虑到履历做假的人非常多。而学历是比较好查(可通过教育部的下属机构学信网来查)的。试想一下,如果一个人的学历做假,那他在简历上描述的其他经历也未必可信。
(3)看老师本人的获奖经历。如果老师当年参加过NOIP系列的比赛并获奖,这也是一个加分项。最好是有相关的链接可以查到获奖信息,否则很可能是做假。如果老师当年没参加过NOIP系列的比赛,那么对于一个有志于算法的教学和研究的人,必然会经常去一些有名的算法网站打比赛。排名前三的算法网站有美国的TopCoder,俄罗斯的Codeforces,日本的AtCoder。这些比赛经历都是有据可查的。
(4)看老师所带的学生的获奖经历。这里就得提一下金牌名师。只有体制内的老师,才有可能获得政府部门颁发的相关荣誉。但是必须注意到,有些金牌名师其实是没有真才实学的。这跟学生的报名竞赛的形式有关系。有些学校是以学校为单位报名竞赛的,假如学生在学校里有信息课,回家后家长又请了比较牛的老师。这个学生的主要知识是从自己请的老师那里学的,但是报名参赛是以学校为单位,指导教师只能填学校里的老师,这位学生一旦获奖的话,学校里的老师就跟着沾了光,会得到相应的教师荣誉。
上面提到过,其实计算机专业的学生毕业后去了中小学当信息学老师,是因为当年在学校里学得不够好。当然不排除有些人当了学校老师后奋发图强,努力学习算法,这样过了五年或十年,想不强也难。
所以,判断金牌老师教学水平的唯一依据就是小朋友能不能听得懂。另外,有些金牌老师因为名气大,开课外班,每个班级会有三十多人。这跟学校里的班级人数没什么差别了。这种课,效果肯定不好。我认为,课外班只要班级人数超过了10人,效果都不会好。