Our Courses



Independent Study


Description: Looking for hands-on experience researching cutting-edge topics in software security? Come work with us on an exciting research project of your choice for a semester (or more). While we are happy to provide you with a project idea, it is recommended that you check out our Research Areas to identify what topics interest you most, and which SSG Faculty member you would like to work with.

Course level: all levels
Offerings: year-round
Instructor: all faculty

CS 4440: Introduction to Computer Security


Description: In this course, we introduce the fundamentals of computer security and privacy. Topics covered include: beginner symmetric and asymmetric cryptography, threat modeling, secure authentication, command injection attacks, access control, and usability. It is recommended that students be comfortable working with or picking up basic networking techniques, scripting languages (e.g., Python), SQL, and C/C++.

Course level: undergraduate
Offerings: Fall and Spring
Instructor: Stefan Nagy and Jun Xu (rotating)

CS 5963 / 6963: Applied Software Testing


Description: This special topics course will dive into today’s state-of-the-art techniques for uncovering hidden security vulnerabilities in software. Projects will provide hands-on experience with real-world security tools like AFL++ and AddressSanitizer, culminating in a final project where you’ll team up to hunt down, analyze, and report security bugs in a real application or system of your choice. This class is open to graduate students and upper-level undergraduates. It is recommended you have a solid grasp over topics like software security, systems programming, and C/C++.

Course level: graduate and upper-level undergraduate
Offerings: Spring only
Instructor: Stefan Nagy

CS 6967: Security Operations


Description: This course introduces concepts, technologies, and tools on asset protection, integrity management, availability methodology, incident response, and other issues that an operational team needs to know to run security products and services in a live environment. Students will be exposed to hands-on experience with the above topics in a reality-simulating platform, and develop the skills to become professionals in security operations and administration. It is recommended you have a preliminary background of networking, OS, and programming.

Course level: graduate and upper-level undergraduate
Offerings: Fall only
Instructor: Jun Xu