# UCB CS126 : Probability theory

## 课程简介

- 所属大学：UC Berkeley
- 先修要求：CS70、微积分、线性代数
- 编程语言：Python
- 课程难度：🌟🌟🌟🌟🌟
- 预计学时：100 小时

伯克利的概率论进阶课程，涉及到统计学、随机过程等理论相对深入的内容，需要相当的数学基础，我在上这门课的时候也感到有些吃力，不过坚持下来一定会让你对概率论的掌握达到一个新的高度。

同时这门课非常强调理论与实践的结合，课程设计者 Jean Walrand 教授专门写了一本配套的教材[Probability in Electrical Engineering and Computer Science](https://link.springer.com/book/10.1007/978-3-030-49995-2)，书中每个章节都会以一个具体的算法实践作为例子来展示理论在实际当中的运用，例如 PageRank, Route Planing, Speech Recognition 等等，并且全书开源，可以免费下载 PDF 或者 Epub 版。

这还不算完，Jean Walrand 还为整本书里的例子设计了配套的 Python 实现，以 [Jupyter Notebook](https://jeanwalrand.github.io/PeecsJB/intro.html) 的形式在线发布，读者可以在线修改、调试和运行。

与此同时，这门课除了理论作业之外，还有 9 个编程作业，会让你用概率论的知识解决实际问题。

## 课程资源

- 课程网站：<https://inst.eecs.berkeley.edu/~ee126/fa20/content.html>
- 课程教材：[PDF], [Epub], [Jupyter Notebook][Jupyter_Notebook]
- 课程作业：14 个书面作业 + 9 个编程作业，具体要求参见课程网站。

[PDF]: https://link.springer.com/content/pdf/10.1007%2F978-3-030-49995-2.pdf
[Epub]: https://link.springer.com/download/epub/10.1007%2F978-3-030-49995-2.epub
[Jupyter_Notebook]: https://jeanwalrand.github.io/PeecsJB/intro.html

## 资源汇总

@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 [PKUFlyingPig/EECS126 - GitHub](https://github.com/PKUFlyingPig/EECS126) 中。
