天才与蠢才,仅有一步之遥——早就忘了第一次听到这种说法是什么时候的事情了!开始还不相信。因为作为中学学习成绩非常一般的我,总是感觉那些“尖子生”们用大拇指想问题都能比我快很多!
学生时期消失的非常之快,时间的车轮轰隆隆地从身边开过,没有办法能够抓住它。直到有一天,当我也站在讲台上把我的所学所想学生听的时候,我才发现这样一个问题:为什么同样难度的知识点,如果是我的老师告诉我,我就会觉得如此难以理解,而且我会非常佩服对方竟然能够理解这么深奥而不可思议的学问;但如果是我告诉我的学生,我就会百思不得其解——为什么他们总是听不懂或者记不住?
经过任教以来不断观察、摸索和总结,我发现:原来,之所以导致各位同学有某某学习成绩好,某某学习成绩差的原因,一在于态度,二在于方法!这是也许毫无新意的结论,但是当你自己真真正正地得出这个结论的时候,你会对它的可信度彻底地征服!
先来说说学习态度:
通常,我们听到老师说学习态度的时候,总是将考勤、作业上交等等令人讨厌的词语联系起来。莫非是这些从事教育工作的家伙们串通好了,不能给自己的学生一点自由的空间?当然不是的,要证明这一点非常简单,我根本不用列举任何事例就可以证明一切:请大家观察自己身边的那些“学习标兵”,当你在学习的时候,他在干什么?——他也在学习?——那好,当他在学习的时候,你在干什么呢?我想,这个时候也许你在做什么别的事情吧,例如:泡泡网吧聊聊天杀杀游戏什么的!你想啊,一个全身心投入的人和一个半身心投入的人如果收获相同的果实,那么上帝岂不是太不公平了?
所以,任何一位老师,会要求他的学生全身心地投入到学习中来,可能并没有“为了祖国的未来,培养祖国的花朵”等等这么远大的抱负,但是至少,平时多花时间学习会使得你的知识更加丰富,生活变得更加充实,这样的学生当然是人见人爱!原因很简单啊,老师也是人,所谓“物以类聚,人以群分”,老师当然希望学生能够尽快赶上自己,成为能够有更多共同语言的朋友。也正是因为“人以群分”,大家再回头看看那些平时专门跟学校各个规章制度抵触的同学,他们不也正是如此吗?
所以,话题就说到最近学校的各种令人难以凿磨的规章制度上来了。有很多啊,什么出勤率啊,作业必须上交啊,必须穿职业装啊等等……前面说的“出勤率”和“交作业”,那是学生的天职,正如医生应当救死扶伤,军人必须服从命令一样,没有什么为什么要做这些的问题,如果一定要有,那就是为了保证学习质量这么简单!但是穿什么衣服跟学习有什么关系呢?这个话题的原因解释那就太多了:
第一:穿职业装,你才能够时刻记住自己是个准职业人;你才能够了解到自己来北大青鸟是干什么的。更准确地说,大家来到北大青鸟,不仅仅是来学习的,跟重要的是学会如何做一个职业人,如何遵守规章制度,如何把自己定位在更高地位的层次,而不是一个简单的应届毕业生甚至是街边的地痞流氓。所以,职业装大家不但要穿,而且,还要每天都告诉自己:我是一名软件工程师,有无数的眼光会看到我的一举一动!
第二:是的,有无数的眼光正盯着你,我们未来的软件工程师们,因此,应当为自己能够穿白衬衣、打领带而感到自豪,应当不齿与那些衣冠不整、习惯懒散的人为伍。这样也就促进了所有同学的共同进步。作为青鸟的一员,也应当帮助那些不能认识到学校这一创举的意义的同学,帮助和监督他们做好职业装的统一和规范。
第三:作为青鸟的一员,难道你不希望在外人的眼里更加与众不同吗?平时来我们学校参观的人很多。试想一下,如果你也是他们中间的一员,面对众多衣装整洁的学员,你会作何感想?如果你的形象树立起来了,青鸟的形象不就树立起来了吗?如果青鸟的形象提高了,作为毕业生的你,在用人单位面前的形象不就提高了吗?
因此,大家应该当以一种“感恩”的心态看待规章制度,以一种良好的态度对待包括学习在内的一切好的事物!没有人会故意为难你,不论是当你想迟到旷课,想多玩一会儿少做点作业,或者是仅仅想穿着舒服一点的时候。请你记住:其实我们一直都在帮助你!
以上这是关于学习态度的讨论,其实“学习态度”,不仅仅是“学习”态度,更是要学习“态度”!百利而无一害的作风!但是我们同样可以看到,有良好的学习态度,并不代表就能真正学到好的技能,它其实只是你能正常发挥自己潜力的一个前提罢了,还有另一个重要的因素,那就是学习方法!
前面说到我从任教以来发现的一个问题:就是学生时代感觉难以理解的东西,突然变得似乎成了天经地义的道理,所有问题似乎突然迎刃而解顺理成章……其实,据我观察和总结,学习的方法因人而异,但总有一些是值得每一位同学共享的:
1. 站在一个高度上看问题——这是应当送给S2,特别是Y2的同学的一句话。当大家所接触到的问题更加深入的时候,那些浮于表面却曾经不能理解的问题就应该变得轻而易举了。不相信,大家可以看看曾经遇到过的很多难题:C语言中的排序、指针、函数,Java中类和对象的概念等等,现在在你眼里还是那么难以理解吗?难道你不认为其实程序就应该这么写吗?同样,当你面对难题的时候,不要慌着看懂每一行代码,不防静下来想一想:看看整个问题的轮廓是什么样的,在你需要解决的问题中,哪些是已知的,哪些是未知的,我们曾经如何使用类似的已知条件,按照什么样的思路,解决过类似的问题……说不定这么一想,你就发现:原来,这个所谓的难题是这么单纯……
2. 怎么才能站在一个高度上看问题呢?其实很多问题,知道“为什么要这样做”比知道它“怎么去做”更为重要。例如C#中为什么要使用委托来处理事件呢?等你想明白了这个问题(鉴于本文主要讨论学习方法,而非学术,这个问题的答案留给各位读者自己思考,或者浏览笔者的QQ空间寻求答案)的时候,你会顺理成章地发现:原来,C#中关于事件的处理机制简直就是理所当然的事情,同时,由于你只有这么想才会真正明白代码的含义,所以那些枯燥的语法你也不用再专门去背了,因为你会觉得如果代码不这么写的化简直不可思议!可惜的是,这个理解的过程通常非常痛苦,往往需要绞尽脑汁翻遍脑海中所有学过的知识,所以下面一个学习经验对于暂时还不能站在一个高度上问题的初学者而言就显得格外重要。
3. 不要企图在理论课上记住老师说过的每一句话,更不要企图听懂老师的每一句话。不知道大家有没有这样一种感受,特别是对于新入学的S1新生而言——你有没有感觉到每天都在吸收大量的养分?这些知识,这些精髓,是老师多年工作积累下来的经验,老师们把它们总结成一个一个定义或者公式。你却绝不可能在两个小时之类完全理解这些智慧的结晶!怎么办?
a) 理论课一定要竖起耳朵听讲,千万不要漏掉任何一句话!因为任何一句话,对你而言都可能需要经过很长的时间才能自我总结出来。
b) 好记性不如烂笔头!听不懂的地方,记下来,你没有太多时间在课堂上慢慢回味,随时握住你的笔,记下老师任何一句重复过两边以上的话,而不仅仅是白板上的东西。
c) 切忌在理论课抄老师敲的代码。因为你没他快,而且,你没法一心二用,你的首要目的是尽可能地听老师讲,尽可能多地在笔记本上记下任何有价值的东西。至于代码,服务器上有,或者去找老师拷贝。
d) 所以,预习是必要的,听老师课前讲解目标和重点也是必要的。否则,你怎么知道哪些该记,哪些不该记呢?每次理论课回顾的时候,我发现有很多同学似乎在听,其实没听。他们渴望学习新的知识,而对旧的知识缺乏兴趣是可以理解的。但是,殊不知,这些被忽略的都是重点中的重点!
4. 理论课上记到的东西,上机课一定要认真试验。别看老师敲代码劈哩啪啦不报一个错误,即使有错也是故意设置的智力陷阱……他们之所以能够熟练的编写代码,是因为他们经过了无数次的练习。我也喜欢在上课的时候演示编写代码,如果你听过我的课,而且想赶上甚至超过我的熟练程度的话,那么必须比我付出更多的努力。否则的话,岂不是天方夜谭?告诉大家,即使我在带我教过十遍的课程,我仍然会坚持每天编写至少500行有效代码。要不然,正如习武之人——一天不练,自己知道;两天不练,同行知道;三天不练,我怕是地球人都知道了!我尚且如此,那么你呢?
5. 团队协作能力、查帮助的能力、编写代码的能力。我认为这是程序员至少应当具备的三大基本能力。而且我把他们排了序。
a) 首先是团队能力:学校组织的各种集体活动,无疑是为了锻炼大家这样一种能力。如果说你的班上参加集体活动从来都不积极,那么别跟我说什么你们是一个优秀的班级!因为你们根本不知道什么叫做集体!如果你对迟到旷课,名字上红榜也无所谓,那么也别跟我说你有什么集体荣誉感!因为你的名字根本没人认识,但是你的班级名字每个人都知道,人们总是讨论哪个班违规的人数最多,从来不去讨论你个人总共违规几次。
b) 其次是查帮助的能力:不会查帮助的程序员等于一张写满了字的白纸,丝毫没有自己学习的能力的人,永远没有进步的可能!
c) 编写代码的能力:这个其实是最后一个需要具备的功能了,你总有一天会依靠这个混饭吃的,而且你也会发现,原来你的每个同事都是在依靠这个技能拿工资!因此,你必须包含这个技能,但不能仅仅局限这个技能!
突然发现自己写了很多很多,以后有新的感想,我会尽快通过文档与大家交流的!所以我想我还是就此搁笔吧!一方面为了不至于同学们一下子接受不了这些,另一方面我明天也还需要按时上班,毕竟如果我迟到的话,不知道解释理由会不会有人愿意去听:)……现在的时间是凌晨一点差五分,突然想起现在各位同学们还有多少人仍然坚持在计算机面前呢?如果有,又在干什么呢?发表于 @ 2008年04月26日 18:04:55|评论(loading...)|编辑