This course serves as an introduction to the concept of software security. The students will learn fundamental concepts on software security, security mechanisms in software and operating systems, secure coding guidelines and exploits, and advanced analysis techniques for security. Students will also have hands-on experience in deploying security attacks and analysis of real world security vulnerabilities.