MashPlant的笔记

“你将孤单度过一生”

0%

大二上总结

继续往前写。现在才意识到之前的学期我选了这么多课,像大三下这个学期我就选了12学分养老,以前选这么多课是怎么活下来的?课选多了要总结的也就多了,感觉越往前写反而越长了,这就很尴尬了。

编译原理(A+)

这是我这个学期投入最多的课。我对编译原理的兴趣应该来源于上学期选的自动机,当时学到CFG我就觉得,以这种东西为基础构建起来的parser一定是非常有意思的,上个学期尝试了好多次想自己手写编译器,基本上都没有任何成果,纯粹浪费时间,所以准备下个学期一定要选编译原理。

上起课来感觉就那样,感觉知识很多,勉强能记住吧。Decaf实验在当时还是很简单的,实现varforeach之类的,比现在的可是容易太多了。最难的应该还是PA1-B,LL语法确实写起来很不自然。

当时有一个学术新星项目,我就选了chyyuu作为导师。当时我并不知道这个项目有啥用,其实到现在我也不知道。他很推崇Rust,所以我就去学了,其实在此之前我也听说过Rust,所以还是很感兴趣的。

为了更好的学习Rust我就准备用它写一个Decaf,也是因为实在不喜欢现在的Java版本。其实当时我的Rust水平真的是相当一般,很多地方不知道怎么写,想要快点写出东西来,管不了那么多就直接上unsafe。而且当时Rust的工具链其实也不太行,我为了找一个parser generator就花了很长时间。后面框架搭起来了之后就还好了,基本可以随便写了,不过代码还是很丑。当时纯粹是出于兴趣写的这个,后来听说还可以申请把它当做拓展试验,感觉很幸运。

后来还在这个编译器上做了一些拓展,学了一下JVM Bytecode,LLVM,做了到这两个平台的codegen。我记得我很多次在答疑坊写这个编译器,是真的能感觉到很开心。不过最后答辩的时候感觉自己做的东西还是没有什么实质上的水平,就是堆砌代码而已,学术性上可能还不如选课的那些高中生。这个想法一直伴随着我到现在,我到现在也觉得我只是把自己熟悉的东西重复了太多遍,并没有什么真正的有水平的东西。

在考试周开始之前我生病了,时间刚好贯穿了所有考试,第一门软工课上考试的时候最严重,后来考试周里过了一周多也没完全好,感觉就是考完编译原理之后才终于好了:

最后一门编译原理考完的时候,我也差不多全好了,我骑车离开五教,嘴里长啸了一声,似乎是对这些天的这些压抑的排解。

(到底有多压抑,可以去看软件工程那一段)

数据结构(A)

也许有不少人对我在数据结构OJ上的排名还有一点印象吧。我那时真是太认真了,为了把一个红黑树,B树,排序,或者IO写快一点,愿意花上一天的时间,写出好几个不同版本的代码比较速度。现在想来做这么多有什么用呢,就像我为了微积分做了那么多题目,考试也考的那么好,过了一年还不是忘的一干二净。多做微积分题目至少还对分数有好处,但是爬到排行榜的前面又不会给我加分,可能纯粹就是为了给别人炫耀,满足一下我的虚荣心吧。多么无聊又卑微的人才会这样啊!

我还记得期末考试最后的那个好像是跟斐波那契数列有关系的证明题,我在考场上想了半天也没有证出来。出考场后还意识到自己前面一道关于B树的简答题写错了,以及判断题有很多都不确定,所以当时其实是很有点担心我的成绩的——要是我花了那么大力气冲榜,最后一看成绩不怎么样,那该多滑稽啊。幸运的是最后还是得了个A,这个算是比较满意的结果了,但是你要问我有什么收获吗?我觉得没有,我只是一直在重复同样的技巧,一直在做没有什么意义的工作,稍微有意义一点的,比如那个证明题,我就不会。

