提高造轮子能力

今天看到一篇公众号文章,有一段话深深震撼我——

部分学校最大的问题就是OS、网络、数据库等CS核心课程上成了文科!

缺乏一些动手实践Lab,大部分都是写实验报告,就是不写代码。

比如MIT的数据库系统的实验是写个小型关系数据库,包括——Tuple, TupleDesc, HeadpPage, HeapFile,
SeqScan, BufferPool等;而中国大多数高校实验是用Java使用JDBC链接MySQL写个应用

斯坦福的计算机网络实验是实现TCP协议栈,我们是背三次握手等概念

MIT的操作系统的实验是基于xv6实现一些模块,如文件系统、多线程,而我们是记住进程与线程的区别,基于虚拟内存的各种组关联

当然也有一些学校会有实验,比如清华ucore, 哈工大linux0.11, 但远远不够,导致大多数高校学生缺乏从底层造轮子的能力

我看完惊出一身冷汗,上学期学了计算机组成原理,纯理论教学,下学期就要学计算机网络、操作系统、数据库,想来老师确实会以教授概念为主,那我一个学期学下来,和国外高校同学学下来,差别难以想象。

想来好笑,数学院的老师反复强调要多做题,(大一大二)计算机院却在教概念。

更让我陷入沉思的是,中国到底需要什么样的计算机人才,我的努力是否用对了方向。

现在高校学生越来越卷,大家课内在卷绩点,课外在卷竞赛,卷科研,不管上课还是放假都很忙碌,以便研究生面试、实习求职面试能拿出更多成果,脱颖而出。刷绩点其实很容易,考前刷往年题,不求甚解也能拿高分,但是很可能考完就忘光。卷竞赛也不难,比如算法竞赛多在LeetCode上刷题,刷往年竞赛题,也能拿到国奖;数学建模比赛每种算法都有源代码,只要根据题意修改数据就行,不要求你推理模型,也不要求你写Matlab程序,但竞赛很耗费时间,如果它让你没有时间深钻基础课程,甚至带给你浮躁的心态,让你无法静下心来造轮子,可能到最后才发现努力错了方向,这才是最可怕的。

认清什么是重要的,有所取舍,这才是“有效”的努力方式。

动手实践Lab,还是要课下补起来。

操作系统推荐:

CMU的15-213

Berkeley的CS162,

这两个都是有视频有lab的好课

还有一个非常经典的 MIT 6.828,附带一个xv6 lab

课程:6.828: Operating System Engineering

组成原理、体系结构推荐: MIT的6.004,

CMU的15-213

Berkeley的CS61C

计算机网络推荐: Stanford的CS144,lab 很有意思

参考:编程指北公众号《后悔大学没看到这个Github仓库》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值