Notes · 2026.05.30

课设和答辩撞周

2024 年就发生过。

1 min · school · contest

课表上的截止和赛程上的答辩会叠到同一周。2024 年就发生过。数据结构课设要交能跑、能讲、边界有测试的程序,国创这边要路演、要重录、评委可能当场点开一条路线。两件事的「完成」不是同一种完成,日历却只给七天。七天里还有早功。早功不看你包里有几份压缩包。

只能把睡眠切成两段。第一段尽量赶上队里的早晨,第二段尽量赶上机房或教室开门。两段都不够。不够的时候就要裁任务,不能装成都能做到 100 分以外再额外完美。课设那边,我把演示数据先冻住,再改结构,避免答辩前一晚把能跑的改坏。老师不看你同时在准备国创。截止时间就一个。赛那边,论文或 PPT 只改评委会看的那几页:问题、数据、失败路径、和现成工具的差别。形容词页、动画页、来得及以后补的图,周后再还。债会记在本子上。不记,周后会假装没有债。

奖学金不管你撞不撞。排名照样算。计算机科学与技术 452 人,二等奖学金卡前 10%。我后来是 47。竞赛占掉晚上,课还是按卷面算。数据结构课设 100、面向对象 100、数学建模 99、导论与程序设计 97,这些分不是学期末突击出来的,也不是撞周那七天里开夜车开出来的。开夜车只能保住当场不崩。分数是前面那些没撞的周攒的。撞周如果把能跑的课设改坏,100 会掉。掉了对排名的伤害,比某一页 PPT 少一句形容词更直接。所以裁的时候,课设保能跑,赛保能讲。两边都想「再加一个功能」的冲动,按危险排序砍掉。

站点在那种周里排第三。第三的意思是:不新开皮肤,不升级 Jekyll,不在家目录里让 agent 扫全盘。最多修一个坏掉的链接。本地若要确认,仍旧在仓库根:

bundle exec jekyll serve --host 127.0.0.1 --port 4000

端口被占就先查是不是上一周的预览没关。不要开第二份「也许能同时改网站」的会话。一次会话一个仓库,撞周尤其如此。混进站点的改动很难在答辩当天回滚,课设仓库里多一个无关 commit 也会把提交包弄脏。

心理委员的谈话如果撞上这周,不能把人推到赛后。推了就变成「我在改答辩 PPT」这句话真的说出口。说出口对谈话的人没有用。我把能提前的谈话提前,不能提前的就缩短自己的调试时间。107 小时志愿也是这么挤出来的,挤的时候不要写成牺牲叙事。叙事没有用。有用的是日历上可见的块:哪一块给课,哪一块给赛,哪一块给睡眠,哪一块明确标成还不上。还不上的标红,周后第一天先还标红的。

那一周的日历我后来还留着。白天是课和打印,傍晚是路演排练,夜里第一段睡,早晨早功,上午再进机房把课设能跑的路径再走一遍。走一遍的意思是:按老师可能问的边界点一下,而不是再加功能。加功能的冲动最强的时刻,往往是最不该加的时刻。加坏了,一百分会掉。掉了对排名的伤害立刻出现。路演少一句形容词,伤害小一些。所以砍的顺序是:新功能先砍,动画先砍,站点皮肤先砍。能跑和能讲留下。留下的东西写进当天的清单,清单外的一律标成债。

债要可见。不可见的债会在周后假装还清了。假装还清,下一次撞周会更狠。我把债写在纸上:哪一页图没改,哪条测试没补,哪次志愿被推。纸放在桌上,不放进荣誉页。荣誉页要干净。干净的意思是只写已经完成并且能核对的。核对不了的债,属于私人日历。私人日历和站点数字分开。数字仍按学期算。学期不管你撞不撞。

心理委员的谈话若落在这周,我把能提前的提前。不能提前的,就缩短自己的调试。缩短调试,更要冻结。冻结之后只允许改话术,不允许改数据。数据一改,课设和演示可能同时坏。同时坏是最差结局。最差结局比两边都稍丑要差得多。稍丑可以交。同时坏,两边都交不出。交不出的那晚不要再开站点会话。站点会话会给人「我还在做事」的错觉。错觉很贵。

撞周会重复发生。建模作业、挑战杯材料、海淀展、课设答辩,不同名字,同一类重叠。我没有找到把一天变成两天的办法。找到的是冻结、裁页、分段睡、以及拒绝在同一会话里改三个仓库。排名仍按学期算。学期结束,四十七比四百五十二还在成绩单上,黑西装和课设工程都进了各自的目录。目录分开,人才不会在交作业的邮箱里附上路演视频。附错过一次就够。够了就写成这篇,下次打开日历先看叠没叠,叠了就先裁。裁完再睡第一段。第一段睡不够,第二段也要留。两段都删,第二天什么都讲不清。讲不清就等于这周白撞。白撞比债更贵。