Beej's Guide to Learning Computer Science| #指南 #计算机科学

Beej系列的入门教程口碑都很好。最近新出了这本计算机科学学习指南,其中还包括了学习中应该如何使用AI的部分内容。

“我不会过多讨论如何编写代码。在这大约40页的内容中,我主要想谈的是:当你刚刚开始成为一名软件开发者时,该如何有效地学习。
尽管我很希望能准确了解每个人的学习方式,并把这些内容都压缩进这40页中,但坦白说,我做不到。

但我确实拥有40多年的编程经验(大学前自学起步),20年的行业经验,以及8年以上的教学经验。同时,我也拥有计算机科学的学士和硕士学位。并且,我对如何最有效地学习编程,有自己的见解!”
自学计算机科学,推荐从这九大核心科目入手,结合经典教材和优质视频课程,系统掌握基础知识,奠定扎实的技术根基 | #计算机科学

• 编程:《计算机程序的构造和解释》(SICP),配合 Brian Harvey 的 Berkeley CS 61A 课程,深入理解递归等核心概念,告别“似懂非懂”。

• 计算机系统结构:推荐《深入理解计算机系统》(CS:APP),辅以 Berkeley CS 61C,帮助你构建从硬件到软件的完整认知;入门者也可选《计算机系统要素》(Nand2Tetris),通过项目实操理解计算机内部协作机制。

• 算法与数据结构:《算法设计手册》是实用主义者的首选,Steven Skiena 的视频课程生动易懂;搭配 Leetcode 练习,提升实际问题解决能力。

• 数学基础:计算机科学离不开离散数学,首选 Lovász 的课程笔记及 MIT 的《计算机科学中的数学》视频课程,线性代数则推荐“Essence of Linear Algebra”系列和 Gilbert Strang 教授的经典教材。

• 操作系统:《操作系统导论》(OSTEP)免费且结构清晰,适合自学;后续可深入阅读 Unix、FreeBSD、Mac OS X 内核设计等专业书籍,实践可选 MIT 的 xv6 小型操作系统代码。

• 计算机网络:推荐《计算机网络:自顶向下方法》和 Stanford CS 144 课程,注重项目实操,理解网络协议和架构。

• 数据库:先看 Berkeley CS 186 课程录像,辅以“数据库红书”论文集,强化理论基础。推荐《数据库管理系统:原理与设计》作为入门教材,进一步可读 Jim Gray 的经典著作。实践建议自行实现简单关系数据库,理解底层机制。

• 编程语言与编译器:Bob Nystrom 的《Crafting Interpreters》活泼且系统,适合初学;经典“龙书”《编译原理》则适合有导师指导的深入学习。EdX 上 Alex Aiken 的课程是极佳配套资源。

• 分布式系统:Martin Kleppmann 的《数据密集型应用系统设计》为实用导向佳作,MIT 6.824 课程视频免费开放。建议结合阅读经典论文和参与社区(如 Papers We Love)加深理解。

如果时间有限,重点推荐《深入理解计算机系统》和《数据密集型应用系统设计》两本书,投入回报极高,特别适合自学工程师。

学习计算机科学,助你成为能够驾驭底层原理、解决复杂问题的工程师,而非仅会使用工具的“跟风者”。掌握基础,职业成长自然水到渠成。
这是计算机科学领域的经典宝藏库。

汇聚了《计算机程序设计艺术》系列的多部著作;提供了从基础算法到高级组合算法的全面学习资源;适合从新手到专家的各个阶段的学习者

The-Art-of-Computer-Programming-Books | #计算机科学
为计算机科学提供全面且深入的数学工具课程,帮助学生从基础到高级掌握数学在计算机领域的应用。

覆盖广泛主题,包括数论、图论、线性代数等10余个领域;提供丰富的学习资源,如课程大纲、视频讲解和课件;由知名教授David Rolnick亲自授课,课程内容严谨且实用

Mathematical Tools for Computer Science | Youtube | #计算机科学
带有视频讲座的计算机科学课程

通过这些课程,你可以获得从顶级大学和教育机构的专家直接传授的知识和技能。

一些主要领域的课程示例:

计算机科学入门:包括MIT、哈佛大学和斯坦福大学的课程。
数据结构和算法:涵盖了UC Berkeley、普林斯顿大学和MIT的课程。
系统编程:如CMU和Stanford的课程。
数据库系统:包括加州理工学院和UC Berkeley的课程。
软件工程:如UC Berkeley和康奈尔大学的课程。
人工智能和机器学习:包括哈佛大学、MIT和斯坦福大学的课程。

