Updated in May 2025.
This course now features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. In today's digital world, software security is more critical than ever. This course provides a comprehensive understanding of secure software development, equipping you with the knowledge to identify vulnerabilities, implement security best practices, and mitigate risks. You'll explore essential security principles, the Software Development Life Cycle (SDLC), and key frameworks like OWASP, NIST, and CSA. Throughout the course, you’ll dive deep into secure coding practices, application security goals, and risk management strategies. You’ll gain hands-on experience with tools like WebGoat, Threat Dragon, and Microsoft Threat Model Tool. The course covers major security threats, including injection attacks, cryptographic failures, and insecure design, with demonstrations on how to mitigate these risks effectively. You'll also explore advanced topics such as DevSecOps, secure CI/CD pipelines, and supply chain security. The curriculum includes critical cloud security concepts, API protection, and vulnerability management techniques. Hands-on demos and real-world case studies ensure a practical, application-driven learning experience. This course is ideal for software developers, security engineers, and IT professionals looking to enhance their understanding of secure software development. A basic knowledge of programming and web application concepts is recommended, but no prior cybersecurity experience is required. Whether you're new to security or looking to deepen your expertise, this course will provide valuable insights into building resilient software.