site_name: CS自学指南
site_url: https://csdiy.wiki/
site_author: PKUFlyingPig
site_description: >-
  CS自学指南

repo_name: cs-self-learning
repo_url: https://github.com/pkuflyingpig/cs-self-learning/

copyright: Copyright &copy; 2021-present <a href="https://github.com/PKUFlyingPig" target="_blank" rel="noopener noreferrer">PKUFlyingPig</a>

theme:
  name: material
  language: zh
  static_templates:
    - 404.html
  favicon: images/favicon.ico
  apple-touch-icon-precomposed: images/mobile_icon.png
  include_search_page: false
  search_index_only: true

  features:
    - header.autohide
    - navigation.tracking
    - navigation.top
    - search.highlight
    - search.share
    - search.suggest
    - content.code.annotate

  palette:
    - media: "(prefers-color-scheme: light)"
      scheme: default
      primary: light blue
      accent: deep purple
      toggle:
        icon: material/weather-sunny
        name: Switch to dark mode
    - media: "(prefers-color-scheme: dark)"
      scheme: slate
      primary: cyan
      accent: deep purple
      toggle:
        icon: material/weather-night
        name: Switch to light mode

  font:
    text: Roboto Slab
    code: Roboto Mono
  icon:
    repo: fontawesome/brands/github

  custom_dir: overrides

markdown_extensions:
  - attr_list
  - md_in_html
  - footnotes

plugins:
  - i18n:
      languages:
        - locale: zh
          default: true
          name: 简体中文
          build: true
        - locale: en
          name: English
          build: true
          site_name: csdiy.wiki
          nav_translations:
            前言: Foreword
            如何使用这本书: How To Use The Book
            一个仅供参考的CS学习规划: Guideline
            必学工具: Productivity Toolkit
            翻墙: GFW
            日常学习工作流: Notes Workflow
            实用工具箱: Useful Tools
            毕业论文: Thesis Writing
            信息检索: Information Retrieval
            好书推荐: Book Recommendation
            数学基础: Fundamental Mathematics
            数学进阶: Advanced Mathematics
            编程入门: Fundamental Programming
            Python 语言: Python Language
            Java 语言: Java Language
            C 语言: C Language
            C++ 语言: C++ Language
            Rust 语言: Rust Language
            函数式语言: Functional Programming
            电子基础: Fundamental Electronics
            数据结构与算法: Data Structures and Algorithms
            软件工程: Software Engineering
            计算机系统基础: Computer Systems Principles
            体系结构: Computer Architecture
            操作系统: Operating Systems
            并行与分布式系统: Distributed Systems
            计算机系统安全: Computer Security
            计算机网络: Computer Networking
            数据库系统: Database Systems
            编译原理: Compilers
            编程语言设计与分析: Programming Language Design and Analysis
            NJU 软件分析: NJU Software Analysis
            PKU 软件分析: PKU Software Analysis
            程序语言设计: Programming Language
            计算机图形学: Computer Graphics
            Web开发: Web Development
            数据科学: Data Science
            人工智能: Artificial Intelligence
            机器学习: Machine Learning
            机器学习系统: Machine Learning Systems
            智能计算系统: Intelligent Computing Systems
            深度学习: Deep Learning
            "国立台湾大学: 李宏毅机器学习": NTU Machine Learning
            机器学习进阶: Advanced Machine Learning
            进阶路线图: Roadmap
            后记: Postscript
  - search:
      lang:
        - zh
        - en
  - git-revision-date:
  - minify:
      minify_html: true
  - open-in-new-tab:

extra:
  social:
    - icon: fontawesome/brands/github
      link: https://github.com/pkuflyingpig/cs-self-learning/
  analytics:
    provider: google
    property: G-KJB4RXSKZG

