Current Semester
Course Description
This course provides a broad introduction to computer security. It helps students think about security as a software engineer and become ready to take further courses in security.
Major topics include:
- operating system security
- software security
- vulnerabilities
- Rust and cryptography
- key exchange and authentication
- web security
- threat modeling
Along the way, students will learn:
- Linux command line
- access control
- how to exploit vulnerabilities in software
- building secure software using Rust and cryptography
- TLS and certificates
- passwords and multi-factor authentication
- web vulnerabilities and how to prevent and fix them
- threat modeling
- human factors in security