如果让你重新开始学计算机，你的学习路线会怎么选择?
以下回答并不是对一个大一新生的建议，有的人想留学——得有好看的GPA，想搞科研——得读个博，想走ai方向——得转数学系(雾 一切只不过是我在确定了喜欢的方向后的意淫罢了、、、  入学：学会科学上网，注册github，搭建一个博客，装linux。找一个空白简历模板，写上你的github，blog，email地址，你的学校  大一上：一个月内快速入门C with STL（不需要优雅的代码风格），找两个志同道合的队友，然后开始疯狂刷题，学算法。 OI WiKi（学算法），洛谷，牛客竞赛（刷专题），codeforces，atcoder （打比赛） 同时学mit6.null 遇到不懂的RTFM，不急，你有四年掌握这些工具 大一下：主线还是刷题，可以在博客上写写题解，一句话题解也好。学c++primer，STL，了解什么是RAII，SFINAE，看看effective modern c++ 暑假：玩了命的刷题，牛客多校训练 tips：远离学生会，班委会，辅导员开会 。英语和计算机相关以外的课程成绩保持在85以下  大二上：区域赛前接着刷题，幸运的话拿俩牌。在简历的校园经历上写下你的xcpc经历，博客上写下你的退役贴。以后cf两三周一刷 开始学cmu15213，lab认真做。这时候大概会开数电课，不用深入，只要理清从门电路到寄存器实现就行。 寒假左右完成cs61c  大二下： OS mit6.s081，6.828 ， 数据库cmu15445，可以写点笔记在博客。结束后在你的简历上写下这些课的project。 暑假参加 GSoC or OSPP ，先了解一些设计模式，免得看项目代码一脸懵逼  大三：开源项目结束后用你的开源经历替换简历上数据库project，同时持续贡献争取成为committer/maintainer。 学习分布式系统mit6.824，数据库进阶15721。找大厂日常实习，不断更新简历。还可以参加tinyKV talentplan 学cs144，接着实习，给你的开源项目做贡献。看ddia  秋招拿offer滚蛋