Principles of Secure Coding (Coursera)

Principles of Secure Coding (Coursera)

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.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

We’ll examine eight design principles that govern secure coding and how to apply them to your own work. We’ll discuss how poor design choices drive implementation in coding. We’ll differentiate between informal, formal, and ad hoc coding methods. Throughout, methods for improving the security and robustness of your programs will be emphasized and you will have an opportunity to practice these concepts through various lab activities. A knowledge of the C programming language is helpful, but not required to participate in the lab exercises.
Course 1 of 4 in the Secure Coding Practices Specialization.

Syllabus

WEEK 1
Secure Programming Philosophy
In this module, you'll be able to describe key concepts in secure programming including typical problems and procedures. You'll be able to differentiate between robust programming and secure programming and you'll generalize from philosophies of "what to watch out for" and "where to look" to specific situations.

WEEK 2
Secure Programming Design Principles
In this module, you will be able to recall eight software design principles that govern secure programming. You will write a short program, in any language you like, to determine whether the system enforces the Principle of Complete Mediation. You'll be able to apply design principles from Saltzer, Schroeder and Kaashoek to code situations.

WEEK 3
Robust Programming
In this module, you will be able to explain the issues that can arise from fragile programming. You'll be able to discuss how design issues drive implementation and be able to distinguish between robust and fragile code. You'll be able to explain what can go wrong in fragile code and be able to write a robust version of fragile code.

WEEK 4
Methods for Robustness
In this module, you will be able to describe how to use techniques that mimic formal methods to improve the robustness and security of programs. You will also be able to compare and contrast formal, informal, and ad hoc programming methods. You'll be able to write a program to demonstrate how a poorly-written program or library can cause incorrect results.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Cloud Computing Fundamentals on Alibaba Cloud (Coursera) Coursera
Alibaba Cloud Academy

Cloud Computing Fundamentals on Alibaba Cloud (Coursera)

Looking to dive into the world of Alibaba Cloud with a comprehensive introduction to the range of products and solutions offered by Alibaba Cloud? Fundamental Architecting on Alibaba Cloud is a course designed for users looking to start this journey with a look into Alibaba Cloud's core products. Fundamental Architecting looks into storage, networking, auto-scaling, and security solutions as well as scenarios to best combine these products to create a complete cloud-based architecture.

Sep 14th 2026
5-12 Weeks
Internet History, Technology, and Security (Coursera) Coursera
University of Michigan

Internet History, Technology, and Security (Coursera)

The impact of technology and networks on our lives, culture, and society continues to increase. The very fact that you can take this course from anywhere in the world requires a technological infrastructure that was designed, engineered, and built over the past sixty years. To function in an information-centric world, we need to understand the workings of network technology. This course will open up the Internet and show you how it was created, who created it and how it works. Along the way we will meet many of the innovators who developed the Internet and Web technologies that we use today.

Sep 21st 2026
5-12 Weeks
Security & Safety Challenges in a Globalized World (Coursera) Coursera
Leiden University

Security & Safety Challenges in a Globalized World (Coursera)

Security and safety challenges rank among the most pressing issues of modern times. Challenges such as, cyber-crime, terrorism, and environmental disasters impact the lives of millions across the globe. These issues also rank high on the agenda of politicians, international organizations and businesses. They also feature prominently in the public conscience and in governmental policies.

Sep 21st 2026
5-12 Weeks
Know Thyself - The Value and Limits of Self-Knowledge: The Examined Life (Coursera) Coursera
University of Edinburgh

Know Thyself - The Value and Limits of Self-Knowledge: The Examined Life (Coursera)

According to legend, inscribed on walls of the temple on the sacred site of Delphi in Ancient Greece were two premier injunctions: NOTHING IN EXCESS, and KNOW THYSELF. This course will be an examination of the latter injunction in an effort to discover what self-knowledge is, why it might be valuable, and what, if any, limitations it might face.

Sep 21st 2026
4 Weeks
Søren Kierkegaard - Subjectivity, Irony and the Crisis of Modernity (Coursera) Coursera
University of Copenhagen

Søren Kierkegaard - Subjectivity, Irony and the Crisis of Modernity (Coursera)

In this course created by former associate professor at the Søren Kierkegaard Research Centre, Jon Stewart, we will explore how Kierkegaard deals with the problems associated with relativism, the lack of meaning and the undermining of religious faith that are typical of modern life. His penetrating analyses are still highly relevant today and have been seen as insightful for the leading figures of Existentialism, Post-Structuralism and Post-Modernism.

Sep 14th 2026
5-12 Weeks
De-Mystifying Mindfulness (Coursera) Coursera
Leiden University

De-Mystifying Mindfulness (Coursera)

Interest in meditation, mindfulness, and contemplation has grown exponentially in recent years. Rather than being seen as mystical practices from ancient Buddhism or esoteric philosophy, they are increasingly seen as technologies rooted in evidence from psychology and neuroscience. Mindfulness has become the basis for numerous therapeutic interventions, both as a treatment in healthcare and as a means of enhancing well-being and happiness. For millions around the world, mindfulness has become a life-style choice, enhancing and enriching everyday experience. Mindfulness is big business.

Sep 14th 2026
5-12 Weeks
Cyber Security Fundamentals (Coursera) Coursera
University of London

Cyber Security Fundamentals (Coursera)

This course is intended to provide a general introduction to key concepts in cyber security. It is aimed at anyone with a good general knowledge of information and communications technology. The nature, scope and importance of cyber security are explained, and key concepts are justified and explored. This includes examining the types of threat that cyber security must address, as well as the range of mechanisms, both technological and procedural, that can be deployed.

Sep 20th 2026
3 Weeks
Luther and the West (Coursera) Coursera
Northwestern University

Luther and the West (Coursera)

In this course we will discuss the history of some ideas that have been hugely influential in the modern west and that were taken out to the rest of the world. The discussion centers on an extraordinary and historically important figure, a sixteenth century German man named Martin Luther. Luther is recognized today as the originator of many of the most significant ideas that continue to affect and shape who we as modern people are and how we see the world and ourselves for better and for worse.

Sep 21st 2026
5-12 Weeks
Trust and Security with Google Cloud (Coursera) Coursera
Google Cloud

Trust and Security with Google Cloud (Coursera)

As organizations move their data and applications to the cloud, they must address new security challenges. The Trust and Security with Google Cloud course explores the basics of cloud security, the value of Google Cloud's multilayered approach to infrastructure security, and how Google earns and maintains customer trust in the cloud.

Sep 21st 2026
5-12 Weeks
活用希臘哲學 (Understanding the Greek Philosophy) (Coursera) Coursera
National Taiwan University

活用希臘哲學 (Understanding the Greek Philosophy) (Coursera)

本課程之教學內容以希臘哲學之發展為主,並輔以哲學對人生意義之說明。希臘哲學是西洋哲學的骨幹,呈現西方人思維的核心理念,不但足以解釋今日之西方世界,甚至可以說明全世界的發展趨勢。本課程以希臘哲學為教學之主幹,分為先蘇哲學、詭辯學派、蘇格拉底、柏拉圖、亞理斯多德五個階段。教學的方式以強調他們之間的不同與相同的部分。課程將以演講的方式進行,揉合日常經驗作說明,並不時地會以整體的角度回頭看希臘哲學在今日哲學與社會所扮演的角色。

Sep 21st 2026
5-12 Weeks