在A协我能学到什么?

这是长安大学ACM协会创始人L_w学长「目前就读于NCTU」当年写下的
另一位创始人是J_cf学长「目前就读于USTC

在阅读这篇文章之前,如果你有任何疑问,欢迎阅读FAQ


这里详细说明一下,在ACM协会中你都 能学到些什么 需要注意些什么
在最后,还有对大一,大二,大三同学分别的安排
在最最后,有关于ACM有什么用的说明
在最最最后,还有一个题外话


从大方向来说,我们社团主要设计的是 算法领域
什么是算法呢,简单说就是解决问题的办法,比如高中大家都学习过的辗转相除法(或者叫做欧几里德算法),就是一种算法,用来解决求两个数的最大公约数的问题。

首先,先说下,ACM-ICPC,是国际大学生程序设计竞赛,被誉为计算机界的奥林匹克。
所以,我们离不开编程。
这时候,我们需要至少掌握一门语言,针对大一刚刚入社团的同学,可能并没有语言基础,针对这些同学,我们在10月份有一个面向全校的C语言培训,这是今年我们协会的第一个活动,由我们的副主席给大家讲解C语言,让大家快速入门C语言,掌握C语言。
其他的讲课,活动,还有其他培训,以后都会通知大家。
具体来说,我们主要涉及的是数学,数据结构相关,算法。

关于数学


千万不要说你数学不好,因为你高中学的数学,都是基础中的基础,而大学的数学,你还没有开始(我针对大一新生说的)。

数学是美丽的,你应该享受她。

首先我先说计算机专业(信息学院的同学),必修的课程有_高等数学,离散数学,线性代数,复变函数,概率论等。其中,离散数学,线性代数,复变函数,概率论,都是非常重要的课程,在ACM竞赛中,运用非常广泛,希望大家在学习的时候一定要认真。尽管学校(信息学院)又开设这些课程,但由于课时和其他因素,这些理论往往都无法得到实践和运用,我们计划在后期,给大家讲解部分的数学知识,当然,深度和广度可能会远高于学校的课程,难度可能也是更大,但是,相信努力和肯学的同学肯定能够有所突破。

其次说说其他学院,其他学院可能没有这么多数学课。但是,有些学院却有一些我们没有但是也非常重要的课程,比如_汽车学院的运筹学_,其实也是ACM中非常重要的思想。当然,不仅仅是ACM中,在其他,再比如,_理学院_的同学,数学系的同学,还会学习计算几何,等更专业的课程,这些东西也是ACM中有考察的,所以,其实,你们学习的东西,都是有用的,而且很有用,千万不要做那种,考试前突击,考的时候能考90分,考后就忘得一干二净,知识,是有用的。我自己的数学就不算很好。就是以前没有好好学,很是后悔,但是现在,又开始狂学数学。。。恶补中。

当然,还有其他的数学分支,组合数学,博弈论的相关知识,还有数论的相关知识。数论是我比较喜欢的一门数学,非常有意思。

不要被数学吓到,她是一门美学,Aesthetics。

当然,不仅仅是数学,,,不要被数学吓到。因为除了数学,还有别的。

关于数据结构


ACM的比赛,毕竟是编程,所以在有了语言基础之上,学习算法和数据结构是必要的。

具体来说,数据结构,计算机专业必修专业课,非常非常非常重要的一门课程。但是事实上学校的教学中讲到的都是比较基本的。作为我们ACM的要求,远远高于大学对数据结构的要求。你会见到很多书上没有出现的知识和结构,比如线段树,斐波那契堆,等等。

甚至是某些大神自己发明的数据结构,比如size balance tree,就是一个高中生发明的数据结构当中的一棵树。

不过没关系,学校不教,学不到,没关系,我们会和大家交流,会和大家分享,前提是你能够坚持到这个阶段,因为ACM竞赛,是艰苦的。

数据结构的相关课程或者说交流会,我们也会进一步筹划,但是这个对于大一学生来说可能还有一段差距,不过没关系,我们会以老带新,全力支持大一的学生,你们有热情,有激情,我们一定会给予帮助。当然,如果外院的同学,没有学习数据结构也没有关系,因为自学也是可以的,遇到不懂的问题,欢迎一起交流讨论。

不要被数据结构吓到,它其实是一门艺术。

关于算法


这部分内容过于庞大,,请询问你的学长学姐们。。。。。

给大一


针对大一,大部分同学都是没有C语言基础的,我们有提供C语言培训课,希望能够帮助大家快速入门,但是,学习语言,不敲代码,或者说不实践是学不好的,有些同学可能没有电脑或者没有带电脑,这些同学就只能去机房了,因为训练是必要的,就像你高考前做的大量练习。

这里提醒一句,C语言难,很难,不难,一点都不难,,如果你有用心学习,你一定能够学好他,但是,如果你三天打鱼两天晒网,不好好学,那我们也没有办法。你的态度,会决定你的高度!

