跳转至

编程入门

编程入门面向没有编程基础或想换语言的同学:Python(数据处理 / ML 框架 / 脚本)、C/C++(硬件仿真器 / EDA 工具 / 系统编程)、Rust(现代系统编程)。

对 IC 学生来说,Python 和 C++ 是最高优先级:Python 几乎是所有 ML/数据处理工作的默认语言;C++ 是大型 EDA 工具(Yosys、OpenROAD)、体系结构仿真器(Gem5、GPGPU-Sim)的实现语言。

graph LR
    classDef intro fill:#EFF6FF,stroke:#3B82F6,color:#1D4ED8
    classDef intermediate fill:#F0FDF4,stroke:#16A34A,color:#15803D
    classDef advanced fill:#F8FAFC,stroke:#64748B,color:#334155
    classDef tool fill:#FFF7ED,stroke:#EA580C,color:#9A3412
    MIT["MIT Missing Semester"]:::tool
    Python["Python"]:::intro
    C["C"]:::intro
    Cpp["C++"]:::intermediate
    Rust["Rust"]:::advanced
    MIT --> Python
    MIT --> C
    C --> Cpp
    Cpp --> Rust
    C --> Rust

子目录

  • Python 语言 — UCB CS61A、Harvard CS50P、MIT 6.100L
  • C 语言 — Harvard CS50、Duke C Programming
  • C++ 语言 — Stanford CS106L/B/X、侯捷系列
  • Rust 语言 — Stanford CS110L、令狐/杨旭中文系列

相关科研方向

任何方向都需要的基础。具体偏好: - AI / 算法研究 → Python(PyTorch / JAX 生态) - EDA 工具 / 硬件仿真器 → C++ - 系统 / 区块链 / 高性能 → Rust