“你说被火烧过,才能出现凤凰”——《计算机系统基础 1|csapp 1》课程结课感言

“你说被火烧过,才能出现凤凰”
——《计算机系统基础 1|csapp 1》课程结课感言

  距离本科阶段的最后一门考试:csapp 1的出分,也已经过了一周多了。鸽了这么久,也是时候在这里简单地回顾一下这本科的最后一门课程了。

  开学选课的时候,因为计组这门课不在这学期,又听说操作系统那门课需要建立在计算机系统基础等一系列的内容之上,所以最后的选择也就只剩下了《计算机系统基础》这门课。In fact,那时候,还不知道这门课就是csapp(其实也不知道csapp是啥),只是觉得和计组有一定的关联才去选的(毕竟过了这学期,大学的课程学习机会也就用完了。也可以说是出于功利心理,还是想在毕业前再往成绩单里刻点本来就想刻进去的东西,以留作纪念)。

  第一周还是分了两个班来上的。最开始那三个课时,就全是在讲计算机的各种组成部件的性能及其计算等内容。总之听的一脸懵逼,完全get不到主题:???这是啥?系统基础为啥一上来就是一堆公式,还给直接过掉了???直到下课后,另外一个班的老师过来了,说道:“你上成计组了吧?”,然后就把老师叫出去谈话了,第一周的课程就此结束。

  到了第二周,我提前一个小时就到达了教室,结果直到上课前的五分钟,都没有看到一个人。这时我才意识到不对劲,便赶忙到课程群里去问咋回事,一看才知道是合班了(并且换了教室),现在开始属于另外一位老师了……(外服玩家的消息就是不灵通233333)

  新的老师的画风瞬间就和之前那位不一样了。一上来,老师就严肃地表示:“这门课,是你们专业挂科率最高的一门了。期末也是全英文的试题,平时多注意,稍微落下一点,考试就肯定不及格了。”当时,大家都被吓到了,我也不例外。在震惊之中,老师就已经开始讲起了整型变量的底层表示。

  还没等震惊的这段时间过去,老师已经翻到了一张表格上,然后开始点名回答问题,答不上就先站着。紧接着,后面那一排的同学就一个个地站了起来,在他们的前方,是暂时还处在震惊之中,什么也没听懂的、正在满头冒冷汗的我……

  躲过了这一次的“袭击”,第二周的课便结束了。课后我才开始了解到,这门课简称为csapp,主要是将计算机系统的各个方面都简单地介绍一遍(而csapp倾向于使用程序员的视角去描述),其地位就相当于普物与四大力学之间的《数学物理方法》。

  但说是“简单介绍”,实际上却并不简单。即便是在之前选修过算法、数据结构等课程,也几乎没有涉及到过比较靠近系统底层的内容。所以在csapp中,几乎就是从头开始学习了——开局一个C语言,技能点全靠……

  在经历了若干次的随堂突击考试、点名答错罚站、作业格式声明后,第一次的实验——data lab降临了。不得不说这个实验还是挺好玩的,按照要求来写一些从bit层级对数据进行操作的函数,然后程序会自动判定分数并给出理由。

  第二次的实验:bomb lab可以说是实验中的巅峰之作了。本来是非常难以理解的汇编语言,到了这里直接变成拆炸弹游戏。记得phase 6那条线,直接从晚上十一点拆到凌晨两点(还是在上网搜了一下提示的情况下)。可能是因为实在是太好玩了,所以当时也几乎没有感到疲惫。

  第三次的实验:buf lab同样也是涉及到炸弹,只不过这次的重点放在了用户栈上,并且目的不再是拆除炸弹,而是把炸弹“送给别人”。在这次实验中,充分地过了一把黑客的瘾。

  而临近期末的时候,突然又临时加上了第四次实验:shell lab。shell lab在形式上并没有前三次的有趣,但当自己照着要求和网上的提示,一步一步地构造出一个类似于Linux系统上的shell的时候,内心自然是十分激动的。当时连着搞了12个小时,弄完后自然是头脑一阵眩晕。

  第四次实验结束后,考试周就要到来了。尽管平时已经在这上面付出了相当多的时间(无论是从理解上,还是从实践上,亦或是在刷所有的课后题上:毕竟期末还是要考试的),最后到了考试周的时候还是把cmu的19套试卷全部打印下来做了(为了期末能够更容易通过)。因此,到了考试周的最后一周,生活就是这样的:早上去图书馆,开始刷试题、回顾课后题、尝试找出搞不太懂的地方,就这样一直搞到晚上图书馆闭馆。尽管到了大学以后,一直都很讨厌通过刷题来应付考试这个做法,但遇到了这门特殊的课,这么做也是没办法的事了——只有平时按时烧香,期末的时候再来猛抱佛脚,才能提高“存活率”。

  最后,总算是以外专业人员的身份,顺利通过了挂科率接近三分之一的这门考试。回想起来,虽然这是一个非常冒险的选择,但冒险在这门课上,已经值了。相信有了这门课的基础,以后再去看一些其他和CS方面相关的内容,应该或多或少地都会有一些buff加成吧。

  依旧记得,在考前的最后一个小时,我还拿着手机走出考场,戴着耳机,小声地跟唱着:

逆风的方向
更适合飞翔
我不怕千万人阻挡
只怕自己投降

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值