CENX 491: Selected Topics in Computer Engineering

Taught as an Introduction to Computer Systems & Software Security.

The is a highly applied course. While there will be written homeworks these are meant to help you prepare for written exams (and will be solved in class). The core part of the course is learned through labs and projects.
There will be a dedicated website for the course hosting CTF-style labs.

Some of the topics included in the course:
- Course Introduction (basic security concepts and terminology)
- Review of Compilation life cycle
- Introduction/review of Linux basics
- Assembly/debugging review
- Reverse Engineering overview
- Malicious software (Malware, viruses, trojan horse..etc)
- Software attacks (e.g., control-flow hijacking and buffer overflow)
- Software defenses (e.g., stack canaries)
- Authentication and Passwords security
- Other topics (depends on the interest and available time)

Course Materials