重新规划大学低年级生活
博客断更是因为前段时间找工作去了,结合最近几个月的经历写写这么一个主题:对于计算机学院的低年级(大一、大二)普通学生,如果要以求职为目的,应当怎么安排学习。
说明:
- 我 19 年秋季入学,是 19 级/23 届,我写这篇博客时(2022 年 4 月份)正好是 22 届春招金三银四大幅缩水,考研人数每年增加 80w 人的情况,因此本文无法作为高考报志愿、投资理财(?)的建议。
- 在我看来巨佬的经历往往具备不可复制性,作为一个 GPA 完全无缘保研,也不是 ACM 校队竞赛生的普通菜鸡,本文能提供的是“可复制性建议”,目标是提高动手能力、代码能力、团队协作能力。
- 要巨佬经验的去我的友情链接看看
大一
课程是按 19 级计算机科学与技术培养计划写的,如有变动请以课程名称为准
首先最好在这个阶段确定目标,你是想工作?还是继续深造?
如果目标是保研/大一下学期转专业/留学深造,首先恭喜你,学校安排的讲座基本都是讲这个的,目前也是 BJTU 的主流思潮,除了每门课都得卷赢,没有缺点;
如果不是就继续看这篇
- 微积分和线性代数是需要好好听的,专业课和大学物理会用到,学好了才能省出写作业时间学计算机;
- 工图、工科化学、交通运输概论、电工技术这几个及格就行,纯属 BJTU 培养计划的失误
- 大学英语课密度远低于高中,最好尽快考英语四六级,越晚越不会
- 本学年的重中之重:C 语言
📮 2026 更新:
这条建议本身没错,但格局小了。如果你大一,四六级该过就过,但真正要做的是大三去刷托福或雅思。不一定为了出国读研,而是为了给自己留一个全球就业市场的选项。中国的就业市场和签证形势这几年的变化你也看到了,多一门英语成绩,多一条出路。而且口语这件事,越晚开口越难开口。我现在在美国工作每天用英语,回头看大学时候的自己,要是当年敢多张嘴,现在说英语就不会每句话都“嗯……”“呃……”卡半天了。
C 语言程序设计
为什么 C 语言很重要?因为这往往是很多大学低年级同学开始对编程有恐惧抵触心理的课程。
这门课的教师授课水平比较参差不齐,但建议你无论如何还是要听讲,一旦对一门课的教师产生厌恶就很难学好课程了。C 语言在这时候一定要充分理解指针和引用,最好做到能给你的外行家人讲明白的程度,听不懂就去问同学和老师答疑,老师答不明白就自己学着用搜索引擎和网络公开课资源。
📮 2026 更新:
这一段我现在看会笑。指针和引用还是重要的,但理由变了。2022 年我说”要给外行家人讲明白”,是为了让你能写出正确的代码;2026 年我会说”要给外行家人讲明白”,是为了让你能看懂 AI 帮你写的代码到底有没有问题。工具变了,本质要求其实更高了,不是更低了。AI 的魔力放出无法超过你作为人类魔术师的上限。会用 Claude code 不等于会写代码,就像会开自动驾驶不等于会开车,平时你可以躺着,但车出事的那一刻你必须秒接管。
顺便强调一件事:任何一门专业课的大作业都绝对不要 cheat,cheat 就是作弊抄袭,抄代码一时爽,被抓火葬场。抓一个学生有没有 cheat 实在是太容易了,全看老师想不想查。即使你 copy 了一份作业也没有被抓,你也会因为少写了几百行,少搞明白几个 bug,在实践上逐渐落后于亲自写作业的同学。
📮 2026 更新:
2022 年的 “cheat” 很好定义,张三同学抄李四同学代码就是抄。2026 年 “cheat” 已经是哲学问题了:用 GPT 帮你想思路算吗?用 Copilot 补全一半的代码算吗?用 Cursor 一键生成整个模块然后你只改了变量名算吗?学校政策大多还没跟上,所以这个判断现在主要靠你自己。
我的建议是:问一下你自己,如果把 AI 拿走,你能从头复现这份作业吗?能复现,就是你真的学会了;不能复现,那就是你在用 AI 当外挂,迟早在面试白板上还回去。AI 不是用来替你思考的,是用来加速你思考的。这两件事在大学阶段尤其不能混淆,因为大学是你唯一可以低成本试错”独立思考”这件事的时期。
程序设计基础训练
在我上这门课的时候,这门课程是一学期分几个步骤用 C 语言完成一个电梯模型,可能是网课的原因,那学期一周也就写俩小时代码……建议阅读一些代码规范的教程,让自己的缩进、变量函数命名易懂一些,养成写注释习惯,这方面我没有专门读过书就不打广告了。
强烈建议在这个时候学习 C++ 的 STL 容器,接下来《计算思维综合训练》要用。
Web 应用基础
大一暑假小学期的两门魔鬼课程之一,一周实现几个网页,但难度并不大,一般用 PHP 边学边就过去了,主要锻炼搜索引擎使用能力
计算思维综合训练
大一暑假小学期的两门魔鬼课程之一,对竞赛党非常简单,但对普通人非常难,每天上午讲课下午用 OJ 做题,上这课急的我一周下来轻了七八斤……
之前学的 C++ STL 在这时候能用上,没学过就尽量挑挑自己会的脑筋急转弯题做吧
大二
这个学年结束时的理想状态是,具备自己开荒一个语言/框架的能力,自己解决 bug 的能力,小组作业协作开发的能力。
📮 2026 更新:
这段我现在重读,感觉自己当年还是太年轻,把”开荒一个语言/框架”放在第一位。2026 年 3 年工作经验的我会重新排序:看懂别人代码的能力(包括 AI 写的)> debug 复杂系统的能力(AI 最不擅长的恰恰是这个)> 小组协作的能力(永远重要,永远被低估)> 开荒新框架的能力(AI 时代这件事的边际成本极低,反而没那么重要了)
简单说,”快速写出 100 行新代码”的能力贬值了,”在 10 万行旧代码里精准定位一个 bug”的能力升值了。后者是 AI 目前最不擅长、也最难替代的工程师价值。
C++ 和 Java 选修课不是二选一
这门课介绍上是可以选一个,但实际并不是
为什么不是二选一:
- 后续课程中存在教师只使用 C++ / Java 授课、或者你只能用 C++ / Java 的课程
- 如果你只选一个,《算法设计与实现》就从选修课变成必修课了,凑这一类专业课的学分会异常艰辛
- 就算你想在大三大四回来学,可不要小看了 BJTU 教学平台,这两门课只在第 3 学期和第 4 学期好抢
面向对象程序设计与 C++
课内只教面向对象程序设计的封装、继承、多态
但如果你想有班上,一定要同时学习 modern C++,了解 C++11 和 C++14 特性,可以看《C++ primer》
如果教师不讲,一定要了解这三个特性分别是如何实现的
JAVA 语言程序设计
课内只会给你安排每周一定量的 OJ 题目,一定要在规定时间内完成
我没学明白李强的强子语,所以也不是主要写 Java 的
经验应该类似于 C++,如果你想有班上,你需要在课外补齐老师课上没教的底层实现和新标准性质
数字系统基础
俗称数电,教的难,考的简单,虽然数电课程组都不太会讲课,但跟着写作业就没啥问题
学期末的大作业绝对不要抄,可以问同班 dalao 的思路,但绝对不要抄
计算机组成原理
反正我没学明白这个,但这是后面大三很多原理课程的前置课程
计组课程组教师水平比较参差不齐,建议尽早打开 MOOC 和 B 站大学开始自学
计算机综合训练、计科专业实践
对于计科,大二的暑假有《计算机综合训练》、《计算机科学与技术专业实践》两门课程,基本形式都是组队完成一定的实践项目。
一定要提前学习 Git 使用,这两门课开始的专业课就必须做团队任务了,期末考试完学一下 Learn Git Branching
如果能提前了解到题目,也需要提前学习相应的编程语言框架。
如果还学有余力
可以在每年二三月份开始关注 GSoC 的合作组织,如果有本事给这些开源项目提 issue 就参加一次 GSoC
可以在 之前的网站推荐 找点想学的,学 CS 多捣鼓多动手,横竖不亏;
如果时间充裕、精力充沛,跟着 TeachYourselfCS 提到的高质量公开课程,做点底层原理项目;
📮 2026 更新:建议依然成立,但门槛比 2022 高很多。
原因不是开源项目本身变了,而是:AI 让会提一个看起来像样的 PR这件事变得很容易。这意味着开源仓库收到的低质量 PR 暴涨,他们筛选时会更看重你的真实理解和长期贡献。所以,现在参加 GSoC 的正确姿势不是”突击准备一个项目”,而是:找一个你真的感兴趣的开源项目,从大一开始在 issue 区里出现,问问题、报 bug、改文档、慢慢混脸熟。等到 GSoC 时,你已经是社区里有名有姓的红人了,胜率远比突击的人高。
这条建议适用于任何”长期建立影响力”的事,复利在 AI 时代反而比以前更值钱,因为短期产出已经完全的通货膨胀了。