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

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.

Nov 16th 2026
5-12 Weeks
An Introduction to Programming using Python (Coursera) Coursera
University of Leeds

An Introduction to Programming using Python (Coursera)

Maximise your employability, by learning the basics of coding in Python. Python is a versatile programming language used for developing websites and software, task automation, data analysis and more. In this course, you'll embark on an exciting journey into the world of Python and gain valuable skills that will enable you to start thinking about a career in programming.

Nov 16th 2026
2 Weeks
活用希臘哲學 (Understanding the Greek Philosophy) (Coursera) Coursera
National Taiwan University

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

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

Nov 16th 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.

Nov 16th 2026
5-12 Weeks
Foundations of Teaching for Learning: Being a Professional (Coursera) Coursera
Commonwealth Education Trust

Foundations of Teaching for Learning: Being a Professional (Coursera)

The Foundations of Teaching for Learning programme is for anyone who is teaching, or who would like to teach, in any subject and any context - be it at school, at home or in the workplace. With dynamic lessons taught by established and respected professionals from across the Commonwealth, this eight course programme will see you develop and strengthen your skills in teaching, professionalism, assessment, and more. As you carry on through the programme, you will find yourself strengthening not only your skills, but your connection with colleagues across the globe. A professional development opportunity not to be missed.

Nov 16th 2026
5-12 Weeks
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.

Nov 9th 2026
5-12 Weeks
Digital Shield: Cybersecurity for Data and System Protection (Coursera) Coursera
Universidad Anáhuac

Digital Shield: Cybersecurity for Data and System Protection (Coursera)

Digital Shield: Cybersecurity for Data and Systems Protection" is a course designed to provide a solid introduction to the protection of sensitive data and the infrastructure supporting various information systems. This MOOC was created in collaboration with CYBERPRO Global, a leading international provider of cyber education programs with over a decade of experience in training security personnel and delivering large-scale technological projects. Its aim is to educate participants on the fundamental concepts of information security and cybersecurity, including techniques and tactics necessary to protect information and computer systems from potential threats.

Nov 16th 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.

Nov 16th 2026
5-12 Weeks
Designing and Implementing Your Coaching Strategy (Coursera) Coursera
University of California, Davis

Designing and Implementing Your Coaching Strategy (Coursera)

In order to be an effective manager in increasingly fast-paced and complex organizational environments, coaching skills to develop and get the best work out of employees has become essential. Throughout the Coaching Skills for Managers specialization, we’ve discussed many topics for improving coaching conversations with our employees. It is now time to put all of that theory and discussion into practice as you solidify your coaching philosophy, develop your coaching practice and agendas, and demonstrate mastery at handling everyday coaching conversations!

Nov 16th 2026
3 Weeks
Security and Privacy for Big Data - Part 2 (Coursera) Coursera
EIT Digital

Security and Privacy for Big Data - Part 2 (Coursera)

This course sensitizes regarding privacy and data protection in Big Data environments. You will discover privacy preserving methodologies, as well as data protection regulations and concepts in your Big Data system. By the end of the course, you will be ready to plan your next Big Data project successfully, ensuring that all privacy and data protection related issues are under control.

Nov 16th 2026
1 Week
Security Management and Governance (Coursera) Coursera
Royal Holloway, University of London

Security Management and Governance (Coursera)

In this course you will look at some of the key components of practical cyber security management and its governance. This includes what happens when things go wrong, understanding how organisations can respond to incidents, through to the essential role of people in achieving better cyber security outcomes. Together, you will examine how incident management, cyber resilience, and developing an effective appreciation of people, not simply as users but as active participants, can enable better cyber security outcomes.

Nov 16th 2026
4 Weeks