我不是搞OI的,到现在那些他们随手就能写的算法我还是不会。这不仅仅是熟练度的问题,他们那样的思维我到现在也没学到点皮毛。不会真有人因为数据结构的排行榜而觉得我很厉害吧,不会吧?

软件工程(B+)

选课的时候觉得这个大三上的课应该没有什么前置要求,所以就选了。上第一节课的时候感觉有点慌,似乎很多常见的概念我都不懂,比如CI什么的。但是我觉得如果拖到大三上我应该也不会有什么进步,而且其它课的工作量那么大,所以最好不要退。

大作业分组的时候我看有一个Android上的会议笔记项目,看起来不是很难,反正我也会写Android程序,所以就选这个吧,拉了几个同样大二的人一起做。应该是十一的时候我开始做,找了一个别的项目移植了很多代码过来,基本搭出来一个完整的框架来之后才第一次push。后来有很多组队项目我也是这样的,我总是觉得这种东西交给我的组员我不能放心,所以希望都自己做完。

后续的工作分配其实还算均匀,除了gwy因为Java水平不行划了很多水之外其他人都算做了很多工作。现在已经记不清当时开发的过程了,只有为数不多的一些片段给我留下了深刻的印象,比如每次组会接物理实验接电子学实验的下午,比如最后为了代码覆盖率能够上去到处写测试,比如为了他们的系统开心每次隔半个小时commit一次。

这门课的上课内容相当无聊,大概是讲了一些设计和测试上的原则吧,真的是一点也听不进去,最后又是闭卷考试,这就很难受。每次上课都是一群大二的坐在那里写代码,而大三的根本不会来。

最后一周课上考试,比我想象的还要更“难受”一些,因为我生病了,这里直接贴我日记里的内容:

第一门期末考试是软工,那可能是最严重的几天,早上四五点钟醒来,还拉肚子了,坐在桌前,没几分钟就要灌一口热水让喉咙的疼痛不那么尖锐,让干枯的嘴唇稍微湿润一点。我无法想象我是怎么从寝室骑车去上大物的了,其实我自己也不是很理解为什么一定要去上课,大概是我害怕这最后一节课讲的知识考试会考吧。到了教室时已经迟到了十多分钟,我还是顶着目光直接走到了最前排,我平时坐的地方。记笔记的手都是飘着的,盲目地在纸上涂着,重复着ppt上的文字。我带了一杯热水来喝,喝到一半就慢慢冷却,再喝下去每一口都只能带来痛苦了。就这样上完了两节课,去了考软工的教室。考试开始,手指无力但坚定地写着,写的那些话几乎没有经过什么思考。写到最后一题,第一次在考试中感到了这种无力,我知道自己应该些什么,但是居然感觉没有力气把这么多字写下来。整场考试不敢咽口水,否则必然又伴随着嗓子的剧痛。就这样过去了两小时,别人如释重负一样去收拾书包的时候,我几乎都没办法站起来了,在原地坐了几分钟,才勉强能扶着桌子走到自己的书包前,装好文具,背上,一个人骑车回了寝室。后来结果怎么样?3.3,我没有什么可以评价的,大概这是我应得的吧。

电子学基础(A-)

前半段讲的电路基本上还是可以理解的,到了模电之后确实就像雷老师说的那样“阶跃”了。当时是感觉很难受的,课上怎么样也听不懂,来上课的人也渐渐变少,我不想去但是又不敢不去。当时真的是很怨恨这个老师,他根本不关心我们能不能听懂,反正就自顾自地讲,而且除了上课他其他方面的风评也是相当差的。

现在来看我觉得他好像也没什么太大问题,他确实教学态度相当消极,但是计算机系很多别的老师不也差不多吗?只是他讲的内容尤其晦涩,尤其没有用,所以我们会讨厌他吧。

期中考试几乎全是原题,倒是有一道很难的填空题不是,应该是算一个六边形拼接的无限平面上两点间的电阻吧。我当时是完全不会做,尝试了半天也没有结果,交卷前随便猜了一个系数,应该是2吧,居然真的对了。期中拿到100分。

