‘壹’ 做程序员必须要搞ACM ICPC吗
显然不是必须的。在大学阶段成为人生赢家的道路有很多,ACM在其中恐怕还算比较曲折的一条。然而程序员是否必须参加ACM这个问题,和题主是否有必要参加ACM似乎也毫无关联。接下来谈谈实际问题:小马过河,是该蛙泳还是狗刨。很多ACM相关的吐槽诸位都应该听多了:大量重风格糟糕的编码练习,在某些算法细节的实现上过于别扭的纠结,各种在现实应用中并无卵用的神棍算法大行其道。。。。。比如这篇算法竞赛总结里的吐槽(Overview of Programming Contests)(各种程序设计比赛总结得很完善,推荐各位看看)诚然,从成为一名优秀的技术人员的角度来说,在各种古典算法的骨架上,玩上几年披着程式设计外衣的思维游戏,想必不会是捷径。然而,我对ACM的理解是,它真正牛逼的地方,不在于从中学了多少算法,做了多少题。而是厉害在生态系统的完备上。这里的生态系统是指由以ICPC为首的诸多算法竞赛赛事,和校内集训队构成的整体环境。首先,私以为,对个人成长来说,反馈才是核心。而算法竞赛的一大特点恰恰是高反馈。从每个提交返回的AC,WA,TLE,到topcoder,codeforces等大型线上赛网站的elo rating系统,各种各样商业公司组织的算法比赛,以及ICPC赛事本身积淀至今的仪式感构成了ICPC完整的反馈体系。高反馈给予了算法竞赛选手高动力。君不见,诸多竞赛选手一年里的很多个晚上为了能够做场线上赛,冒着被室友杀身之险,在断了电的宿舍里,摸黑战斗到凌晨两三点(主要是时差问题), 并且还能乐在其中。像轮子哥一般自少年时期便执着于代码的杰出技术青年着实不多,然而能在炎炎夏日连续两个月,每天坚持训练十个小时以上,整个算法竞赛生涯倾注数千小时于coding之上的ACMer却比比皆是。
‘贰’ 我们学校老师有推荐两个计算机方向。。。一个是网络信息安全(黑客),还有ACM,哪个好
这个我觉得还是要看你对以后的工作性质的判断的问题,看你对哪个方向的比较感兴趣,不管选的是哪个方向,都要自己学好,只要自己学好,两个方向毕业出来后工作岗位都是很不错的
网络信息安全不是让你做黑客的,学好了做网络管理的
ACM的话主要还是要学算法,学好算法了以后做做软件工程师,工资也不低
‘叁’ 求助:ACM/ICPC大赛有没有实用价值
我参加acm两年了,也感觉学到的算法知识在现实中用到的几率不大,上学期参加亚洲区预选赛的时候,sun的高级工程师也这么说,除非你以后搞科学研究,要不然这些知识基本用不到的
不过,我觉得参加acm肯定是很多好处的.
首先.参加acm的人会有很扎实的程序设计的基础.一般你坚持下来的话,到你毕业了,代码估计也敲了十几万行了,再加上要学的知识也蛮多的,特别是数学方面的,所以程序设计基础会很扎实
其次呢,acm的题目要求的答案都是很全面的,这样会让你考虑问题也变得全面,而且解题思路基本上用常规方法是做不出的,有时候当你做出这样的题目的时候,你就会感觉这像一种艺术.
再者,参加acm是很辛苦的,很多东西都要自己学,自己用,这对一个人的学习能力的培养肯定是大有帮助的.
总之,参加acm的话,你想马上就想培养某种技能用到现实中或是想得到那种实用价值,是没有的.不过,参加acm对一个人的发展潜力是有很大帮助的..........
‘肆’ 做程序员必须要搞ACMICPC吗
显然不是必须的。
在大学阶段成为人生赢家的道路有很多,ACM在其中恐怕还算比较曲折的一条。
然而程序员是否必须参加ACM这个问题,和题主是否有必要参加ACM似乎也毫无关联。
接下来谈谈实际问题:小马过河,是该蛙泳还是狗刨。
很多ACM相关的吐槽诸位都应该听多了:大量重风格糟糕的编码练习,在某些算法细节的实现上过于别扭的纠结,各种在现实应用中并无卵用的神棍算法大行其道。。。。。
比如这篇算法竞赛总结里的吐槽(Overview of Programming Contests)(各种程序设计比赛总结得很完善,推荐各位看看)
诚然,从成为一名优秀的技术人员的角度来说,在各种古典算法的骨架上,玩上几年披着程式设计外衣的思维游戏,想必不会是捷径。
然而,我对ACM的理解是,它真正牛逼的地方,不在于从中学了多少算法,做了多少题。
而是厉害在生态系统的完备上。
‘伍’ 已经大三了,还适合搞ACM吗
ACM程序题对锻炼逻辑思维是有很大帮助的,既然你明年还想参加比赛就不能放弃OJ,相信你们学校大三的学生也会带大一大二的学弟学妹吧,你可以不学习新的算法而去整理自己以前所学的,像DP、DFS什么的整理好,给他们讲,可能还会有新的收获。ACM很有魔力,相信你心里也是放不下。
ACM不是一份工作,你也不可能拿这个当自己一辈子吃饭的武器,当然除非你以后当老师什么的,专门讲一门课程。
java从事的方面非常多,现在各行各业都需要Java程序员,真正工作了,你会发现ACM里面的算法用的微乎其微,大部分算法已经被封装好了,根本不需要你费劲脑汁去敲代码,你需要的是知道有这个东西,以及怎么去用,这个就需要你话费很长一段时间。很多东西你需要去学和复习巩固,从基础的css,sql, js, JQuery,ssh……差不多得花费1年多的时间,如果不报培训班自己去学的话,需要你自己制定好一个规划,下载教学视频,一步步来,多实践。
Linux嵌入式工资比Java的高,但是好工作也相对难找,我仅仅知道这些,上我去年找工作的时候听同学说的,对于这方面我不懂,也就不瞎说了自己不知道的了。
ACM应该是一个跳板,帮助你进一些名企,至于到底干什么,从事什么方面,很可能不会像你现在想的这么简单。大公司、名企对毕业生不会要求技术多好,随着时间累计技术都会提上去的,他们更看好你的潜力和以后对公司的价值。
最后说一句,IT程序员很辛苦,你要做好准备!加油吧!
‘陆’ ACM 竞赛高手比其他程序员水平高很多吗
算法思想上是要比一般的程序员高出很多档次,尤其是涉及到代码优化,性能优化,数据挖掘方面,普通的程序员根本做不来。不过只要掌握几个比较常用的技巧,多去练习。其实也就够用了。ACM他们的人只是在一些比较高深的问题上可能有很好的解决办法,一般问题上与普通程序员解决的方法大致一样的。不见得高明到哪里去。唯勤可以生智。多练多看。
‘柒’ 参加ACM大赛真的对程序员有帮助吗
要做程序员的话,参加这个是有一定帮助的,我参加过,虽然最后放弃了,但是还是受益匪浅啊!像我们学校的acmer找工作还是挺好找的。仅代表个人意见!
‘捌’ 我是学计算机科学与技术的大一学生,我想问,ACM和编程的关系。
ACM可以极高滴训练你的计算机编码思维,不过这个不是必须的,其实它就像高中搞得那些奥赛一样,剑走偏锋,怪题难题频出
如果你自己对这方面感兴趣而且有资源的话,还是推荐做一下,虽然花费的时间精力可能会比较多,不过对你自己的发展是很有好处的
不过,学好计算机还有其他很多事要做,你可以学习计算机体系结构、汇编、操作系统、编译原理、C++。。。。。。这些都是必须的
‘玖’ 大二计算机专业学生,搞了一年ACM,对未来的路很迷茫,求高人指点迷津
以下是个人想法,仅供参考:
首先,你搞ACM应该用的也是C或C++的吧,那你的编程基础以及算法的基础应该还比较扎实的,有了这些基础,即使你现在不懂JAVA、PHP,你学起来也应该比较轻松,用一年的时间,到你大四找工作的时候,这些都不是问题了。如果你确实对这些算法啥的比较感兴趣的话,还是建议考考研究生,将来做做研究。
其次,我想说,要是你将来出去工作的话,肯定先都是从程序员做起的,总不可能刚开始就去搞管理吧,你也没那个经验啊,所以这是必经之路,就看你这路走的时间了,现实就是这样。
最后,既然你有就业的压力,那我给你提些建议:ACM的话,在以后的实际工作中可能用到的不多,毕竟实际项目不会天天搞那么复杂的算法,你应该现在有C的基础,那建议你向嵌入式方面发展一下,可以多学学Linux的东西,了解深入一点。这个以后工作比较好找,待遇也不错,当然,你也可以学学JAVA等语言,对你有基础的而言,应该会很快入手的。
你现在是大二上学期吧,一年以后的话得到大三下学期了吧,到你大四上学期找工作,中间还有半年的时间学这些够了,有了编程基础,学起来比较轻松的,不知道你了解C++的面向对象的编程吗,因为java就是面向对象的语言。
还是得你自己好好权衡吧!
‘拾’ 做程序员必须要搞ACM ICPC吗
不需要的