工具与资源github.com编辑精选
开源社会大学:免费自学计算机科学的路线图
Open Source Society University – Path to a free self-taught education in CS
2017 — 2025,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
OSSU 是一个 GitHub 上的开源计算机科学课程体系,汇集免费在线课程,目标是让人不进大学也能接受完整的 CS 教育,内容覆盖从入门到进阶的核心科目。该项目多年来多次登上 Hacker News 首页,是自学 CS 领域最知名的资源之一。
为什么经久不衰:它把分散的免费课程整理成接近大学本科的完整路径,且持续维护多年,对想系统自学 CS 的人始终是高性价比的起点。
HN 评论精选
自学课程无法替代大学教育的深度和广度,为就业而学的人不应高估它
作为一个自学出身的辍学者,说这话有点虚伪,但我越来越不喜欢这类“自学编程”项目。把知识压缩成精简课程是有局限的——大学要读四年是有原因的,基础需要时间沉淀,那些看似“无用”的课(比如我当年讨厌的哲学课)其实对逻辑思维和职业判断帮助很大。如果只是兴趣学习,这些课程很好;但如果是为找工作,别把它当成大学的替代品,自学系统往往需要比大学更多的自律和投入。
tombert查看英文原文
This is a bit hypocritical coming from a self-taught dropout, but I have kind of grown to dislike a lot of these "learn programming on your own!" things/bootcamps/courses. This isn't because of some idea that it's bad to learn programming for fun, but more that I think it's kind of reductive to try and squeeze things down to a streamlined lesson to begin with...There's a reason college takes four or more years; it takes a long time for these fundamentals to really sink in, and moreover, a lot of the "extra" classes you're required to take actually do inform your perspective on a lot of career stuff. For example, I hated taking philosophy classes and thought they were "pointless", but I recently realized how much they have helped me with logical thinking, and being able to justify decisions I'm forced to make. If you're learning to code just for fun, these things are totally fine and can be incredibly fun, but if you're learning to code for a job, please don't treat these things as an "alternative" to college. Any kind of self-learning system almost universally requires a huge amount of self-study, probably more than a university, if you want to become any good at this stuff.
程序员可分为拼装者、工程师和科学家三个层次,不同课程体系培养的目标不同
从我的经历看,写程序的人大致分三类:'coder'像厨师,主要拼装现成代码和第三方库,快速出货;'engineer'能在系统层面构建,也能从第一性原理分析问题根源;'scientist'则思考计算本质,会用不同方式重写算法来理解不同架构的执行差异。
ChuckMcM查看英文原文
As someone who has lived through a big chunk of the 'computer science' lifecycle arc :-) My perspective is a bit different here. "Programming", or the skill of writing specifications that can be translated via software into product has come a long way from the 60's to the present day. People I meet, interview, and work with, often fall into three broad chunks of the spectrum. At one end there are 'coders', who are essentially cooks, they take previously written code, adapt it to their requirements, attach it to third party libraries and ship the end result. They have been essential to the boom in Internet companies for decades because they ship a lot of code and they are relatively inexpensive (with respect to the expected generated revenue) to hire. When their code doesn't work as they expect they generally iterate on it using other suggested solutions until they arrive at one that operates the way they need/want it to. In the middle are 'engineers' who build more at the system level and can fill in the gaps with third party software when needed but are also fully capable of generating the required capability starting with a blank screen. When the system doesn't work they expect they can analyze it from first principles to get to the root cause of the problem. At the other end are 'scientists' who think about the problems of the nature of computing. These folks rewrite an algorithm in three different ways to understand how different compute architectures might execute it. Driven by the joy of discovering new insights about how computers work, if something they build doesn't work they are delighted because it has illuminated a gap in their understanding that can be productively filled. Different educational settings are useful for addressing the goals of the student, and in my experience those goals will be different depending on where on the spectrum of 'programmer' they see themselves.
OSSU 课程冗长且质量不一,推荐更精炼的 teachyourselfcs.com 作为替代
这里有些课程不错,但整体偏长且质量参差不齐。作为替代,可以看 Bradfield 团队做的 https://teachyourselfcs.com/,它更聚焦于 CS 核心概念。
jamestimmins查看英文原文
This has some good courses, but in general seems overly long and is of inconsistent quality. As an alternative, https://teachyourselfcs.com/ is a curriculum from the folks at Bradfield, but it's narrowly focused on core CS concepts/topics.
自学最大的障碍不是学知识,而是如何获得雇主的信任和面试机会
正规 CS 学位的最大优势之一,是雇主更愿意相信你确实具备所声称的技能。如果完全自学,即使认真学完了 OSSU 这类课程,如何让雇主相信你真的会?面试表现好当然有用,但首先得有机会走到面试那一步。
jlevers查看英文原文
It seems to me that one of the biggest advantages of having a CS degree from an actual institution is that prospective employers are far more likely to believe that you actually have the skills you say you do. If you're self-taught, but have truly gone through something like OSSU (or [https://teachyourselfcs.com/](https://teachyourselfcs.com/), or any other set of courses that covers much of what a CS degree would), how do you convince employers that you actually know what you say you know? Sure, you can perform well in the interview, but first you have to make it that far.
历次讨论
同类还值得读
直接在浏览器中启动 Linux 内核
Boot a linux kernel right inside your browser.
Fabrice Bellard 的 JSLinux 页面,用 JavaScript 在浏览器里启动一个 Linux 内核,并提供一个可交互的终端环境。
工具与资源上首页 5 次 · 2011–2025bellard.orgHacker News 未公开功能与行为清单(2018)
A List of Hacker News's Undocumented Features and Behaviors (2018)
数据科学家 Max Woolf 整理的 Hacker News 未公开功能与行为清单,涵盖投票机制、排名算法、账号惩罚等社区运作细节。
工具与资源上首页 5 次 · 2019–2025github.comMapSCII:在终端中用盲文和 ASCII 渲染地图
MapSCII – Braille and ASCII map renderer for the console
MapSCII 是一个在命令行终端里渲染地图的开源工具,用盲文字符和 ASCII 字符把地理数据画成可交互浏览的字符地图。
工具与资源上首页 5 次 · 2017–2025github.com顶尖大学的免费在线课程
Free Online Courses from Top Universities
Open Culture 整理的一份免费在线课程合集,汇集了全球顶尖大学(如 MIT、斯坦福、耶鲁等)向公众开放的网络课程资源,涵盖音频、视频等多种形式。
工具与资源上首页 5 次 · 2010–2022openculture.com淘气字符串:容易引发用户输入问题的字符串清单
Naughty Strings: A list of strings likely to cause issues as user-input data
一个 GitHub 仓库,收录了大量容易让程序出问题的用户输入字符串,如特殊字符、emoji、SQL 注入片段、系统命令等,供开发者用于测试输入处理逻辑。
工具与资源上首页 4 次 · 2015–2020github.com