UCB CS161: Computer Security
- Offered by: UC Berkeley
- Prerequisites: CS61A, CS61B, CS61C
- Programming Languages: C, Go
- Difficulty: 🌟🌟🌟🌟🌟
- Class Hour: 150 Hours
Computer Security course from UC Berkeley, devided into 5 parts:
- Security principles: how to design a secure system
- Memory safety: buffer overflow attack
- Cryptography: symmetric encryption, asymmetric encryption, MAC, digital signature .........
- Web: SQL-injection, XSS, XSRF .......
- Networking: attacks for each layer
The most impressive part to me is Project2, which requires you to design and implement a secure file sharing system in Go. It took me three full days to complete this extremely difficult project, with over 3 thousand lines of code. Such an intensive development experience can greatly enhance your ability to design and implement a secure system.
In 2020 summer semester, the lecture recordings are posted publicly, which can be found in the links below.
- Course Website: https://su20.cs161.org/
- Recordings: refer to the course website
- Textbooks: https://textbook.cs161.org/
- Assignments: 7 online HWs + 3 Labs + 3 Projects
All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-CS161 - GitHub.