期末复习的时候看着ppt,感觉都是天书,根本看不进去,感觉像是在训练神经网络一样,虽然看不懂,反正就往里灌,尽量记下来。期末允许带一张A4纸,我就抄了很多知识点,也抄了一些原题。上考场一看,小题几乎一道原题都没有,做的有点崩溃了,判断题我根据我的知识觉得基本都是对的,不是因为没法写出错误理由才填对。大题倒是有原题,就往上抄了。后来出分数一看,60,我当时几乎以为是改错了,听说判断题的答案几乎都是错之后就知道肯定不是改错了。后来到处一看,好像60分算相当高的分数了,那我就心满意足了,不再问了。

这个成绩是在我在武汉到处逛的时候出来的,根据我的日记应该是2019.2.3。我当时还是蛮庆幸的,就这么一点东西也没学会,居然也能拿个A-。

复变函数引论(A)

上学期选了杨晓京的复变,然后退了,这学期再选了姚国武的,这样的人应该不多吧。

我上姚国武的课感觉就很舒服,我就喜欢这样的数学课,按部就班地讲,不要突然跳出来一些奇怪的概念,该证明的地方就要好好证明。我还能大概记起来,应该是柯西公式吧(记错了也是有可能的),姚国武按照书上的方法证明完后补充了一句这个证明是不完全的,还有一个假定没有解决,要真正证明超出了课程要求,杨晓京的课上绝对没有这个过程。

作业中还是有一些难题的,不过也不能算很难,大多数我都能在半小时内做出来,实在做不出来的我就跟上学期上姚国武的线代一样,上网搜索,一般也都能找到解答。考试题目没有作业难,最后一题好像是证明一个级数的收敛性吧,我稍微卡了一下,但是其实是很简单的题目,冷静下来稍微想一下就有了。

我上了姚国武的线代2和复变,感觉听的都非常舒服。后来有一次我还在操作系统的课上跟他打了个招呼,因为他上节课在这个教室上。

概率论与数理统计(A)

选了梁恒的概统,感觉他上课有点太浮夸了,虽然确实有很多有意思的地方,不过听多了也会有点不自在。不过其实瑕不掩瑜,我感觉他的概统上的还是很不错的。

上课的时间是下午第一节,其实当时我还没有意识到这个问题:我渐渐地需要睡午觉了。从初中高中完全没有一点睡意,希望拿整个中午来做作业,下午还是充满精神,经过了大一之后,不午睡来到一点半这个时间,我已经明显地有些困了。幸好我上数学课一直是态度很认真的,一直在记笔记所以也不会太走神。但是从这学期以后,我几乎不能在这个时间点选课了,到这个时间点人就完全没有精神了,听我们那些计算机系的老师讲课更加催眠。可能这就是人衰老的表现吧,没有办法可以与之抗衡的。

我记得学期中有段时间我感觉很慌,因为当时搞了一个网上的小测,感觉很多东西都不会,至少是没法熟练地答出来。不过后来证明没有什么担心的必要,毕竟没有经过复习,做不好是正常的。其实期末还是有几道难题的,我记忆中有道大题考了一个不是很熟悉的分布的均值,填空题也有点难度,感觉比样题难不少。虽然最后都是顺利解决了,但是考场上还是有点紧张的。

大学物理B(2)(A)

我已经忘记老师叫什么了,去搜了一下才想起来是叫李桂琴。我感觉她上课应该也就是念ppt,但是不知道为什么,总是给我一种非常可靠的感觉,可能是声音比较慈祥吧,虽然她并不算老教师,这个词可能不太合适,反正就是她讲课听起来很舒服。

期中考试和期末考试都非常简单,当然这个简单是基于我充分的复习的基础之上的。我还能隐约回忆起来期末最后一题是跟光栅有关,如果能记得一个ppt上的不是很常用的公式的话就可以直接写,至于不记得公式的人有没有做出来那我就不知道了。

