Spring 2022
Stanford University
This course focuses on principles of computer systems and network security, exploring different attack techniques and corresponding defenses. Course projects aim at building reliable code and understanding attacks. Prior knowledge in operating systems, networking protocols, and basic programming languages is needed.
The course covers principles of computer systems and network security. We will discuss various attack techniques and how to defend against them. Topics include network attacks and defenses, operating system holes, web security, e-mail, botnet, malware, social engineering attacks, privacy, and digital rights management. Course projects will focus on building reliable code and understanding attacks. The course is intended for junior and senior undergraduates and first year graduate students.
The course requires an understanding of operating systems, networking protocols, and a basic understanding of programming languages. Programming projects will be done primarily in C and JavaScript, but other languages may be needed.
Pre-requisites: CS110/CS111 (Principles of Computer Systems)
No data.
There is no textbook for the class.
Instead, we will use research papers posted on the course syllabus page for every lecture.