我的大二上
其实这个博客能出现在这里,直接原因就是没处发这种回忆录的文章。
流水帐
基本按照时间顺序陈述一些已经发生的事情和个人想法。
暑假之前(大一)
在说 2023 年的大一暑假之前,我认为有必要简单提一下大一那一年。2022 我考上大学,恰逢 2022 下半年的疫情末期,伴着初入大学的迷茫感,大一上在我的印象中成为极其黑暗的一段时间。那段时间我的记忆已经不清晰了(其实是害怕回想,大脑主动遗忘),只列举几个短句总结我的大一上(为什么要提到大一上,因为我觉得有种铺垫作用(实际上是我的强迫症
大一上 be like:
- 昏暗(因为在宿舍网课
- 早上 7 点赶着去排队做核酸
- 拥挤的图书馆(大一上去图书馆频率很高
- 不敢翘课,认真记笔记
- 联系日本留学机构,这个整了大半个学期,后放弃
- 初识 The Missing Semester of Your CS Education
- 用 笔记本(Notebook) 学 python
然后大一上就在以上的状态下以 12 月份各回各家的方式结束了,实在是太过黑暗,回首起来十分痛苦,不再提了。
说到大一下,突然感觉整个人轻松了很多,我个人认为自己在大一下的收获还是很多的,包括且不限于:
- 所有课能翘全翘,例如大物只去了前几节
- 若有资源,用 大学 Mooc 的本校视频 备考学校考试
- 自学计算机技术,刷课。大一下刷了两门中文 mooc 课:
- 学会了 git,开始用 github 同步笔记和作业
- 开始直接阅读英文文档,长期使用 google
- 还看得过去的成绩,其实我自己感觉很满意了,毕竟平时一直翘课全靠自学(大一下还没有大范围的考前突击,基本都是平时会学一些追一下学校的进度)
- 学分绩 89.7453(GPA 3.8340)
- 在考试周前发现了由本校 神秘人 建立的论坛网站 交大門,并成为了很早一批的用户
- 认识了很多朋友
至于提起大一下的我对于未来的想法,我觉得还是 润。
暑假
计划
这个暑假开始前我制定了 严密 的自学计划,甚至在大一下期末周结束后在 QQ空间 豪言:开始沉淀!
而自学计划具体是:
- 暑假速通 CS61A(为什么说速通,是因为我看到 pku 一位学长说零基础 3 周速通了
- 开始学 CS61B
- 学前端(
html
,css
,js
三大件)
实际情况其实一开始还好,虽然看的慢,但是暑假的前两周就把 61a 的四章中的第一章学完了,按道理说会越学越快(越来越熟练
军训
但是坏消息一下就到来了,就是军训。两周的军训直接把我的计划完全打乱,本来说军训日每日也许能学一些,最后发现根本不行。且整个人被军训搞得精神状态很差,这个 我在交大門发的主题帖 也许可以反映当时的状态。
居家
军训之后我花了一段时间才让身体状态恢复起来,然后就回家了,在家学习效率也很低。
暑假的最后一天,我 草草 收掉了 CS61A(指第三章后的 lab,HW 都没做,只是把课和书看完了)。至于 CS61B,我大二上才开始学。而前端方面,看着 MDN 的文档 看 完了 HTML
和 CSS
。JavaScript
只了解基本语法。
Github,开源 与 贡献
我对计算机科学与技术的热爱,很多一部分来源于开源的文化。可能因为受益于此(指各种名校的课程等),也可能因为我的某种理想主义,我对开源的好感是超凡的。
也终于,我在大一的暑假提交了在 github 的 第一个 Pull request,是一个对 cs61a 教材某一节的翻译。
同时,我在这个暑假联系到了本校的两个“组织”,都可以理解为学生自发的编写资料组织。时至今日,第一个组织因为一些原因我没有再参与下去,但是第二个组织的 西安交通大学软件学院学习指南 我参与至今。这个网站的资料编写任务,git repo 维护工作也成为我在大二上学期 满足自我的某种需求 的重要方式。
九月之后
说了这么多大二上之前的事情,终于说到正文了。
课程评估
大二上应该延续大一下的传统,所有课能翘尽翘。然而开学的一两周还是要多去上上课的,一是考察老师上课考勤力度,二是记下来分数组成之类,得到一个最初的课程评估,确定之后这门课要全翘还是全勤。
评估结果:
- 原盛老师的 OOP(面向对象程序设计) 和 DS(数据结构与算法) 课:因为老师在第一节课就开宗名要的说:“我不考勤,可以不来上课。”于是我这个学期原盛老师的课只去了第一节。(但是,原盛老师讲课真的是很好的,我不去上他的课只是因为他明确指出不考勤)
- 毛概:这种思政课会随机点名,每节课都得去。
- 美国文化(英语):小班课,每节课都得去。
- 离散数学:去了两节课发现完全不考勤,于是评估为可以随便翘的课。
- 电路与电子学:去了两节课发现完全不考勤,于是评估为可以随便翘的课。但是后面一次随堂小测被发现,还被罚写一个情况说明啥的,很痛苦,于是后面就一直去了。
- 大学物理:大学里最没用的课之一,第一节课那个老师上课会点名,于是趁着第一周可以重新换课的机会换了个不点名的老师,从此除了交作业就没去过。
- 实验,体育等课,肯定是都得去的。
关于 CS61B
CS61B 是刚好这个学期一个学期的时间学完的,我学的是 sp18 的版本,Josh 老师讲的这一版非常好,同时还开源了 auto-grader。
CS61B 这一门课和你交软院的 OOP 和 DS 两门课重合度还是很高的,这也是我课程全翘的一个“底气”,基本只需要考试前对着原老师的考纲和往年题(在 软工生存手册有一些,我这个学期也记了题目,这个寒假应该会更新上去)拟合微调一下就行,具体怎么拟合微调本文后面会提到。
说回 CS61B,神课无需多言了吧,具体可以看这里,另外网上的资料也很多。
另外关于 CS61B 还有一点要提的就是我在 BiliBili 发布的 一些“汉化”视频。这些视频的初衷类似整活,除去整活因素,BST 作为 CS61B 最先讲的几个数据结构之一,整个讲解的精彩深深打动了我,也就有了“汉化”的想法,也就有了这些视频。
至于这些视频会不会更新下去,我想数据结构部分是不会了,但是这种 AI 语音讲解应该是会往下做的。
关于科研,深度学习
这个学期我联系过两位老师,现在(2024-01-28)大概是确定了要和第二位老师学习研究了。下面我以自问自答的方式讲讲这一部分:
我为什么要科研?为什么选择深度学习?
这是个很难只言片语回答清楚的问题,我在后文的 关于未来 部分会详细提到。但是必须说明的是,我很享受学习深度学习的过程,例如 10 月份我学到 Transformer 时,被深深折服。
怎么学的?
网课,书籍自学,主要有三个资料:
这三者可以同时推进。比如:
看李宏毅老师的课,比如讲到了 CNN -> 看李沐老师有没有讲过相关论文 -> 发现李宏毅老师的作业不会做,去《动手学深度学习》看看有没有更多代码示范 -> 做出李宏毅老师的 CNN 作业
有什么科研成果吗?
没有。
另外关于深度学习,还有一点要提的就是我参加了百度飞浆的 启航计划集训营,本来还想着能接触一些深度学习框架的底层代码,但是我完全高估自己了。最后结营前匆匆交了几个文档修修补补的 pr,狼狈结束。
关于比赛
其实我这个学期没有参加任何比赛,但是在这个学期报名了一些东西,分别是:
- 美赛
- 托福
- 蓝桥杯
为什么报名这些东西?这在后文的 关于未来 部分会详细提到。
武汉之行
这个学期的一个比较特别的事情,是我在 9.16 的那个周末去了趟武汉,最主要的事情是参加了 ChiliChill 的 LiveHouse。
武汉之行我写过一篇 有点像游记的东西 在交大門。
武汉之行像是一个分界点,这次出行后到现在(2024-01-28),我就像是被困在了 学校的围城 之中,感觉是时候来一趟打破常规的事情了。
寒假之前
寒假之前的一个大事就是期末考试,我会逐个科目(大概是随机顺序)点评一下我的成绩,备考,课程等信息。
大学物理Ⅱ-2 - 94
大学最没用,最水的课之一。作业全抄,考试全部是考前突击。期中考试前还断断续续学了一周,期末前直接 30hr 住在图书馆从头开始看。
期末考试现代物理出乎意料的考的比较多(20%),题都很水,属于复习到了就会做的类型。没想到最后考得还可以。然而 94 分显示战胜了 81.76% 的同学,证明大伙都考得挺不错的。
面向对象程序设计方法 - 94
原盛老师讲的很好(虽然我没去听),lab 的质量个人觉得很高的,但是我有个一直想诟病原老师的这门课的点:太细。
有些很细的点原老师很喜欢考(也会在作业的选择题出现),明明这些点只要你用一个差不多的编辑器都能立马发现,也不会有人去这样写代码,也不会有人会这样思考问题。可以理解老师教了很多年了肯定把 Java 语言很多细节摸透了,但是很多脱离实际的细节个人认为没有必要考察。但是话又说回来,如果题出的很正常,按原老师的教学质量可能就全班满绩,这应该是不行的。
至于个人如何学习备考,我的建议是可以每节课认真听,也可以全程听 CS61B 前半的 Java 部分。考前记得根据往年题拟合,往年题(模拟题)在 软工生存手册 有一些。
最后我的总评 94,应该是几个比较细的题扣分了,比如我以为 Java 和 Python 一样没有 do...while
语法。战胜 98.71% 的同学,卡绩了有些可惜。
离散数学基础 - 96
学期中的作业全部抄指导书的答案,然后考前一周看各种网课 + 用作业题和作业题答案拟合。考试题比作业题简单,个人认为作业题会做,概念都清楚就不会有什么问题。题型老师会上课提到,老师非常友好,也不考勤,这门课我个人还是很满意的。
考试应该就错了一道形式推理(把自己整乱了,胡写了下)。最后总评 96,战胜 96.48% 的同学。
大学物理实验Ⅰ-2 - 98
没啥好说的,只要实验都做了,报告都交了,这个给分就全看老师。这个学期比幸运,这个老师基本给的全员 98。
毛泽东思想和中国特色社会主义理论体系概论 - 87
思政课,考前背了快一个通宵,以至于第二天早上早八考试因为通宵肠胃直接崩溃,考试考得很痛苦。
该做的都做了,给分感觉还是看老师,自己没什么发挥的余地,最终总评 87,战胜 59.38% 的同学,平均水平。
电路与电子学 - 84
这门课我真的深恶痛绝,有以下原因:
- 这门课是对软件工程专业的同学基本完全没用的课程
- 这门课安排很怪,一半电路理论一半模电
- 这门课害我写了个所谓“旷课情况说明”
- 这门课没有对应的慕课,不发 PPT
- 这门课均分比较低,71.27 分
平时作业全抄答案,课一点没听,不过万幸的是,老师在考前发了考纲,最后考试完全被考纲内容覆盖。我复习就是找网课看然后对着考纲和作业题拟合,这门课我花了一周时间复习,最后我天真地认为最后三章不是重点不会考就没看,然而考试最后三章出了十几分的题,全部没写。但是就看我写了的题来说,题目比作业题简单,我应该也全写对了。
最后总评 84,战胜 77.6% 的同学,卡绩了很可惜,不过回想自己是一周突击,就感觉也还好了。
美国文化 - 87
美国文化因为是英语小班授课,我每节课都认真听了。最后笔试考试时间很紧张,几乎没有写完,卷面分 76,不过还好因为认真上课平时分还行,救了一下把总评救到 87,战胜 93.75% 的同学。
体育-3 - 83
因为篮球选过了选不了了,这个学期选的羽毛球。幸好是羽毛球(上),还没有上强度,考核也只是比较基本的跑点和对击高远球。下学期听说是打比赛按名次给分,跑了,选体适能了。
总评 83 主要是体测拉了,不过体育才 0.5 学分,不挂科都问题不大。
数据结构与算法Ⅲ - 90
同样是原老师的课,原盛老师讲的很好(虽然我没去听),lab 的质量很高。要说诟病的点其实还是太细,不过这个倒是没有 OOP 那门课的“细”那么让人厌恶,更多让我有种“唉”的感觉。
考试题难度不大,但是题量极大,考到了 每一个 知识点。题目也很麻烦,比如:
- 给个十一个顶点的图画邻接表
- 给个十一个值的数组用几种排序分步写结果
这门课的复习方法同上文的 面向对象程序设计方法 的复习方法。
这门课大家的成绩比电路还低,均分只有 68.91,分布甚至是一个减函数的样子。反观隔壁计算机学院的数据结构,大片的 95+,有些有趣。最终我考试没写完题(排序分步写结果那个没时间写了),总评 90,战胜 98.03% 的同学。
人工智能导论 - 96
这学期选的一门选修课,选这个课有一个原因也是因为这个学期要自学深度学习。然而这门课授课质量极差,有一位老师我甚至有些怀疑他在机器学习方面的专业程度。不过也可以理解,因为那位老师一看就年事已高,早就脱离科研一线。
如果想靠这门课学点正儿八经的知识,个人觉得还是算了。不过给分可以,考核简单(不笔试,有个大作业)。
课程有两个实验(分别占总评 20%),一个遗传算法实验,一个 MNIST 手写数字用最基本的神经网络识别实验。都可以用 python 和 pytorch 框架等,交实验报告就成。
大作业是一个创新实践,实际就是选个算法/模型之类的解决一个问题。我就弄了个 CNN 的 Food-11 数据集分类,整个内容也都传到了 github,可见 这个仓库。
最后总评 96,战胜 96.43% 的同学,是比较满意结果的一门课。
关于未来
这一部分其实比较难写,但是总结起来就一句话:走一步看一步。
背景
人的思想会一直改变
高三我就接触到一本书:<上海交通大学生存手册>。这本书我一共系统地读过三次,一次是高考前,一次是高考完,一次是大一上。这本书在我不同的阶段给予了我不同的帮助,里面有几段话我非常喜欢:
我手上一本1300页的数学手册,上面记录了人类文明从远古直到二十世纪后半叶的主要数学成果。而我校高等数学教材(上下册)所涵盖的内容,不超过其中的130页。一个真正有志于建造科学大厦的人,是不应抱着一块儿砖头精雕细琢的。
学习最需要的,不是悲壮的毅力,而是对无限未知的渴求
本科四年你想做什么
假设你现在人生游戏的开局是在一个心仪的大学(交大)读了一个喜欢的专业,那么你的开局已经是同龄人中的至少前 1% 了。正如之前所说进入大学后对同学们的评价标准开始多元化,不会再像大多数高中老师那样要求你以提升高考分为终极目标,你可以在学习本专业基础知识后进入教授的实验室助研接触某一小方向(本手册有提及如何选择导师,尽量避开不好的导师)、也可以是拉上志同道合的同学尝试小型创业项目、或者去知名公司实习参与有价值的项目提升简历竞争力、可以参与感兴趣的学生组织或者社团帮助交大摆脱“文化荒漠”(但我们有必要提醒你校内的学生组织和社团质量也遵循二八原则,值得加入的是少数)、可以参加很多国际竞赛为交大争光。。。放眼望去本科期间将是你未来很长一段时间里最自由、机会成本最低的四年,你没办法“grasp all and win all”但应该走出属于自己独一无二的道路,交大之大,能够包容你选择的不同的学习、生活方式。
除了这本书,我还想推荐以下几个帖子:
- 浅谈出国申请
- 博客转载:山穷水尽
- 关于大学中的卷和躺
- 感觉上了大学挺失望的,该怎么办?
- 身为计算机系学生的我感觉落差好大
- 原创翻译:申请计算机科学博士项目
- 各位觉得自己在交大学习的意义是什么?
- 说说大一大二本科生如何在本校入门科研
- [科研]本科生如何尽力寻找外校的科研机会
- 揭示某些计算机本科和顶尖本科之间的显著差异
未来?
有几个原则,现在看来对我而言绝对正确:
- 做自己喜欢的事是最重要的
- 最理想化的路线是申请到美,港,坡全奖项目
- 我喜欢学习计算机科学,计算机技术
- 我真的适合科研吗?我感觉可能是,但现在我也不知道
- 我不接受考研
- 大不了本科毕业就去就业
可以看到,我对未来尚没有绝对的“方向”。不过没关系,没有方向就去试就好了,多试,走一步看一步。起码我始终在践行“准则1”。
回应前文,以上回答我认为可以回答前文的问题了。