UW-Madison CS 学习记录

前言

终于从 CS 系顺利硕士毕业了, 回想起 17 年的暑假,当前老板告诉我他要跳槽的时候到现在,感觉时间真是飞快。

流光容易把人抛,红了樱桃,绿了芭蕉。

这里记录自己学习 CS 的经历,我主要点评自己学习的课程,选择下自己感觉合适的课程。

本科课程

因为自己转专业的经历,很多人和我讨论过计算机本科课程的问题,其实这个问题我往往觉得不是特别重要。

首先,计算机虽然复杂,但是这个专业最厉害的人总是在简化复杂度。所以我最大的感受就是计算机的知识总是可以掌握和物理系的体会完全不同。物理系才是反人类的设计,最厉害的那批人不断在提高复杂度而且完全不关心大家是不是能理解。当然也没有那么多人需要学习物理就是了。

这里我放几个老版本的 UW-Madison 的计算机学习方案.

CS_sample_plans

CS Major Diagram_March 2016

CS sample plans for 4 years

如果有还是本科的小朋友,也可以对照下面的图自己设计下自己的课程

coursePlanForm fall 2016

可以看出,虽然很多人是学习了 4 年的计算机,但是却花了很多时间在一些别的课程上。我从来不是说这些课程不重要,但是相对于而言,这些课程并不是直接和 CS 相关,即使你是一个转专业的学生,很多时候这些课程你也有修习。所以战略上并不应该因为自己不是本科 CS 而感到害怕。

同时以很多人本科的学习态度,其实他们的水平并不一定特别高,当然这里还是要承认大神的存在。当然到了研究生阶段,学习更加专注,结果和水平也会突飞猛进。所以很多人往往会需要一个硕士学位作为正式求职的帮助。

其实除了基本的编程语言和数据结构,剩下的最重要的 CS 专业核心课,其实就是 3 门 5 开头的课,一般推荐的就是

  • 537-Operating System
  • 564-Data Base
  • 577-Introduction to Algorithm

其中算法也是可以通过 Leetcode 积极练习的。

其中最重要的就是 OS,OS 是 UW-Madison 的看家课程。当然最重要的是教科书也特别好, Remzi 的 Operating Systems: Three Easy Pieces 就是 537 的课程总结形成的教科书。所以其实还是可以自己学习的。

如果只是为了找工作,其实只需要刷 Leetcode 就可以了。当然这些课程也是给大家在 UW-Madison 学习的时候的参考选课。

Written on July 27, 2019