这门课本身没有什么问题,但是它对我的心理其实造成了很大的影响。不怕你们笑话,我高考完了之后心中想着一句话,叫“希望能更好地理解这个世界”,我也不知道我当时是怎么想的,居然在预习物理,看电磁场,转动惯量什么的,现在看来好像完全不能理解,明明至少是大一下才会有物理课。可能我当时心里觉得既然后面有物理课,这么安排肯定是有道理的,所以物理应该还会在我未来的人生中占有一定的地位,而且我高中对物理一直是很感兴趣的。这门物理课结束之后,就正式证明了我这种幼稚的想法是错误的,物理对计算机系人,没有意义;也证明了我高中投入了很多精力的理综,对未来的影响真的只有高考的那一刻,我以前还曾经欺骗自己这些知识至少还会有点用处。

马克思主义基本原理(A-)

我们这个马原老师龙治铭是今年新来的,相当有意思的一个老师,虽然我上课没怎么认真听,现在也什么都不记得了,但是当时应该还是能感觉到很有意思的。

任务相当轻,就只有一次pre加一次读书笔记。pre基本靠别人带了,我是前一晚才知道讲的内容的,随便准备一下第二天就随便说了,也没有什么不好的后果。读书笔记应该是选一个国家领导人的书,我就重复摘抄+评论,也没有什么自己的观点,大概唯一的优点是写的比较长吧。

最后得了个A-是真的很满意了,我估计就是读书笔记得分比较高。

影视欣赏(B+)

这是我选的最后一门英语课了,因为上学期作死选了两门,所以上完这节课就够8学分了。

影视欣赏确实比其他英语课水一些,每节课基本就看电影加讨论,然后我就坐在最后面,我不举手的话老师也不会点我,反正我也不期望在英语课上拿到太高的分数。

大概有三次需要上台的地方吧,一次是电影配音,两个人对话,语速很快,我本来是记得很熟的,但是在快到末尾的地方的一个停顿之后就忘记开始了,挺尴尬的。一次是组队讲对电影的感想吧,我就做了个ppt,没有上台。一次是电影表演,相当于配音的基础上加上动作,感觉有点尴尬,不过这次没有忘词,就是不知道我的语音语调别人听起来会不会很难受。

最后结果B+,完全可以接受。

二年级男生手球(B-)

历史体育最高分!写这篇总结的时候是大三下快结束的时候,尚未得知本学期的体育分数,或许有更高的机会,不过本学期体育本来也不算绩点,所以B-已经确定是我上的所有算绩点的体育的最高分了。

手球确实是水课,我就不以小人之心度君子之腹了,也许其他同学可能会喜欢更有挑战性的体育课,反正我就是喜欢水的。老师非常和蔼慈祥,要求很宽松,给分也非常高。

其实就在这个学期刚开始的时候,我第一次,也应该是到目前为止唯一一次,在紫荆操场上跑三千米跑进了14分40秒,也就是及格线,这是我暑假一直在锻炼的结果。但是开学之后锻炼就渐渐减少了,这跟体育课太水并没有任何关系,我自己坚持不了而已,所以速度又慢下去了。

电子学基础实验(B)

前半段是一些简单的高中水平的电路,后半段做模拟电路,跟电子学基础差不多,只是进度比它慢一些。我感觉还是体会到一点乐趣的。最后分数比较低,我一直觉得我的搭档gwy在拖我的后退。

最后要搭一个电路作为期末考试,大概就是用模拟电路解一个微分方程,虽然按道理是一组一起做,其实电路完全是我搭的,gwy测数据的时候还没测全,不知道有没有影响到分数。当时觉得这个电路好复杂,后来上了数字逻辑实验才知道什么叫复杂。附图一张:

物理实验B(1)(B+)

忘记的差不多了,唯一有点印象的可能就是到最后我也不确定有没有调好的分光计了。我能把分光计调好又能证明什么呢?证明我是适合做系统?还是适合做AI?适合出国?还是适合保研?或者说是证明我适合转系物理?

重申一遍,这种课就是纯恶心人的。

实验室科研探究(P)

全忘记了,没什么可说的。