more society relies on computing systems, the greater the potential disruption and destruction that
adversaries can create via malicious cyber activities. Thus, security is critical in the design of
computing systems. Are you interested in working on cutting-edge security research? Are you
interested in how security practitioners protect systems against millions of attacks daily? This
course will introduce students to the fundamental knowledge of computer security. The goal of the
course is to: (1) understand the exploit techniques, (2) learn to use the security tools, (3) learn to
design and implement secure systems.
Students will learn the basic concepts of computer security, including software vulnerability
analysis and defense, web security, mobile security, and network security. In addition to classical
security topics, the course will cover the latest security topics in practice (e.g., cryptocurrency), and
in research (e.g., state-of-the-art fuzzing techniques and machine-learning-based security analysis).
Students will also get hands-on experience in analyzing and designing secure systems. In addition,
this course will include a course project for cutting-edge security research.
more society relies on computing systems, the greater the potential disruption and destruction that
adversaries can create via malicious cyber activities. Thus, security is critical in the design of
computing systems. Are you interested in working on cutting-edge security research? Are you
interested in how security practitioners protect systems against millions of attacks daily? This
course will introduce students to the fundamental knowledge of computer security. The goal of the
course is to: (1) understand the exploit techniques, (2) learn to use the security tools, (3) learn to
design and implement secure systems.
Students will learn the basic concepts of computer security, including software vulnerability
analysis and defense, web security, mobile security, and network security. In addition to classical
security topics, the course will cover the latest security topics in practice (e.g., cryptocurrency), and
in research (e.g., state-of-the-art fuzzing techniques and machine-learning-based security analysis).
Students will also get hands-on experience in analyzing and designing secure systems. In addition,
this course will include a course project for cutting-edge security research.
more society relies on computing systems, the greater the potential disruption and destruction that
adversaries can create via malicious cyber activities. Thus, security is critical in the design of
computing systems. Are you interested in working on cutting-edge security research? Are you
interested in how security practitioners protect systems against millions of attacks daily? This
course will introduce students to the fundamental knowledge of computer security. The goal of the
course is to: (1) understand the exploit techniques, (2) learn to use the security tools, (3) learn to
design and implement secure systems.
Students will learn the basic concepts of computer security, including software vulnerability
analysis and defense, web security, mobile security, and network security. In addition to classical
security topics, the course will cover the latest security topics in practice (e.g., cryptocurrency), and
in research (e.g., state-of-the-art fuzzing techniques and machine-learning-based security analysis).
Students will also get hands-on experience in analyzing and designing secure systems. In addition,
this course will include a course project for cutting-edge security research.
Software security
Web security
Mobile security
Network security
New topics
Instructor: Yuan Tian(yuant@ucla.edu)
TA: Kunlin Cai (kunlin96@ucla.edu)
Class Location: ROLFE 3134
Class Time: MW, 2:00 - 3:50pm
Yuan’s office Hours: MW, 4:00 - 5:00pm, Boelter 6730D (send Yuan a calendar invite if you would like to chat!)
Kunlin’s office hours: W, noon - 2:00pm, tentatively at FARADAY Room 67-124 Engineering IV
Discussion: There will be allocated time in classes for discussions.
Grading:
Homework assignments (30%)
Literature review (15%)
Participation in feedback to others’ work (5%)
Coursel project (50%)
Three presentations
Introduction Presentation (5%)
Midterm (5%)
Final (15% from Yuan’s and peer’s evaluation)
Two reports
Midterm (5%)
Final (10%)
Evaluation from teammates (10%)
Teaching evaluation (1% bonus)
Readings and Textbook:
We have reading materials for many lectures
Pre-requisites:
Prerequisites for this class include 100. In addition, students should feel comfortable programming
in a desktop environment such as Java, C, and Python.
Graduate students who are interested in security can also take this class.
Anonymous Feedback/Comments/Suggestions?
Feel free to leave any comments and suggestions about how the instructor can do better to help you learn this course, such as whether the lectures are clear, examples are helpful, questions are answered timely, etc. Please submit this anonymous form. Your input is highly appreciated! ;-)
Acknowledgements: Some course materials are adapted from Stanford CS155 and CMU 18487