1372 字
7 分钟
CS0的构想
2025-12-15
无标签
  1. 一个教学/学习项目, 目标在于通过模板级的高可读性, 高拓展性代码, 完整地展示整个计算机科学的运作逻辑. 内容涵盖计算机科学的主要专业课, 可能包括程序语言/计算机组成/计算机系统/网络/数据结构与算法/数据库/机器学习等.
  2. 本项目不止展示结果, 更要展示开发过程, 开发环境的配置/AI prompt的使用等等, 并提供完整配套文档, 教学视频, 开发日志等, 完整展示一个开源项目是如何运作的.
  3. 在完成基本框架后, 可以通过”挖空”和编写测试脚本很快地转变成一个实践用的教学项目(比如csapp/cs61A的项目, 事实上, 我的灵感正来源于此). 而本项目相对于公开课项目的优势在于, 我们将各个层次的不同专业课结合在了一起. 写数据库的时候就使用自己编写的B+树, 等等, 这是前人没有做到的事.
  4. 进一步地, 通过网页前端的开发, 这个项目可以发展成一个类似codechef或者youkn0wwho.academy的网站, 实现代码可视化/反馈机制等. 最后形成一个教学社区.
  5. 本项目按从底向上的结构来说可以分成5个部分:
    1. 基础设施: 开发环境, 开发所使用的所有工具, 比如数据结构库, 内存管理工具, 并提供面向python的接口. 涉及的专业课: 程序语言, 数据结构与算法, 计算机组成原理.
    2. 连通层: 涉及通信和并发, 线程封装, 事件等等, 简单来说就是实现一个微型os内核, 连接底层和顶层. 涉及专业课: 计组, 操作系统.
    3. 半应用层: 实现一个数据库, 一个网络库.
    4. 应用层: 实现一个完整的网站/应用, 接入之前的数据库/网络库, 实现的网站即本项目的教学网站, 达成全栈开发, 另外或许可以搭建一个人工神经网络.
  6. 项目初期的核心成员应该是1到4位, 取决于我能不能找到同样有热情, 有能力, 想法一致, 自律程度高的团队成员. 项目的核心代码产出由AI完成, 项目组的每一个成员都是reviewer, 都要充分理解AI产出的每一句代码(要求降低一点的话, 至少我自己要). 项目的工作主要在于架构, review, 以及产出配套文档和教学视频. 这要求项目组的核心成员应具有(或者说, 将具有)在某种程度上强于AI的能力, 成员自己必须先充分学习理解相关专业知识, 才能review AI的代码或者是教别人, 也就是说, 虽然代码产出由AI完成, 但成员的工作量并不低, 且需要边做边学.
  7. 项目的可行性分析:
    1. 技术层面上, 在网络上已有的优秀代码上, 基于自己的想法和现代C++语法(C++20的强大工具)进行修改, 简化, 没有什么太高的技术门槛, 但无疑能学到很多东西.
    2. 产品可行性: 正如本文之前所言, 虽然市面上有build-your-own-X, xv6, cmu15-213等优秀教学项目, 但缺少一个集大成者, 同时很多项目所用的工具是较为过时的.
    3. 团队可行性: 只要有我在, 项目不会烂尾. 我无论怎么样都会持续维护项目, 直到完成既定目标(网站搭建完毕/社区成功运行).
    4. 从项目的回报来看:
      1. 最差情况:项目无人问津。这时候项目作为一个简历加分项。这是一个十万行级别的项目,且内容包罗万象,无论是考研还是面试各种岗位都能做到专业对口。并且在完成此项目的过程中对于能力的提升是不可估量的,项目靠ai prompting的开发模式也完美契合未来程序员的职责。从另一个角度来说,本项目的任何一个板块拿出来都是高质量的就业向项目,那些烂大街的“苍穹外卖”,数据库项目,内存池项目等等,都不过是本项目的一个子集罢了,而开发大型项目过程中学到的团队管理和项目运营又岂是那些零散的抱佛脚项目可比的!换句话说,最差情况=超过99%本科生。
      2. 中等结局:项目在小范围内造成影响,github 1k左右star,这时在学校中建立社团,项目可以滔滔不绝地运营下去,最终达成既定目标,并实现影响力的扩大,最终发展成数k stars的中型项目, 并成功成为高校的教学项目(如cs50). 项目成员成功证明了自己各方面的能力和眼光.
      3. 最好结局: 项目形成了一个数万stars的知名开源项目, 吸引了全世界的爱好者来维护. 核心成员可能被顶尖公司挖走, 也可能直接靠影响力建立一个教培机构.(当然本项目会维持开源免费)
CS0的构想
https://fuwari.vercel.app/posts/cs0的构想/
作者
ykindred
发布于
2025-12-15
许可协议
CC BY-NC-SA 4.0