转码记录 Vol.01 | 从文科硕士到 CS 二学位,第一个学期的实况
文科硕士毕业,做了几年数据分析师。流程熟了之后,开始意识到一件事——我会用工具,但不懂工具背后的逻辑。能调 API,但不理解 HTTP 请求的完整链路;会写 Pandas,但遇到性能瓶颈只能靠 Stack Overflow。岗位天花板不是薪资,是你能解决的问题的复杂度上限。
这是决定读 CS 二学位的第一学期复盘。
我是谁,为什么在转码
文科硕士毕业,做了几年数据分析师。
工作内容说起来不复杂:SQL 拉数据、Python 跑脚本、Tableau 出图,整理成报告给业务团队看。流程熟了之后,开始意识到一件事——我会用工具,但不懂工具背后的逻辑。
具体表现是:
- 能调 API,但不理解 HTTP 请求的完整链路
- 会写 Pandas,但遇到性能瓶颈只能靠 Stack Overflow
- 参与过 RAG 项目的数据管道部分,但对向量检索的底层实现是黑盒
这种状态在数据分析岗位可以维持,但进不了技术研发的核心圈子。岗位天花板不是薪资,是你能解决的问题的复杂度上限。
做了一段时间 AI 开发相关的项目(SREDSimplify,一个处理政府税收文件的 RAG 系统)之后,这个判断变得更清晰:我想做的不只是数据层,而是整个系统的架构和实现。
为什么是二学位,而不是培训班或自学
这个选择考虑过三条路:
培训班:周期短,但课程设计以就业为导向,跳过大量基础。面试能过,实际工程能力存疑。
自学:灵活,但缺乏系统性。离散数学、算法、操作系统这些课,自学的完成率和质量都很难保证。
CS 二学位:时间成本最高,但结构最完整。65 学分,覆盖从数学基础到系统设计的完整路径。
选二学位的核心逻辑只有一条:我想要的不是一个能通过技术面试的技能包,而是能支撑长期技术成长的基础结构。
项目参数
| 项目 | 数据 |
|---|---|
| 总学分 | 65 credits |
| 计划学期数 | 7 个学期 |
| 目标毕业时间 | 2026 Fall |
| 目标方向 | 技术研发(AI / 后端方向) |
24 Fall:第一个学期,三门课
📅 正式开始的学期,选了三门课,刻意控制节奏,不堆课。
EECS 1012 – Introduction to Computing: A Net-centric Approach
内容:HTML、CSS、JavaScript,以及事件驱动编程的基本概念,在移动与网络环境下理解计算。
这门课对零基础友好,成绩 A+。但收获不在语法本身,而在于第一次完整体验了"写逻辑 → 浏览器执行 → 结果可见"这个闭环。数据分析的工作结果是报告,Web 的结果是可交互的界面——两种反馈机制完全不同,后者的即时性让调试变成了一种直接的对话。
这门课也引入了客户端-服务器架构的基本概念。以前用 Pandas 处理数据时,数据从哪里来是理所当然的;学完这门课之后,开始有意识地去想"这个 API 请求背后发生了什么"。
MATH 1013 – Applied Calculus I
本科和考研阶段有微积分基础,这门课压力不大,成绩 A。
策略是同步复习,把极限、导数、积分的概念清晰化,而不 只是记住计算套路。后续的算法课会用到时间复杂度的渐近分析,微积分的估算思维在那里会再次出现。
EECS 1019 – Discrete Mathematics for Computer Science ← 这门值得单独说
内容:命题逻辑、集合论、数学归纳法、函数与关系。成绩 A。
这门是文科背景转码的第一个真实门槛。
具体难在哪里:
证明的思维方式不同于解题。 微积分的计算有固定套路,但离散数学的证明要求你构造推理链——每一步的依据必须显式说明,不能靠"直觉上成立"跳过。
归纳法的方向容易搞反。 证明 P(k+1) 时,新手容易从结论往回推,但归纳法要求从已知的 P(k) 正向推出 P(k+1)。这个方向感需要做大量题才能固化,不是看懂例题就够的。
逻辑符号的精确性要求高。 ∀ 和 ∃ 的位置不同,命题含义完全不同。∀x ∃y P(x,y) 和 ∃y ∀x P(x,y) 在语义上是两件完全不同的事。自然语言里可以模糊表达,形式逻辑里不行。
对我来说,离散数学不只是一门课,它是在强迫我用计算机的方式思考——精确、无歧义、每一步有依据。这套思维方式对后续所有技术课都有用,只是第一学期还看不见它的价值。
