VII//6 分钟/1,945

硬盘里的大学

D 盘里有个叫『作业』的文件夹,十一门课、几百个 PDF、一堆 error.png。把它翻一遍,比让我说自己这几年干了什么靠谱得多。

本页目录 · 6

我电脑 D 盘有一个文件夹,名字就叫 作业

不是 Coursework,也不是 学习资料-整理版-final-v2,就是两个汉字。大一刚装系统的时候随手建的,后来一直没改。

打开它,里面是十一个学科目录、几百个 PDF、几十张电路图,还有一堆带 error.pngerr2.png这里为什么不对.png 字样的截图。

如果有人想知道我这几年都在干什么,其实不用问我,把这个文件夹翻一遍就行。


占地最大的那门:数据结构

要挑一门"投入最重"的课,没什么悬念,是数据结构。

它的文件夹也最满。从第 1 章绪论到第 10 章排序,PPT 和 PDF 排得齐齐整整;旁边躺着一份将近六百行的 test.c——顺序表的全套实现,初始化、销毁、插入、删除、查找、合并、排序、菜单,是我一行一行敲出来的。还有一份 C++ 写的集合运算,交、并、差、子集判断,最后能在控制台里跑出像模像样的菜单,按数字选功能那种。

现在回头看代码风格挺糙的,命名也偷懒,p1 p2 temp 满天飞。但当时调通"链表删除"那一刻的高兴,到现在我都记得——盯着控制台输出,一遍一遍按 enter,看节点真的少了一个。

期末复习那阵子,我把考研版的《图》那一章笔记打印出来翻,翻到最后纸的边角都软了。讲真,到今天让我手写一个 Dijkstra 我多半还要愣半天,但那种"代码原来是可以被组织的"的感觉,是从那门课开始的。


一颗逻辑门拼到能算东西

很多人觉得硬件课枯燥。我反过来,越学越上头。

数字逻辑让我认识门电路,计算机组成原理让我用 Logisim 把它们拼起来。我硬盘里存着自己画的 1 位加法器真值表、4 位先行进位、4 位快速进位(两个版本,第一个画错了重来的)、8 位加法器。为了让那张图看起来"对",我重画过不止一次——倒不是逻辑错,是连线太乱,自己回头都看不懂。

后来跟着一份开源的实验工程一路推下去,组合逻辑、数据表示、运算器、存储系统,一直做到 CPU 设计、单总线 CPU。中间有一周卡在控制信号上,怎么调时序都不对,最后发现是某根线我连到了下一位上。盯着那张图盯了一个晚上才看出来。

但调通的时候——你画的那一堆门电路,居然真的能算东西,能"懂"你给它的指令——那种感觉怎么说呢,反正比游戏通关爽多了。


代码"长"到屏幕上

跟着 HarmonyOS / ArkTS 的官方手册,我做完了八个综合实验和十二个模块化实验:购物商城、第三方相机、新闻阅读器、记账本、天气预报、云相册、猜数字、登录注册……听起来很多,其实大部分都是照着文档抄一遍,再按自己想法改一点点。

但第一次把自己写的页面在模拟器里点亮,手指划过去按钮真的有反馈的时候,我盯着屏幕看了一会儿。

之前写命令行程序,输出都在黑框框里,是给"我自己"看的。HarmonyOS 那个登录界面是我第一次写出来一个东西——它假装在等一个"用户"。哪怕这个用户只是模拟器里一个不存在的人,那种"被使用"的感觉也很奇怪。

记账本那个实验我后来还偷偷扩展过,加了个柱状图统计每周花销,画得很丑。但每次想起还是会笑一下。


数据库和网络

数据库八个实验我一个没落:E-R 图、建库建表、完整性、视图、安全性、触发器,一直到课程设计。每一步都要截图写报告。

调试出错的时候我有个习惯,会专门存一张 error1.png,然后改对了再存一张 ok.png。后来翻自己的实验报告文件夹,看见那一对一对的图,反而有点感谢当时的自己——把翻车现场留下来了,比写一句"经调试后成功"有用得多。

计算机网络给我留下的是厚厚一沓笔记。考研级别的那种,网络层功能、IPv4、IPv6、路由算法、IP 组播、移动 IP、网络层设备,七章 PDF,边看边在旁边画箭头标依赖关系,看哪个概念是从哪里推出来的。

还有一份 ICMP 协议分析的实验报告,那是我第一次在 Wireshark 里"看见"数据包——从哪里来,到哪里去,TTL 一跳一跳减。看见的那一瞬间,对"网络"这两个字的理解才不再是课本上那一沓抽象图。

学网络的人,大概都会被这种看不见但确实在那儿的东西迷住。我们专业全名"网络工程",我大一的时候一直没搞懂自己学的到底是什么,那一次抓包之后,至少有了一点头绪。


一个轻微的归档癖

整理这个文件夹时我才意识到,我归档欲挺重的。

  • 几乎每门理论课都有一整套雨课堂测试的截图,按"第一次/第二次/第三次"码得齐齐整整;
  • 每个重要实验旁边都配一个 image/ 子目录,专门放写报告时用的截图;
  • 出错的截图也舍不得删,留着 error.pngerr2.png这他妈为什么不对.png,像在给过去的自己留事故记录;
  • 甚至有几份是同一份报告的 v1、v2、final、final2、final_真的final。

这个习惯也带来一些代价——D 盘常年红条,每学期我都要花半天清一遍才能装得下新软件。但每次清的时候我都舍不得真删,只是把它们打包扔进 归档/ 里。

我不是特别聪明的那种学生。靠的就是这种笨办法——把每一步都留下来,回头时路才不会显得短。


写在最后

回过头看,这个叫"作业"的文件夹,其实更像是我的一本日记。

它不写"今天天气好",也不写"今天心情有点烦",它写的是:

今天我把链表的删除函数终于调通了。 今天我画的 4 位先行进位,真值表对上了。 今天我提交了第八份数据库实验报告。 今天 Wireshark 第一次抓到了我自己 ping 出去的包。

这些事在外人眼里大概很无趣。但对我来说,它们就是我大学的全部内容。

我会继续把它写下去,下学期、下下学期,直到 D 盘再也装不下为止。

到那时,我大概就毕业了。

留言 · 来聊聊

滚动到这里时再加载评论…