计算机专业的学生除了ACM这条路还有什么好路子可选择？
刷ACM题没关系，但是为了比赛耽误了其他方面就得不偿失了，尤其是各种CS必修课（操作系统、微机原理、计算机网络、编译原理等），这也是内功，千万不可忽视。 学计算机最重要的是要扩展自己的视野，加深对计算机体系结构和设计原理的深入理解，算法是很重要的一个方面，但也仅仅是一个方面，切不可固步自封。 ACM竞赛有几个基本假设：题目都是P问题、题目一定存在精确解、算法是可以在x86架构CPU上使用单线程编程模型进行实现。 可在实际情况中，我们往往不可能满足这几个假设，比如： 人脸识别问题中，我们无法确定这是否是一个P问题、也无法得到最优精确解，这时候我们该如何设计算法。 矩阵加法或乘法，显然更适合多线程或者SIMD架构进行实现，怎么基于GPU开发相应的程序。 中科院计算所新设计了一个神经网络专用处理器（寒武纪），怎么针对这种全新架构的处理器进行编程？ 如何设计一套分布式机器学习算法系统？ 当然了，这只是随便举了举个例子，意思是说搞ACM固然没错，但切不可固步自封、更不可自大进而产生“优越感”。 最后，如果题主想做做ACM之外的事的话，建议尝试一下科研，比如最近流行的CV、机器学习等。毕竟作为一个学生，我们很难接触到“淘宝后端”这种大型复杂工程，而科研则是我们除了竞赛外在学校最容易接触到的知识应用场景了。