nav:
  - 前言: "index.md"
  - 如何使用这本书: "使用指南.md"
  - 一个仅供参考的CS学习规划: "CS学习规划.md"
  - 必学工具:
      - 翻墙: "必学工具/翻墙.md"
      - Vim: "必学工具/Vim.md"
      - Emacs: "必学工具/Emacs.md"
      - Git: "必学工具/Git.md"
      - GitHub: "必学工具/GitHub.md"
      - "GNU Make": "必学工具/GNU_Make.md"
      - CMake: "必学工具/CMake.md"
      - LaTeX: "必学工具/LaTeX.md"
      - Docker: "必学工具/Docker.md"
      - Scoop: "必学工具/Scoop.md"
      - 日常学习工作流: "必学工具/workflow.md"
      - 实用工具箱: "必学工具/tools.md"
      - 毕业论文: "必学工具/thesis.md"
      - 信息检索: "必学工具/信息检索.md"
  - 好书推荐: "好书推荐.md"
  - 数学基础:
      - "MIT18.01/18.02: Calculus": "数学基础/MITmaths.md"
      - "MIT18.06: Linear Algebra": "数学基础/MITLA.md"
      - "MIT6.050J: Information theory and Entropy": "数学基础/information.md"
  - 数学进阶:
      - "UCB CS70: discrete Math and probability theory": "数学进阶/CS70.md"
      - "UCB CS126: probability theory": "数学进阶/CS126.md"
      - "MIT 6.042J: Mathematics for Computer Science": "数学进阶/6.042J.md"
      - "MIT18.330: Introduction to numerical analysis": "数学进阶/numerical.md"
      - "Standford EE364A: Convex Optimization": "数学进阶/convex.md"
      - "The Information Theory, Pattern Recognition, and Neural Networks": "数学进阶/The_Information_Theory_Pattern_Recognition_and_Neural_Networks.md"
  - 编程入门:
      - "MIT-Missing-Semester": "编程入门/MIT-Missing-Semester.md"
      - "Sysadmin DeCal": "编程入门/DeCal.md"
      - Python 语言:
        - "UCB CS61A: Structure and Interpretation of Computer Programs": "编程入门/Python/CS61A.md"
        - "CS50P: CS50's Introduction to Programming with Python": "编程入门/Python/CS50P.md"
        - "MIT6.100L: Introduction to CS and Programming using Python": "编程入门/Python/MIT6.100L.md"
      - C 语言:
        - "Harvard CS50: This is CS50x": "编程入门/C/CS50.md"
        - "Duke University: Introductory C Programming Specialization": "编程入门/C/Duke-Coursera-Intro-C.md"
      - C++ 语言:
        - "AmirKabir University of Technology AP1400-2: Advanced Programming": "编程入门/cpp/AUT1400.md"
        - "Stanford CS106L: Standard C++ Programming": "编程入门/cpp/CS106L.md"
        - "Stanford CS106B/X": "编程入门/cpp/CS106B_CS106X.md"
      - Java 语言:
        - "MIT 6.092: Introduction To Programming In Java": "编程入门/Java/MIT 6.092.md"
      - Rust 语言:
        - "Stanford CS110L: Safety in Systems Programming": "编程入门/Rust/CS110L.md"
        - "KAIST CS220: Programming Principles": "编程入门/Rust/cs220.md"
        - "KAIST CS431: Concurrent Programming": "编程入门/Rust/cs431.md"
      - 函数式语言:
        - "Cornell CS3110: OCaml Programming Correct + Efficient + Beautiful": "编程入门/Functional/CS3110.md"
        - "Haskell MOOC": "编程入门/Functional/Haskell-MOOC.md"
  - 电子基础:
      - "EE16A&B: Designing Information Devices and Systems I&II": "电子基础/EE16.md"
      - "UCB EE120 : Signal and Systems": "电子基础/signal.md"
      - "MIT 6.007 Signals and Systems": "电子基础/Signals_and_Systems_AVO.md"
  - 数据结构与算法:
      - "UCB CS61B: Data Structures and Algorithms": "数据结构与算法/CS61B.md"
      - "Coursera: Algorithms I & II": "数据结构与算法/Algo.md"
      - "MIT 6.006: Introduction to Algorithms": "数据结构与算法/6.006.md"
      - "MIT 6.046: Design and Analysis of Algorithms": "数据结构与算法/6.046.md"
      - "UCB CS170: Efficient Algorithms and Intractable Problems": "数据结构与算法/CS170.md"
  - 软件工程:
      - "MIT 6.031: Software Construction": "软件工程/6031.md"
      - "UCB CS169: software engineering": "软件工程/CS169.md"
      - "CMU 17-803: Empirical Methods": "软件工程/17803.md"
  - 计算机系统基础:
      - "CMU 15-213: CSAPP": "计算机系统基础/CSAPP.md"
      - "Stanford CS110: Principles of Computer Systems": "计算机系统基础/CS110.md"
  - 体系结构:
      - "Coursera: Nand2Tetris": "体系结构/N2T.md"
      - "UCB CS61C: Great Ideas in Computer Architecture": "体系结构/CS61C.md"
      - "ETHz: Digital Design and Computer Architecture": "体系结构/DDCA.md"
      - "ETHz: Computer Architecture": "体系结构/CA.md"
  - 操作系统:
      - "MIT 6.S081: Operating System Engineering": "操作系统/MIT6.S081.md"
      - "UCB CS162: Operating System": "操作系统/CS162.md"
      - "NJU OS: Operating System Design and Implementation": "操作系统/NJUOS.md"
      - "HIT OS: Operating System": "操作系统/HITOS.md"
  - 并行与分布式系统:
      - "CMU 15-418/Stanford CS149: Parallel Computing": "并行与分布式系统/CS149.md"
      - "MIT 6.824: Distributed System": "并行与分布式系统/MIT6.824.md"
  - 计算机系统安全:
      - "UCB CS161: Computer Security": "系统安全/CS161.md"
      - "MIT 6.1600: Foundations of Computer Security": "系统安全/MIT6.1600.md"
      - "MIT 6.858: Computer System Security": "系统安全/MIT6.858.md"
      - "ASU CSE365: Introduction to Cybersecurity": "系统安全/CSE365.md"
      - "ASU CSE466: Computer Systems Security": "系统安全/CSE466.md"
      - "SU SEED Labs": "系统安全/SEEDLabs.md"
  - 计算机网络:
      - "USTC Computer Networking:A Top-Down Approach": "计算机网络/topdown_ustc.md"
      - "Computer Networking: A Top-Down Approach": "计算机网络/topdown.md"
      - "Stanford CS144: Computer Network": "计算机网络/CS144.md"
  - 数据库系统:
      - "UCB CS186: Introduction to Database System": "数据库系统/CS186.md"
      - "CMU 15-445: Database Systems": "数据库系统/15445.md"
      - "Caltech CS122: Database System Implementation": "数据库系统/CS122.md"
      - "Stanford CS346: Database System Implementation": "数据库系统/CS346.md"
      - "CMU 15-799: Special Topics in Database Systems": "数据库系统/15799.md"
  - 编译原理:
      - "PKU 编译原理实践": "编译原理/PKU-Compilers.md"
      - "Stanford CS143: Compilers": "编译原理/CS143.md"
      - "NJU 编译原理": "编译原理/NJU-Compilers.md"
      - "KAIST CS420: Compiler Design": "编译原理/CS420.md"
      - "USTC 编译原理与技术": "编译原理/USTC-Compilers.md"
  - 编程语言设计与分析:
      - "Stanford CS242: Programming Languages": "编程语言设计与分析/CS242.md"
      - "NJU 软件分析": "编程语言设计与分析/NJU-SoftwareAnalysis.md"
      - "PKU 软件分析": "编程语言设计与分析/PKU-SoftwareAnalysis.md"
      - "Cambridge: Semantics of Programming Languages": "编程语言设计与分析/Cambridge-Semantics.md"
  - 计算机图形学:
      - "GAMES101": "计算机图形学/GAMES101.md"
      - "GAMES202": "计算机图形学/GAMES202.md"
      - "GAMES103": "计算机图形学/GAMES103.md"
      - "Stanford CS148": "计算机图形学/CS148.md"
      - "CMU 15-462": "计算机图形学/15462.md"
      - "USTC CG": "计算机图形学/USTC ComputerGraphics.md"
  - Web开发:
      - "MIT web development course": "Web开发/mitweb.md"
      - "Stanford CS142: Web Applications": "Web开发/CS142.md"
      - "University of Helsinki: Full Stack open 2022": "Web开发/fullstackopen.md"
      - "CS571 Building UI (React & React Native)": "Web开发/CS571.md"
  - 数据科学:
      - "UCB Data100: Principles and Techniques of Data Science": "数据科学/Data100.md"
  - 人工智能:
      - "Harvard CS50's Introduction to AI with Python": "人工智能/CS50.md"
      - "UCB CS188: Introduction to Artificial Intelligence": "人工智能/CS188.md"
  - 机器学习:
      - "Coursera: Machine Learning": "机器学习/ML.md"
      - "Stanford CS229: Machine Learning": "机器学习/CS229.md"
      - "UCB CS189: Introduction to Machine Learning": "机器学习/CS189.md"
  - 机器学习系统:
      - "智能计算系统": "机器学习系统/AICS.md"
      - "CMU 10-414/714: Deep Learning Systems": "机器学习系统/CMU10-414.md"
      - "MIT6.5940: TinyML and Efficient Deep Learning Computing": "机器学习系统/EML.md"
      - "Machine Learning Compilation": "机器学习系统/MLC.md"
  - 深度学习:
      - "Coursera: Deep Learning": "深度学习/CS230.md"
      - "国立台湾大学: 李宏毅机器学习": "深度学习/LHY.md"
      - "UMich EECS 498-007 / 598-005: Deep Learning for Computer Vision": "深度学习/EECS498-007.md"
      - "Stanford CS231n: CNN for Visual Recognition": "深度学习/CS231.md"
      - "Stanford CS224n: Natural Language Processing": "深度学习/CS224n.md"
      - "Stanford CS224w: Machine Learning with Graphs": "深度学习/CS224w.md"
      - "UCB CS285: Deep Reinforcement Learning": "深度学习/CS285.md"
  - 机器学习进阶:
      - "进阶路线图": "机器学习进阶/roadmap.md"
      - "CMU 10-708: Probabilistic Graphical Models": "机器学习进阶/CMU10-708.md"
      - "Columbia STAT 8201: Deep Generative Models": "机器学习进阶/STAT8201.md"
      - "U Toronto STA 4273 Winter 2021: Minimizing Expectations": "机器学习进阶/STA4273.md"
      - "Stanford STATS214 / CS229M: Machine Learning Theory": "机器学习进阶/CS229M.md"
  - 后记: "后记.md"
