We may earn an affiliate commission when you visit our partners.
Course image
Sandra Escandor-O'Keefe, Matthew Bishop, PhD, and Joubin Jabbari

This Specialization is intended for software developers of any level who are not yet fluent with secure coding and programming techniques.Through four courses, you will cover the principles of secure coding, concepts of threat modeling and cryptography and exploit vulnerabilities in both C/C++ and Java languages, which will prepare you to think like a hacker and protect your organizations information. The courses provide ample practice activities including exploiting WebGoat, an OWASP project designed to teach penetration testing.

Enroll now

Share

Help others find Specialization from Coursera by sharing it with your friends and followers:

What's inside

Four courses

Principles of Secure Coding

This course introduces you to the principles of secure programming. It begins by discussing the philosophy and principles of secure programming, and then presenting robust programming and the relationship between it and secure programming. We'll go through a detailed example of writing robust code and we'll see many common programming problems and show their connection to writing robust, secure programs in general.

Identifying Security Vulnerabilities

This course will help you build a foundation in secure programming. We will learn about threat modeling, cryptography, and injection problems in web applications. We'll also cover authentication, session management, and sensitive data exposure. Along the way, we'll discuss ways to mitigate these issues and exploit vulnerabilities in a web application.

Identifying Security Vulnerabilities in C/C++Programming

This course builds upon skills and coding practices learned in Principles of Secure Coding and Identifying Security Vulnerabilities. It uses the focusing technique to evaluate and remediate fragile C++ library code. Techniques will make programs perform accurately and resist attempts to perform inaccurately. Common errors will be shown, and students will learn how to program more robustly.

Exploiting and Securing Vulnerabilities in Java Applications

In this course, we will explore both the attacker and defender perspectives in Java application security. We will exploit injection and cross-site scripting issues, break authentication, and even execute code on remote servers. We will also learn to fix these vulnerabilities and discuss mitigation strategies. By exploiting WebGoat, an OWASP project, we will gain hands-on experience in penetration testing and application security.

Learning objectives

  • Practice improving the security and robustness of your programs.
  • Create threat models and apply basic cryptography.
  • Evaluate and remediate fragile c++ library code.
  • Exploit common types of injection problems and fix the root causes.

Save this collection

Save Secure Coding Practices to your list so you can find it easily later:
Save
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser