xiaofu OS

A SMALL MAP TO A BIG WORLD ✦

计算机自学指南

按自己的节奏,学习课程、梳理知识、记录进度。

136 篇指南 · 115 门课程

从使用指南开始 → 阅读学习规划 →

文本快照 2c591834a1e4 · 本站原生静态阅读,无需实时连接 GitHub。图片、教材和视频保留原资源链接。

✦ 我的学习路径

以下是 Xiaofu OS 提供的一条可调整的探索顺序,不代表上游规定的必修或先修关系。课程先修要求以原文为准。

尚无本地学习记录。

找到下一门好课

共 136 篇指南

收藏与进度仅存在当前浏览器,不会同步到账号;清除浏览器数据后会丢失。

导读与规划

前言

导读与规划

如何使用这本书

必学工具

翻墙

必学工具

Vim

必学工具

Emacs

必学工具

Git

必学工具

GitHub

必学工具

GNU Make

必学工具

CMake

必学工具

LaTeX

必学工具

Docker

必学工具

Scoop

必学工具

日常学习工作流

必学工具

实用工具箱

必学工具

毕业论文

必学工具

信息检索

导读与规划

好书推荐

数学基础

MIT18.01/18.02: Calculus

先修要求:英语

数学基础

MIT18.06: Linear Algebra

先修要求:英文

数学进阶

UCB CS126: probability theory

先修要求:CS70、微积分、线性代数

数学进阶

Standford EE364A: Convex Optimization

先修要求:Python,微积分,线性代数,概率论,数值分析

编程入门

MIT-Missing-Semester

先修要求:无

编程入门

Sysadmin DeCal

先修要求:无

编程入门 / C 语言

Harvard CS50: This is CS50x

先修要求:无

编程入门 / C++ 语言

Stanford CS106L: Standard C++ Programming

先修要求:最好掌握至少一门编程语言

编程入门 / C++ 语言

Stanford CS106B/X

先修要求:计算机基础 (CS50/CS106A/CS61A or equivalent)

编程入门 / Rust 语言

Stanford CS110L: Safety in Systems Programming

先修要求:最好有一定的编程背景并对计算机系统有初步的认识。

编程入门 / Rust 语言

KAIST CS220: Programming Principles

先修要求:其他任何一门编程语言

编程入门 / Rust 语言

KAIST CS431: Concurrent Programming

先修要求:Rust 编程基础与对并发的初步了解

编程入门 / 函数式语言

Haskell MOOC

先修要求:无

电子基础

UCB EE120 : Signal and Systems

先修要求:CS61A, CS70,微积分,线性代数

电子基础

MIT 6.007 Signals and Systems

先修要求:Calculus, Linear Algebra

数据结构与算法

Coursera: Algorithms I & II

先修要求:CS61A

数据结构与算法

MIT 6.006: Introduction to Algorithms

先修要求:计算机导论(CS50/CS61A or equivalent)

数据结构与算法

MIT 6.046: Design and Analysis of Algorithms

先修要求:算法入门(6.006/CS61B/CS106B/CS106X or equivalent)

软件工程

MIT 6.031: Software Construction

先修要求:掌握至少一门编程语言

软件工程

UCB CS169: software engineering

先修要求:无

软件工程

CMU 17-803: Empirical Methods

先修要求:面向从事软件工程实证研究的博士生开设,虽然没有硬性先修要求但最好有一定的计算机基础

计算机系统基础

CMU 15-213: CSAPP

先修要求:CS61A, CS61B

体系结构

Coursera: Nand2Tetris

先修要求:无

体系结构

ETHz: Computer Architecture

