Skip to content

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 Resources

Personal Resources

All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/UCB-CS161 - GitHub.