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

AI for Efficient Programming: Harnessing the Power of LLMs (Coursera) Coursera
Fred Hutchinson Cancer Center

AI for Efficient Programming: Harnessing the Power of LLMs (Coursera)

This course on Artificial Intelligence (AI) for software development explores the use of AI large language models such as ChatGPT, Bard, and others and their potential benefits and challenges. Through examples and hands-on activities, you will develop an understanding of the ways in which AI can speed up software development tasks and free up time for more creative and strategic work.

Oct 5th 2026
4 Weeks
Serious Gaming (Coursera) Coursera
Erasmus University Rotterdam

Serious Gaming (Coursera)

Have you ever wondered how playing games can help us to train people, deal with societal challenges or raise awareness of contemporary social issues? In this MOOC you will learn the ins and outs of games that are designed with exactly those purposes in mind: serious games. We will define serious games and discuss the different types that have been developed. We will explain why people like to play them and what impact they may have.

Oct 12th 2026
5-12 Weeks
Responsible AI - Principles and Ethical Considerations (Coursera) Coursera
Fractal Analytics

Responsible AI - Principles and Ethical Considerations (Coursera)

Welcome to "Responsible AI – Principles and Ethical Considerations"! Dive deep into the very essence of Responsible AI with us. Uncover the significance of key principles shaping technology's future. From ethical considerations to fairness, transparency, and accountability, we discuss these principles with real-world examples, putting them into the context of data science.

Oct 5th 2026
5-12 Weeks
Becoming a Cybersecurity Consultant (Coursera) Coursera
EIT Digital

Becoming a Cybersecurity Consultant (Coursera)

The course targets individuals planning to develop a career in cybersecurity, middle managers and executives. The course covers the following main learning objectives: Threats - Technology - Economics and it is structured in 2 parts: an online part and a face-to-face/live webinar part. The present online course is designed to cover theoretical concepts a Cybersecurity Consultant (medium level) should know.

Oct 5th 2026
3 Weeks
Foundation to Multi-Cloud (Coursera) Coursera
EDUCBA

Foundation to Multi-Cloud (Coursera)

The "Foundation to Multi-Cloud" course is designed to provide a comprehensive understanding of multi-cloud computing principles, benefits, and challenges. It equips you with the knowledge and skills required to effectively manage and utilize multiple cloud platforms simultaneously. This course introduces the concept of multi-cloud, elucidates its advantages and complexities, and delves into various strategies and technologies for implementing and managing multi-cloud environments.

Oct 5th 2026
3 Weeks
Cybersecurity in Healthcare (Hospitals & Care Centres) (Coursera) Coursera
Erasmus University Rotterdam

Cybersecurity in Healthcare (Hospitals & Care Centres) (Coursera)

The Cybersecurity in Healthcare MOOC was developed as part the SecureHospitals.eu project. This project has received funding from the European Union’s Horizon 2020 Coordination Research and Innovation Action under Grant Agreement No. 826497. The course "Cybersecurity in Healthcare" has been developed to raise awareness and understanding the role of cybersecurity in healthcare (e.g., hospitals, care centres, clinics, other medical or social care institutions and service organisations) and the challenges that surround it.

Oct 5th 2026
5-12 Weeks
Code Yourself! An Introduction to Programming (Coursera) Coursera
University of Edinburgh,Universidad ORT Uruguay

Code Yourself! An Introduction to Programming (Coursera)

Have you ever wished you knew how to program, but had no idea where to start from? This course will teach you how to program in Scratch, an easy to use visual programming language. More importantly, it will introduce you to the fundamental principles of computing and it will help you think like a software engineer.

Sep 28th 2026
5-12 Weeks
Security and Privacy in TOR Network (Coursera) Coursera
University of Colorado System

Security and Privacy in TOR Network (Coursera)

In this MOOC, we will learn about TOR basic concept and see how they protect the security and privacy of users and resist censorship. We will examine how TOR realize the anonymity and utilize its service by downloading and using Tor browser software. A recent attack on TOR’s application flow control called sniper attacks is analyzed.

Sep 28th 2026
4 Weeks