先修要求:[DDCA](https://csdiy.wiki/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/)

操作系统

HIT OS: Operating System

先修要求:C 语言

并行与分布式系统

MIT 6.5840 (6.824): Distributed System

先修要求:计算机体系结构,并行编程

计算机系统安全

UCB CS161: Computer Security

先修要求:CS61A, CS61B, CS61C

计算机系统安全

MIT 6.1600: Foundations of Computer Security

先修要求:离散数学,编程基础,计算机系统基础

计算机系统安全

MIT 6.858: Computer System Security

先修要求:计算机体系结构,对计算机系统有初步了解

计算机系统安全

SU SEED Labs

先修要求:无

计算机网络

Stanford CS144: Computer Network

先修要求:一定的计算机系统基础,CS106L

数据库系统

CMU 15-445: Database Systems

先修要求:C++,数据结构与算法,CMU 15-213 (A.K.A. CS:APP,这也是 CMU 内部对每年 Enroll 同学的先修要求)

编译原理

PKU 编译原理实践

先修要求:计算机系统基础、数据结构与算法、编程基础

编译原理

Stanford CS143: Compilers

先修要求:计算机体系结构

编译原理

NJU 编译原理

先修要求:离散数学

编译原理

KAIST CS420: Compiler Design

先修要求:数据结构、计算机系统基础、Rust 编程基础

编译原理

USTC 编译原理与技术

先修要求:数据结构、计算机系统基础、C++ 编程基础

编译原理

SJTU 编译原理

先修要求:计算机系统基础、数据结构与算法、编程基础

编程语言设计与分析

Stanford CS242: Programming Languages

先修要求:对计算机系统和编程语言理论有初步了解

编程语言设计与分析

NJU 软件分析

先修要求:数据结构与算法,至少熟悉一门编程语言

编程语言设计与分析

PKU 软件分析

先修要求:数据结构与算法,至少熟悉一门编程语言

计算机图形学

GAMES101

先修要求:线性代数,高等数学,C++

计算机图形学

GAMES202

先修要求:线性代数,高等数学,C++,GAMES101

计算机图形学

GAMES103

先修要求:线性代数,高等数学,大学物理,编程能力,基本图形知识

计算机图形学

Stanford CS148

先修要求:线性代数,高等数学,Python

计算机图形学

CMU 15-462

先修要求:基础的向量微积分和线性代数 , 基础的 C/C++ 编程能力。

计算机图形学

USTC CG

先修要求:微积分,线性代数,C/C++编程,数据结构

Web开发

MIT web development course

先修要求:掌握至少一门编程语言

Web开发

Stanford CS142: Web Applications

先修要求:有一定的编程经验

Web开发

University of Helsinki: Full Stack open 2022

先修要求:具备良好的编程技能、基本的网络编程和数据库知识,并且了解使用 Git 这个版本控制系统的基础知识。

Web开发

CS571 Building UI (React & React Native)

先修要求:CS400(高级 Java,但个人觉得先修不必要,掌握至少一门编程语言即可)

机器学习

Coursera: Machine Learning

先修要求:AI 入门 + 熟练使用 Python

机器学习

Stanford CS229: Machine Learning

先修要求:高数,概率论,Python,需要较深厚的数学功底

机器学习系统

CMU 15-442/642: Machine Learning Systems

先修要求:系统入门(eg.15-213)、深度学习入门、基本的数学知识

机器学习系统

智能计算系统

先修要求:体系结构,深度学习

机器学习系统

CMU 10-414/714: Deep Learning Systems

先修要求:系统入门(eg.15-213)、深度学习入门、基本的数学知识

机器学习系统

Machine Learning Compilation

先修要求:机器学习/深度学习基础

机器学习系统

UCSD CSE234: Data Systems for Machine Learning

先修要求:线性代数,深度学习,操作系统,计算机网络,分布式系统

深度学习

Coursera: Deep Learning

先修要求:机器学习基础 + Python

深度学习

CMU 11-785: Introduction to Deep Learning

先修要求:线性代数、概率论、Python 编程、机器学习基础

深度学习

MIT 6.7960: Deep Learning

先修要求:线性代数、概率统计、机器学习基础

深度生成模型

学习路线图

深度生成模型 / 大语言模型

CMU 11-868: Large Language Model System

先修要求:强烈建议已修读 Deep Learning (11785) 或 Advanced NLP (11-611 或 11-711)

深度生成模型 / 大语言模型

CMU 11-667: Large Language Models: Methods and Applications

先修要求:具备机器学习基础(相当于 CMU 的 10-301/10-601)和自然语言处理基础(相当于 11-411/11-611);熟练掌握 Python,熟悉 PyTorch 等深度学习框架。

机器学习进阶

学习路线图

机器学习进阶

CMU 10-708: Probabilistic Graphical Models

先修要求:Machine Learning, Deep Learning, Reinforcement Learning

机器学习进阶

Columbia STAT 8201: Deep Generative Models

先修要求:Machine Learning, Deep Learning, Graphical Models

导读与规划

后记

深度生成模型 / 大语言模型

CMU 15-779: Advanced Topics in Machine Learning Systems (LLM Edition)

先修要求:无硬性先修要求;建议具备机器学习入门与深度学习训练经验,熟悉 PyTorch;了解 CUDA/GPU 基础会显著提升学习效率