还有部分大一新生,已经在之前学过C语言C++等,甚至是参加过NOIP等竞赛,这些同学可以同大二、大三学长一起训练,讲授更高级算法知识。

当然部分非常有实力的同学,可以入选我们的校队,(校队主要是代表学校去参加Acm的各项比赛,比如全国邀请赛,亚洲区域赛等)

我们ACM校集训队,期待神一般的你,带领长大创造神一般的奇迹!!!

给大二、大三


针对大一的同学,基本上已经有了语言的基础,有些同学甚至在算法上已经颇有研究。这里,我们校队将会有同学或者学长来给大家讲课,涉及范围较广,当然都是找的擅长该方面的队员给大家讲课。大二的同学应该积极主动地去学习,不断提高,打下坚实基础,

也有机会代表学校去参加ACM的各项赛事。可以说,大二一年,对于想参加全国的比赛或者说非常有雄心的同学,是必须要刻苦的一年,你需要提高的地方和掌握的东西非常多。一定要利用好时间。提高,一定要提高!!!!

大二,大三,只要要担负起以老带新,带大一同学的重任,同时还有进一步提高自己的能力,多的不说了。长安大学毕竟211。ACM也起步非常晚,,但是我们相信奇迹,也许下一个奇迹,就是你,我们一起,为长大的ACM创造奇迹!!!

ACM 究竟何用


关于ACM,有什么用,,,,这里很多同学问我,我直接在这里说清楚了。

  • ACM对于我,或者说对于所有ACMer,是一种追求,是一种梦想,无法用言语形容。
  • ACM对奖学金的帮助。有多大?巨大。。。是所有奖学金加分项目中,加分最多的,没有之一。就拿你们副主席(jcf学长)来说,他大一的时候总评是95分多,毫无悬念拿到的8000国家奖学金,当时我很清楚记得,他的智育分数是爆表的(因为ACM比赛的巨大加分,超过了100分).然后,就不用我再说什么了吧。当然。如果你参加ACM是为了加分,那不好意思,我并不是很欢迎你。我希望的是,你真正热爱ACM。
  • ACM对找工作的帮助。。。这里我不想说太多,多说无意。直接拿亚洲区域赛金牌的含金量来说,如果你能拿到邀请赛的金牌。那以你的能力,金山,百度,腾讯,360可能都会向你伸出橄榄枝,年薪20W,真的不是吹的。如果你拥有进入全球总决赛的实力,恐怕国内的软件公司可能你都不会考虑在内,,也许你可能会考虑是否去facebook,google等更高端霸气上档次的公司。毕竟很多ACM大牛都在美国,台湾等地工作。(JJY学姐在MSRA实习~好强吖!)
  • 没有基础怎么办。。无数的人都是这样问的。。。没有基础到底怎么办,,凉拌??我这里只给大家举一个例子。Watashi,浙江大学本科生,研究生,现在在美国facebook工作,研究生一年级那年参加的最后一次ACM比赛(退役赛),打败俄罗斯等众多强队,获得了那年的ACM全球总决赛(简称World Final,WF)的总冠军,成为中国历史上第二个能够拿到ACM全球总冠军的学校,第一个是上海交通大学,清华大学曾经拿过两次亚军。(而我想提的是,他在进入大学前,并没有接触过编程,,他大一,是在数学系读过的,偶然间知道有ACM这个东西,并爱上了它,后转系到计算机系,并最终完成了ACM历史上一个传奇故事,ACM/ICPC全球总冠军)。没有基础不可怕,可怕的是,你永远都是在说,,我没有基础,,我不会。。。

题外话


当然,我知道有些同学进入协会是一种兴趣,只是想提高自己,而不是为了梦想或者是为了参加比赛,这个也没关系,你不必像那些想成为ACM校队队员的那些同学那样努力或者说投入那么多时间,你选择你感兴趣的东西学习,提高,这个也是我们欢迎的,我们协会,唯一不欢迎的就是整体嘻嘻哈哈,不搞学术,七搞八搞的同学,如果你进协会是想来学习,想提高自己,非常欢迎,如果你是想进来玩,,不好意思,你走错门了。

还有,你应该清楚ACM是国际比赛,清华,北大,上海交大,俄罗斯的大学,美国的麻省理工,其他大学,台湾的台湾国立大学,欧洲的大学。我们211没有付出没有努力拿什么和他们比,如果你真的想为自己的梦想而奋斗,大学一件事,ACM,足矣。

最后,我想说,,我希望从A协成立的那天开始,长安大学的ACM事业能够越来越好,我相信,大家是,,最棒的。。

寄语


每天晚上疲劳的躺在床上时,才感觉真正切切地过了一天,人生最重要的不仅是努力,还有方向,压力不是有人比你努力,而是比你牛叉几倍的人依然比你努力,依然在debug。
即使看不到未来,即使看不到希望,也依然相信,自己错不了。第二天叫醒我的不是闹钟,其实,还是梦想!