This course we will explore the foundations of software security. We will consider important software vulnerabilities and attacks that exploit them -- such as buffer overflows, SQL injection, and session hijacking -- and we will consider defenses that prevent or mitigate these attacks, including advanced testing and program analysis techniques. Importantly, we take a "build security in" mentality, considering techniques at each phase of the development cycle that can be used to strengthen the security of software systems. Successful learners in this course typically have completed sophomore/junior-level undergraduate work in a technical field, have some familiarity with programming, ideally in C/C++ and one other "managed" program language (like ML or Java), and have prior exposure to algorithms. Students not familiar with these languages but with others can improve their skills through online web tutorials.
This course is part of the Cybersecurity Specialization
Offered By
About this Course
Could your company benefit from training employees on in-demand skills?
Try Coursera for BusinessSkills you will gain
- Fuzz Testing
- Buffer Overflow
- Sql Injection
- Penetration Test
Could your company benefit from training employees on in-demand skills?
Try Coursera for BusinessOffered by
Syllabus - What you will learn from this course
OVERVIEW
LOW-LEVEL SECURITY
DEFENDING AGAINST LOW-LEVEL EXPLOITS
WEB SECURITY
SECURE SOFTWARE DEVELOPMENT
Reviews
- 5 stars73.19%
- 4 stars20.89%
- 3 stars4.27%
- 2 stars0.62%
- 1 star1%
TOP REVIEWS FROM SOFTWARE SECURITY
Was prepared and presented in a very special and superb way. I am glad I took and completed it. Thanks to my tutor Michael Hicks and special appreciation to coursera for making this possible for me.
Very useful course to update the current knowlege and to learn new technologies and theoretical facts. Also, identified how software security should be combined with software development.
Content is really valuable and actionable with a specific comeback for the student in terms of secure development, security and how to understand the origin of exploits and other cyber attacks
very nice course, covering the most essential topics related to software security. For the curios students, it should provide a good start to dive deep!
About the Cybersecurity Specialization

Frequently Asked Questions
When will I have access to the lectures and assignments?
What will I get if I subscribe to this Specialization?
Is financial aid available?
More questions? Visit the Learner Help Center.