作为一名大学计算机新生,大学本科四年应该怎么度过才能给自己创造一个可能性大一些的未来?
初稿更新自2020-3-3 一、你要明白的几件事1、大学是自由的,但是要学会自律
步入大学后,就不会再有人像高三班主任那样,时时处处管着你。大学是自由的,你可以自行安排你每天的生活。但是很多同学因为自由来得太突然,一下子就收不住自己那颗狂浪的小心脏,一不小心就把学业荒废了。
2、多交流
多和学长学姐交流,因为大学很多信息都不像高中那样,老师会亲自跟你说,很多时候,当你知道这个信息时,重大的机遇已经被你给错过了,而多和学长学姐交流,就能少走很多弯路。
3. 选择性价比最高的去上课
告诉你完全不逃课是不可能的,其实大概可以这么想:收益 = 去上课的预估收益-不上课的可能收益。我举个例子,如果一节课基本不讲知识,又不点名,你又不想和教授认识,期末考试你觉得期末考前肝几天就ok了,那么这堂课的收益其实就是很低的。如果是我的话我会选择放弃去上课,宁愿去图书馆看看书什么的。
4. 不同层次的大学,人是完全不一样的
笔者不才只在一个985当学渣。有很多朋友是前二学校和上交浙大什么的,很明显的感觉就是不同的大学培养方法完全不一样,还是要学会因地制宜。比如CMU的大作业就让人崩溃,前几的学校就经常有很多大作业,要求其实还是比较高的,但是笔者的学校个人感觉就能轻松应付。再次一点的学校就更简单了,很多抄就完事了。所以永远清楚自己的定位是非常重要的一点。
大一上学期:
计算机导论
这个随便找个名校的课程就行,主要是梳理后面的知识脉络。但是其实大神往往在这个时候就对整个计算机的结构、发展有了很强的理解,差距最大的就是这一步。
c语言
这个真的是核心课程,有没有操作过直接决定后面的数据结构。C programming language-K&R 第一次看绝对看不懂如果没基础的话。别拘泥于xx成绩管理系统,c语言比这牛逼多了。
数据结构与算法
《算法导论》一本即可,关键是每章习题必须全部做完,配合mit教学视频(带有中文字幕)有些学校是单独开两门课,一门用清华的一本用mit的那个。刷就完事儿了。
线性代数 / 离散数学
这个清华版的不错,后续学习挺有用的。
特别注意离散数学很重要,国外申请的时候这两个都是基础中的基础。
概率论与数理统计
除了同济的那个我觉得其他的都挺好
操作系统
必用CSAPP+Operating systems Three easy pieces
后者非常详细而且易懂,如果不好你可以直接私信找我。
数据库导论
实战性很强的课,随便找个教材+自己搭建一个xx管理系统就行了
计算机网络
谢老师那本我个人不喜欢,我觉得王道+mit学下来成果就很好。结合清华大学的路由器实验其实掌握程度非常高(至少我还记得udp、tcp那些字段的意义)
计算机体系结构
《计算机系统结构:一种量化研究方法》 就是这门课的最好书。另外ETH的O教授也很可爱讲的很好(线下看到他也觉得是很nice的人这里称赞一句)
编译原理
这门课我没有书我就不瞎说了,但是各种大学的mooc至少得看两个。
软件工程
这个看书我个人觉得真的没什么用,做项目啥的才是最有效的。
我这里放的这个链接是别人总结的各种书单
然而我用实际经历告诉你,那种机械工业的大黑书,你整个大学四年能完全读透6本,就真的很厉害了。
作为网上大学,实战派的总结了下面这个图
和别人动辄推荐几十个网页不一样,我觉得能用好以下几个就完全够了。
GITHUB(看别人代码,建自己仓库用)GITHUB
LEECODE(刷题用)
STACKOVERFLOW(问疑难bug用)STACKOVERFLOW
中国大学mooc(白嫖课用)中国大学mooc
CSDN(往上面扔博客用233)
网易云课堂(白嫖实战派课用)网易云课堂
开源镜像站 (墙永远是个问题)开源镜像站
先写到这里,慢慢更新