# UCB CS161: Computer Security ## Descriptions - 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 - Course Website: - Recordings: refer to the course website - Textbooks: - Assignments: 7 online HWs + 3 Labs + 3 Projects ## Personal Resources All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/UCB-CS161 - GitHub](https://github.com/PKUFlyingPig/UCB-CS161).