Computer Science courses with video lectures | #教程 #计算机科学
一种面向语义字体设计的技术,可以在保持词的可读性的同时,在视觉上传达词的意思,可以用大型预训练的语言-视觉模型实现自动化。

图文合一(Word-as-image) | #计算机科学
CSRankings:世界顶级计算机科学科研机构排名

排名旨在确定积极参与计算机科学多个领域研究的机构和教师。与《美国新闻与世界报道》完全基于调查的方法不同,该排名完全基于指标。它衡量的是教师在计算机科学每个领域最具选择性的会议上发表的出版物数量。

这种方法旨在难以博弈,因为在此类会议上发表通常很困难:将其与其他方法(如基于引文的指标)形成对比,这些方法已被反复证明易于操纵。也就是说,以某种形式纳入引文是一个长期目标。

该存储库包含用于构建计算机科学排名网站的所有代码和数据

托管地址 | repo | YouTube | #计算机科学
Media is too big
VIEW IN TELEGRAM
自学计算机科学

如果你是一个自学成才的工程师,或者从编程培训班毕业,那么你很有必要学习计算机科学。幸运的是,不必为此花上数年光阴和不菲费用去攻读一个学位:仅仅依靠自己,你就可以获得世界一流水平的教育💸

互联网上,到处都有许多的学习资源,然而精华与糟粕并存。你所需要的,不是一个诸如「200+ 免费在线课程」的清单,而是以下问题的答案:

你应当学习哪些科目,为什么?
对于这些科目,最好的书籍或者视频课程 是什么?
在这份指引中,我们尝试对这些问题做出确定的回答。

传送门 | Docs | #计算机科学
2022 年春季斯坦福计算机科学课程《CS 168:现代算法工具箱》。

课程地址 | #计算机科学
一份面向计算机科学基础及全栈开发、深度学习和自然语言处理的定制化计算机科学课程清单(学习资源集)

作者语:

作为一名拥有物理学背景的机器学习软件工程师,我觉得缺乏计算机科学学位是我长期成长的一个限制因素。为了正面解决这个问题,我利用我在网上找到的最佳资源为自己设计了这门课程,重点关注 CS 基础知识以及全栈开发、深度学习和自然语言处理。

有通用知识课程和项目课程。

通用知识课程用于将大脑中的知识索引到一个有组织的系统中。面对新问题时,至少知道要查找哪些相关信息。

项目课程是真正的学习过程。边做边学是学习的唯一途径。

如果你对这个课程的创建哲学感兴趣,我写了一篇关于它的文章:我如何设计自己的全栈ML工程学位

my-cs-degree | #计算机科学
机器学习&深度学习纲要(2017-2020),内容包括统计学、机器学习、深度学习、计算机科学、数据科学、深度视觉、NLP、云计算等领域的话题、链接和总结

GitBook | GitHub | Google Docs | #机器学习 #计算机科学
800+门计算机科学相关视频课程列表,包括人工智能、机器学习、深度学习等

cs-video-courses | #计算机科学
斯坦福大学2020-2021年计算机科学秋季课程表

传送门 | 精编表格版 | #计算机科学
顶级名校650多门计算机科学开放课程

传送门 | Github | #计算机科学
计算机科学/编程最具影响力书单

这些书被认为对StackOverflow 线程中的程序员最有影响力。

influential-cs-books | #计算机科学 #电子书
计算机科学资源集锦

作者语:

在学习计算机科学的过程中,我以书籍、论文、讲座视频、博客文章和播客的形式积累了重要领域的资源。我将它们用作参考(例如,每当我遇到相应领域的任务时)并研究了其中的一部分,但(因为我在大学学习物理和数学,而不是计算机科学)从未有机会深入研究它们。书签、书名和对 State-of-The-Art 知识参考的模糊回忆分散在我的 Goodreads、YouTube、Notion 列表中,直到我决定编制一个列表并一一浏览资源。我认为列举这些并获得出色工作的完整列表也可能对其他人有用。因为学习这些是一项严肃的工作,

与其他具有 CS 资源的列表不同,我的列表不关注列表阅读的特定功能(例如免费,如 ossu/计算机科学课程),也没有尝试成为“完整”课程。我将收藏分为两部分:

基础知识(下面的列表)是“经典”资源的“简短”列表,我有机会与之交谈的优秀工程师向我推荐最多。它专注于该领域最重要的战略概念,并努力对在该领域工作所需掌握的基础知识进行全面概述。
进一步阅读包含更多指向短博客文章的链接、来自互联网的文章、更具体的资源。此列表包含更多我在浏览互联网时发现并在某些时候发现有用的资源。

该系列的灵感也来自(并在某种程度上基于) erikgrinaker/readings

Computer Science Resources | #计算机科学
 
 
Back to Top