我经常会碰到这样的同学,刚进大学,他曾经参加过高中的信息学竞赛,获得了一定的奖项。然后,问我,他应该如何开展大学的学习。

相信他也会问过其他老师,最政治正确的回答是:保持努力,积极参加ACM等学科竞赛,争取科研立项。之前,我一般也这么回答。其实,我有另外的想法,与大学的行政指南稍微不同:如果你参加过信息学竞赛,那么更应该放弃比赛,把所有精力放在学科的学习之上。

理由很多,其实不复杂,只是这里讲,需要更多的解释,还是算了。大概就是,有基础的同学更应该学更多的知识;比赛其实没多大意思,真正有意思的还是在学科上有所收获。

有同学会说,我有能力不去比赛,那些水货都去比赛,拿了更多的利益...... 算这样的蝇头小利,有意思吗?如果你真的计较,去比赛也无妨,这也仅仅是我一家之言,并不指望很多人会听。

还有同学说,不去比赛,我也不知道学什么呀,不如通过比赛来促进学习。当你的学习还需要比赛来促进,首先还是要改变一下心态,让学习更“主动”起来吧。“不知道学什么”,这本来就是一件值得关注的大事,是不知道,不是没有。

相信,如果Ewin Tang也关注比赛,是写不出什么论文的。

    Bintou 在学科上有所收获是指什么?“有所”的范围又是什么呢?

      Kaye 之所以是”有所“这样的含糊表达,就意味因人而异,不可统一而论。比如,认真看完一本CLRS也是一种收获;设计一种算法并发表论文也是一种收获。至于你选择哪一种,那是目标选择问题,而是否能达到目标,除了努力,也许还需要运气了,我不知道..

      Bintou
      老师你说“理由很多,其实不复杂,只是这里讲,需要更多的解释“,能细讲下吗?

        geek-sjl
        好吧,稍微展开,如果你们感兴趣的不妨也说一下自己的看法。

        参加竞赛是符合国家要求、家庭要求或者个人利益的好事情

        “参加竞赛是符合国家要求、家庭要求或者个人利益的好事情”这样一个结论是颇深入人心的。可惜我们需要分析一下,到底参加竞赛的目的是什么?讲得终极一点,比赛是为了学生更好地达到人生的目标。如果是这样,请问,有没有更好的方法达到自己的目标?

        参加竞赛是急功近利的表现

        这才是我的真实看法。为什么?你想一下,什么人应该去比赛?牛人!那你再看看身边去参加比赛的人都是什么人?牛人吗?怂人!被他人一鼓吹,眼前利益一驱动,上!连算法都没有认真学一下就去ACM。这如果不是急功近利,我真不知道什么是。

        关键是,不仅仅是学生自己忍不住,而是身边的各种老师也在鼓励:参加吧,很好的!可以学到很多东西,可以锻炼自己,体悟人生,勇攀高峰.....再不行就说:你看看人家华农、广工,人家都参加比赛,我们华师为啥不行。

        没有什么行或不行,就看你自己的目标是什么。

        为什么强调高中参赛过就不要去参赛?

        很简单,如果你参赛了你应该信息学竞赛、ACM竞赛的本质是什么。如果你连这个都没搞懂,不参加好过参加。如果你懂了这个,你就应该明白,算法能力才是自己的唯一出路。如果你明白算法能力是唯一出路,就应该明白,ACM比赛可以辅助但绝不是唯一途径也不是最优的学习路径。

        参加过比赛意味有基础,意味有更好的潜力去参加其他学科知识的学习,意味目标更明确!

        顺便说一个观点,如果你打算读研读博士,你应该花更多的时间看文章,而不是去比赛。

        再问一个问题:如果你打算去Google或者微软工作,请问,ACM比赛获奖是否可以一项非常加分的项目?

        哪为什么ACM获奖者在中国无论就业或者读研都提现出优势?

        这个问题问得好!回答是:因为没有参加ACM比赛的同学并没有利用好自己的时间去学习。以上的讨论是,不参加ACM,腾出时间去学习其他内容、做其他工作。现在的困局是,当我们的同学不去比赛、不去立项,他们竟然找不到目标!这才是教育的悲剧,是大学的困局。

        可以这么说,大学里面有非常值得学的内容,有很多值得做的事情。遗憾的是,我看到的是是一群对自己未来无动于衷、麻木不仁的学生,他们很明确自己不需要这个那个等等。但是你问他们,你到底想要做什么?他们往往一脸茫然,然后真心地感叹:老师,好迷茫啊!

        迷茫个屁,说到底就一个字:怂!

          Bintou 那既然现状是“ACM获奖者在中国无论就业或者读研都提现出优势“,我们又无力于改变这种现状,为什么...不是去适应呢

            Bintou 虽然说所谓的适应最后也可能因为能力有限变为徒劳的努力...那或者换一种问法,老师的意思是只要不断的学习就可以了?

              Bintou 老师的意思是很多还没有学会的人去参加比赛主要是因为这个比赛会迫使你去学习,但是这个比赛对于读研读博和工作的人来说作用没有其他的大,参加比赛的前提是我已经懂得这个知识,而不是在什么都不懂的前提下为了一个不知道是什么的目的就去参加。是这个意思咩

              说“作用没有其他大”则不好说了。还是需要大家明确自己的奋斗目标,知道什么才是自己需要迫切学习的知识。

              geek-sjl 你要明白的是这种现状形成的原因,而不要被这些现象迷惑。现状无需改变,需要改变的是你自己。在这个前提下说“去适应环境”就显得非常被动。就好比,在食堂里面如果很多人插队,为了适应环境大家要做的就是都去插队,从而大家挤成一团。现实的状况是,在食堂挤成一团只是80年代的情形,现在都是秩序井然。问题就是,在80年代说要去适应环境的那个人是不是显得有点傻呢?

              Bintou 这个正确的道路因人而异?有没有一些更具普适性的大方向性的建议?

                再展开说这样一个观点。最近网络传的一张照片,在美国参加ACM竞赛获奖的美国队都是一副亚裔的面孔,暗示都是华人在获奖。或者,暗示中国的高中教育超英赶美。我认为,这是一种误解。比赛只是一个事件,只是一个指标,说明的东西很少。而Ewin Tang的成功代表的才是高教的成功,那是一种制度、环境、土壤的成功,是科研的成功。

                为什么我们很受乐于获奖,而不诚实地看待教育、科研的现状与问题?一个本质的诱因:当前利益!

                要给年轻人土壤,慢慢培养,还要承受可能失败的结局,这才是教育。这样的教育能带来什么样的利益?没人能算得清楚。但是,是否可以培养一个金牌选手,大概也就是两三年的事情。如果我建议的教育要到100年之后才能出成果,谁来享受这样的成功呢?这又与我何关呢?在这种念头驱动下,我们很容易选择大量鼓吹竞赛的教育。

                geek-sjl 普世的建议都是虚的:有理想。而对于我们计算机学院的CSers来说就很简单:抓核心,练内功。

                核心我指这五本书

                关于竞赛,我之前还有一个帖子大家可以参考。

                4 个月 后

                geek-sjl 这个帖子讨论了不少了,时间也过了差不多一个学期。该我问一个问题了。你进入大学之后有没有给自己一个明确的定位和目标?

                或者一个更简单的问题。在大学,你对自己计算机专业方面的学习有什么进展呢?

                  Bintou emmmm...来自bintou老师的灵魂拷问。
                  首先,我可以肯定地说我有在不断地学习,算是对的上我对于计算机学科一如既往的热爱。但至于学了什么,回过头来看,似乎又是一通乱学。先刷了一堆算法题以期于锻炼自己的思维能力,对于新的算法反倒没有接触多少。因为我觉得算法学再多,在于会变通的应用,而思维能力(或者说思考解决问题的方式)则只能寄希望于时间沉淀后的水到渠成。然后就是电设和ctf,在备赛过程中算是学到了很多东西吧,遗憾的是这些学到的东西可能不易于迁移,也就是只在某一方面能够运用(消耗时间的性价比太低)。
                  如果要总结我这学期学习的方式,那应该是"兴趣使然,需求驱动",也学到了很多,但性价比不高。继续不断的去学,这对我来说是肯定的,但学什么,应该还要再认真考虑。

                    geek-sjl
                    斌头五核心啊。
                    就这次CTF的来说,其实很多东西都是CSAPP里面有涉及到的(特别是PWN)。
                    “核心”我理解的话就像基础,掌握了“核心”不一定能掌握全部知识,但可以帮助你更快或更好地去学习其他知识(计算机方面的)
                    ?

                      geek-sjl 倒觉得不是乱学,在抓核心的同时开阔一下视野,说不定可以遇到自己真的感兴趣的方向呢

                      © 2018-2025 0xFFFF