# UCB CS126 : Probability theory

## Descriptions

- Offered by: UC Berkeley
- Prerequisites: CS70, Calculus, Linear Algebra
- Programming Languages: Python
- Difficulty: 🌟🌟🌟🌟🌟
- Class Hour: 100 hours

This is Berkeley's advanced probability course, which involves relatively advanced theoretical content such as statistics and stochastic processes, so a solid mathematical foundation is required. But as long as you stick with it you will certainly take your mastery of probability theory to a new level.

The course is designed by Professor Jean Walrand, who has written an accompanying textbook, [Probability in Electrical Engineering and Computer Science](https://link.springer.com/book/10.1007/978-3-030-49995-2), in which each chapter uses a specific algorithm as a practical example to demonstrate the application of theory in practice. Such as PageRank, Route Planing, Speech Recognition, etc. The book is open source and can be downloaded as a free PDF or Epub version.

Jean Walrand has also created accompanying Python implementations of the examples throughout the book, which are published online as [Jupyter Notebook](https://jeanwalrand.github.io/PeecsJB/intro.html) that readers can modify, debug and run them online interactively.

In addition to the Homework, nine Labs will allow you to use probability theory to solve practical problems in Python.

## Course Resources

- Course Website: <https://inst.eecs.berkeley.edu/~ee126/fa20/content.html>
- Textbook: [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)
- Assignments: refer to the course website.

## Personal Resources

All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/EECS126 - GitHub](https://github.com/PKUFlyingPig/EECS126)
