计算机基础 (Computer Science Fundamentals)
这里汇集了计算机科学的基础课程,包括理论基础、编程入门和编程语言学习。
模块导航
离散数学 (Discrete Mathematics)
基于 UCB CS70: Discrete Mathematics and Probability Theory
这门课并非传统的离散数学,而是离散数学与概率论的深度结合。它不仅教授数学证明的技巧,更着重于如何用数学语言描述计算机系统中的核心问题(如密码学、纠错码、负载均衡等)。
- 核心内容:
- 逻辑与证明:命题逻辑、一阶逻辑、数学归纳法、稳定匹配问题
- 图论:图的基本性质、欧拉回路、超立方体
- 数论与应用:模运算、RSA 加密算法、多项式插值、纠错码 (Error Correction)
- 可计算性:对角线论证、停机问题
- 概率论:离散概率空间、贝叶斯定理、随机变量、期望与方差、马尔可夫链
- 👉 进入学习笔记
程序构造 (CS61A)
Structure and Interpretation of Computer Programs
基于经典教材 SICP 的现代化改编,使用 Python 教授编程的本质。
- 核心内容:函数式编程、高阶函数、递归、数据抽象、解释器设计
- 编程语言:Python, Scheme
- 👉 进入学习笔记
数据结构与算法 (CS61B)
Data Structures
深入学习数据结构与算法,使用 Java 实现各种经典数据结构。
- 核心内容:链表、树、图、哈希表、优先队列、排序算法
- 编程语言:Java
- 👉 进入学习笔记
Python 编程
Python 学习笔记
Python 语言的系统性学习,从入门到数据分析。
- 核心内容:Python 基础语法、数据分析工具链
- 👉 进入学习笔记
💡 学习建议
建议按以下顺序学习:
- 离散数学 - 打下数学基础
- CS61A - 学习编程思维
- CS61B - 掌握数据结构与算法
- Python - 根据需要补充实用技能