ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

OSSU 计算机科学课程体系版本演进全解:读懂 CHANGELOG 背后的课程治理逻辑

OSSU 计算机科学课程体系版本演进全解:读懂 CHANGELOG 背后的课程治理逻辑 教程文档知识库【免费下载链接】computer-science Path to a free self-taught education in Computer Science!项目地址https://gitcode.com/GitHub_Trending/co/computer-science点击查看免费下载导读CHANGELOG.md 记录了 Open Source Society UniversityOSSU开源计算机科学自学课程体系从 v1.0.0 到 v8.0.0 的全部版本演进并预告了正在进行的 v9 评审。这份文档不仅是一份改了什么的历史清单更完整展示了该课程项目独特的自定义语义化版本约定课程主题的调整、课程的增删替换、以及顺序的微调分别对应 MAJOR、MINOR、PATCH 三种级别。阅读本文你将掌握如何解读这套版本规则、理解每个大版本背后的课程治理动因平台政策变化、课程质量筛选、课程指南对齐并能据此判断课程改动对自己的学习路径规划的实际影响。一、项目背景一份遵循 CS 2013 课程指南的自学路线图要读懂 CHANGELOG先要理解它记录的是什么项目。OSSU 是一个通往免费自学计算机科学教育的路径其核心定位在 README.md 中说明得很清楚它不是职业培训或专业发展课程而是追求对计算学科基础概念的完整、全面的掌握课程体系参照计算机科学本科专业的学位要求设计减去通识教育非 CS部分入选课程必须满足四条硬性标准开放注册、定期开课最好是自定进度否则每年多次开课、教学材料与教学法质量高、符合 CURRICULAR_GUIDELINES.md 中引用的 CS 2013 课程指南。课程指南ACM/IEEE CS2013在仓库中有专门文档说明这份指南详细列出关键知识领域及其中的主题并进一步细分到具体学习目标甚至明确哪些概念学生必须能解释、哪些概念必须能在实践中演示。当没有课程能满足上述标准时就用书籍补充课程或书籍质量虽高但不适合课程体系时就放入 extras/courses.md 或 extras/readings.md。这条必须符合 CS 2013的约束是理解 CHANGELOG 中几乎所有版本决策的钥匙——例如 v7.0 中从多个学科改为四个学科多个主题、v8.0.0 中的核心系统调整本质上都是围绕课程指南所做的对齐工作。二、版本号的含义OSSU 对语义化版本的精神改编CHANGELOG 开篇即声明项目在精神上遵循 Semantic Versioning但语义被重新映射到了课程内容上这一点是全文最值得先掌握的部分版本级别对应含义典型例子来自文档MAJOR主版本改变学科内研究的主题v7.0 从多个学科改为四个学科多个主题v6.0 调整数学课程顺序MINOR次版本不改变主题的情况下更换课程v7.2.0 新增 Software Testing 课程v7.2.2 新增 Haskell 书籍PATCH补丁版本装饰性、非必要的增删或为更好学习进度调整课程顺序v7.2.1 修正拼写错误、更新网络课程时长需要特别注意的是版本号表达为[8.0.0] 2017-11-01这种中括号加日期的格式日期是发布/更新日期每个版本条目内部使用### Added / Updated / Removed / Fixed分组对应变更类型文档明确写着 v8.0.0 之后课程体系目前正在进行 v9 评审评审工作大部分是依据我们的课程指南核对推荐内容、补充缺失主题、删减冗余或超出范围的内容这一过程通过 Request for CommentRFC完成评审结束后会将版本标注为 v9——因此当前仓库课程体系仍以 v8.x 状态呈现README 中可见恭喜完成相当于计算机科学本科学位的课程清单。三、v8.0.02017-11-01阅读清单扩充与核心系统重排最新已发布的正式版本包含两类变更Added新增extras/readings.md 中新增三份阅读材料The System Design Primer、Category Theory for Programmers: The Preface、Programming Languages: Application and Interpretation、Programming and Programming LanguagesCONTRIBUTING.md 贡献者指南中新增 Learning Git 章节该指南将贡献方式分为非实质性变更走 Pull Request与实质性批评走 Issue两条路径并给出以课程指南为依据的批评示例Core Math 中新增 Essence of Linear Algebra 作为 Linear Algebra: Foundations to Frontiers 的前置课程。Updated更新Introduction to Mathematical Thinking 移入 extras/courses.md现在可在该文件的 Math 章节看到它Hack the Kernelops-class从 Advanced Systems提升到 Core Systems这是一个实质性的难度/重要性调整——从选修到必修范畴Core Systems 中 Operating Systems: Three Easy Pieces不再作为必修改为 Hack the Kernel 的推荐配套读物即 coursepages/ostep/README.md 对应的 OSTEP 课程从核心必修改为辅助阅读Core Theory 中 Stanford Algorithms 课程的托管平台从 Coursera 换成 Lagunita原因是文档明确指出Coursera 使用暗黑模式dark patterns诱导用户付费——这是一个难得的、由平台商业化政策直接驱动的课程治理决策在 README 的 Core Theory 表格中仍能看到该课程以 edX/替代课程形式出现。四、v7.x 系列Haskell 引入、测试课程与课程结构调整4.1 v7.2.22017-07-02新增 Haskell Programming from First Principles 作为学习 Haskell 的付费替代方案免费方案仍指向上文 extras/courses.md 中的 Introduction to Haskellextras/readings.md 新增 Think Python 与 Category Theory: A Gentle Introduction在相关课程下补充 FAQ 条目与链接。4.2 v7.2.12017-05-14将 Networking 课程的预计学习时长更新为8 周对应 README 中 Core Systems 的 Computer Networking: a Top-Down Approach 8 周、4–12 小时/周修正一个拼写错误。4.3 v7.2.02017-04-28新增 Software Testing 课程在 README 的 Advanced programming 下可见4 周、6 小时/周新增 Stanford Lagunita 的 Algorithms: Design and Analysis 链接为 MIT Single Variable Calculus 补充参数方程与极坐标章节的链接以衔接 Multivariable Calculus。4.4 v7.1.x2017-03/04v7.1.2在 Projects 章节引言中加入 Mega Project List 链接v7.1.1发布前最后微调v7.1.0回滚 Programming Languages 课程的重排新增 Reliable Distributed Algorithms 课程与一门新的 Introduction to CS 课程。4.5 v7.0.22017-03-30将可选在线学习课程移入 extras/courses.md 的新章节该文件末尾的 Online Learning - Great Courses 即为其产物包含 Learning How to Learn 等将替代性计算机体系结构课程移入 extrasAdvanced Applications 下新增Scala specialization对应 README Final project 表中的 Functional Programming in Scala (Specialization)29 周、4-5 小时/周为简化课程体系必修阅读材料减少到只剩一个选项。4.6 v7.0.12017-03-11修正 Bradfield 的 DIY 计算机科学页面链接Calculus One 课程下新增 errata 与课程进度建议说明extras 中新增多个可选课程Strang 线性代数、Berkeley 的 SICP 等与可选阅读材料Van Roy 高级编程书、PH 计算机体系结构书、Skiena 算法书、Strang 线性代数书、Database Management Systems、Tarr 的 DSL 书、多位作者的分布式系统阅读材料。五、v7.02017-03-09课程体系大重构这是文档中标注为 Complete overhaul of program structure程序结构彻底改革的重大版本值得单独展开结构变化贡献者指南被澄清并拆分为独立文件即 CONTRIBUTING.md从多个学科改为四个学科 多个主题——四个学科即 README 中呈现的 Intro CS、Core CS、Advanced CS、Final Project 四层结构free-books.md 与 paid-books.md合并为 extras/readings.mdfree-courses.md 与 paid-courses.md合并为 extras/courses.mdHow to Code 课程更换为新的 Software Development MicroMasters 版本Princeton Algorithms 被Stanford Algorithms 取代前者移入 extras/courses.md该文件的 Theory 章节可见 Algorithms, Part I/II。Added新增信息量大为所有课程标注前置条件Prerequisites——这正是今天 README 课程表中Prerequisites列的数据来源新增课程要求学科/主题要求与项目要求新增 Haskell、Prolog、Operating Systems 的必修阅读材料新增课程Dan Grossman 的 Programming Languages、From Nand to Tetris新增选修课Intro to Parallel Programming、LAFF、Introduction to Mathematical Thinking、Electricity and Magnetism、MIT Computation Structures、Multivariable Calculus、ops-class.org、Automata Theory、Introduction to Logic、Computational Geometry、Formal Concept Analysis、Game Theory新增选修专业化方向Elective specializationsRobotics、Data Mining、Big Data、Internet of Things、Cloud Computing、Full Stack Web Development、Data Science新增职业专业化方向Pro specializationsMastering Software Development in R、Artificial Intelligence Engineer、Machine Learning Engineer、Cybersecurity、Android Developer。Removed移除清理大量死链与过时课程移除按课程设置的项目要求改为全局 Final Project 机制移除课程Object-Oriented Programming in Java、Functional Programming in Scala、Computer Architecture保留为脚注、Intro to Theoretical Computer Science、Software Processes and Agile Practices、Operating Systems System Programming、Introduction to Cyber Security、Parallel Computer Architecture and Programming、UX Design for Mobile Developers。六、v6.0–v4.x顺序调整、项目文件与平台政策应对6.1 v6.02016-10-09将 Calculus One 调整到与 Mathematics for Computer Science并列且前置改进 Order of the classes 文案创建公开 Trello 看板跟踪新版本课程体系新增 How to track and show your progress如何跟踪和展示学习进度章节——README 中Fork 仓库并在完成项前打 ✅的进度展示方式即由此而来新增 PROJECTS.md 文件并将课程体系全部章节复制进去移除 Next Goals 章节与 OSSU Web App 的引用。6.2 v5.1.02016-08-20与 v5.0.02016-08-20v5.1.0Math (Discrete Math) 章节更新为最新版 Mathematics for Computer Sciencev5.0.0因课程被移除Natural Language Processing 课程替换为 Introduction to Natural Language Processing。6.3 v4.1.02016-08-05与 v4.0.02016-07-30两个版本都由Coursera 平台变化触发v4.1.0 修复 Big Data 章节的 Introduction to Big Datav4.0.0 移除 Theory 的 Automata、Math (Linear Algebra) 的 Coding the Matrix、Parallel Computing 的 Heterogeneous Parallel Programming、NLP 的原课程新增 Intro to Theoretical Computer Science、Linear Algebra - Foundations to Frontiers、Parallel Computer Architecture and Programming、NLP 替代课程并修复 Computer Networks 与 Compilers 课程。这组条目是平台政策变化如何反作用于开源课程体系的典型样本与 v8.0.0 中 Coursera→Lagunita 的迁移形成呼应。七、v3.0.0–v1.0.0课程体系成形史版本日期核心变更v3.0.02016-05-04Introduction to CS 移除 Python 课程与 Nand to Tetris (Part 1)新增 CS50v2.0.12016-04-04指引学生通过 OSSU Web App 报名v2.0.02016-03-17修复 Program Design 课程名称与链接移除 15 门课程含 Agile Development、Applied Cryptography、Multivariable Calculus 等注明被移除课程现位于 extras 章节v1.3.122016-03-17新增协作方式说明新链接发送至 extras 章节v1.3.11–v1.3.92016-03修复 Nand to Tetris、UC Berkeley Agile、Specialization 直链、Systematic Program Design、NLP 课程链接与名称v1.3.82015-11-07新增 Project Suggestions 章节及更多参考资料v1.3.72015-11-01移除 project.md迁至 help 仓库v1.3.62015-10-22更新 CS 162Operating Systems and System Programmingv1.2.x2015-10新增 Awesome 列表徽章、修复章节名称、移除公开承诺引用、澄清前置条件v1.1.1–v1.1.02015-10修正 MOOC 冗余表述等拼写与措辞新增 Motivation Preparation 章节MIT Challenge 文章、Learning How to Learn 课程v1.0.02015-10-08发布首个完整版计算机科学课程体系值得注意的细节v1.3.11 提及 UC Berkeley Agile development 课程时原文为 v1.3.11 条目与 v2.0.0 移除的 Agile Development Using Ruby on Rails 相衔接v2.0.0 的 ps 注明确认这些被移除的课程现在位于 extras 章节这正是 extras/courses.md 中大量经典但被移出主线课程如 SICP、Algorithms Part I/II的来源。八、从 CHANGELOG 反推的课程治理方法论读完整个变更历史可以提炼出 OSSU 课程治理的几条可复用的判断准则这些结论均可在 CHANGELOG 与 CONTRIBUTING.md 中交叉验证课程指南是唯一锚点任何课程增删都应以 CURRICULAR_GUIDELINES.md 中的 CS 2013 知识领域为依据例如 v8.0.0 的 v9 评审检查推荐内容是否符合课程指南质量优先于知名度Princeton Algorithms → Stanford Algorithms 的替换说明质量与课程指南匹配度高于课程品牌平台政策必须响应Coursera 的付费诱导dark patterns、平台功能变化都直接触发课程迁移v8.0.0、v4.x主线收敛、扩展外移必修内容持续做减法v7.0.2 将必修阅读减至一个选项、v7.0 移除多门课程同时把高质量但超纲的内容沉淀到 extras 章节——这正是 extras/courses.md、extras/readings.md 不断增长的原因版本语义用于沟通通过 MAJOR/MINOR/PATCH 与主题/课程/顺序的映射让社区成员无需逐条阅读即可感知改动的性质。九、学习者视角版本演进对选课路径的实际影响CHANGELOG 不是仅供维护者阅读的历史档案它对学习者有直接的参考价值判断课程稳定性一个课程在多个大版本中持续保留如 Core Math 的 Mathematics for Computer Science、Core Theory 的 Stanford Algorithms说明它经受了多轮课程指南检验优先级更高理解 README 现状的形成过程README 中 Intro CS 的 Introduction to Computer Science and Programming using Python 是 v8.0.0 之后的结构Core Systems 的 OSTEP 从必修降为推荐读物Advanced programming 的 Software Testing 来自 v7.2.0Final project 的 Scala、Data Mining、Big Data 等专业化方向来自 v7.0——今天看到的每一行课程表都能在 CHANGELOG 中找到出处关注 v9 评审文档明确说明当前正处于 v9 评审期涉及补充缺失主题、删减冗余或超纲课程这意味着 README 课程表后续可能再次出现结构性调整。十、如何参与课程治理如果你希望影响课程体系的演进方向CONTRIBUTING.md 给出了明确的参与路径这也解释了 CHANGELOG 中大量条目是如何产生的非实质性变更URL 迁移、拼写错误等直接提交 Pull Request 修复实质性批评课程进度/内容问题先在 GitHub Issues 中发起讨论成功的变更必然附带解决问题的方案有效的批评需要指出课程体系在哪些方面违背了课程指南——文档给出了四类示例把指南中选修的主题列为必修、缺少覆盖必修主题的课程、多门课程覆盖同一主题本可精简、存在更高质量的替代课程其他贡献方式回复 Issue 讨论、参与 Discord 社区互动如 README 中所述Discord 是学习者互助的第一站。小结CHANGELOG 用 30 多个版本条目记录了一门免费自学 CS 学位课程体系从 2015 年首版到 2017 年 v8.0.0 的完整演进。它既是版本历史也是一份可操作的课程治理手册——MAJOR/MINOR/PATCH 的自定义语义、课程指南驱动的增删逻辑、平台政策驱动的迁移决策共同构成了 OSSU 长期维护课程质量的核心机制。当前处于 v9 评审期README 中的课程表仍在持续演化理解这份 CHANGELOG就是理解这套开源课程体系为什么是现在这个样子的最直接入口。赞分享教程文档知识库【免费下载链接】computer-science Path to a free self-taught education in Computer Science!项目地址https://gitcode.com/GitHub_Trending/co/computer-science点击查看免费下载相关推荐OSSU计算机科学课程系统性程序设计学习指南OSSU计算机科学课程系统性程序设计学习指南 引言为什么需要系统性程序设计学习 你是否曾经遇到过这样的困境学习了多种编程语言但在面对复杂问题时仍然无从教程文档知识库从配置到部署AIMNet2-wb97m-d3模型参数详解与最佳实践从配置到部署AIMNet2 wb97m d3模型参数详解与最佳实践 AIMNet2 wb97m d3是一款基于神经网络的原子间势模型专为快速准确的分子模拟设OSSU数据科学项目计算机科学入门课程解析OSSU数据科学项目计算机科学入门课程解析 课程概述 OSSU数据科学项目中的计算机科学入门课程是一套专为编程初学者设计的系统性学习方案。该课程由麻省理工学院教程数据科学创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表