Software Design Threats and Mitigations (Coursera)

Software Design Threats and Mitigations (Coursera)

The design step in developing software has some unique characteristics. First of all, it’s the only step where drawing pictures of things is the norm. Why is that? What do pictures do that other representations cannot do? Pictures have varying levels of detail; pictures have context. Pictures…paint a picture. Why are these things important? In this course, too, we begin looking at other disciplines (building architecture is a favorite one) for lessons on design.

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

Course 4 of 4 in the Secure Software Design Specialization.

Syllabus

WEEK 1
Common Vulnerabilities and Weaknesses
How to use the CVE and CWE on-line databases to assess threats and mitigations

WEEK 2
Specific Design Considerations
Specific things you can do to create a better design.

WEEK 3
Building Security in
Security must be built in to a project, not added on.

WEEK 4
A Dramatic Failure
The consequences of a bad design can haunt you forever.

WEEK 5
Bitcoin Foundations
A detailed look at the first two sentences of the abstract of Nakamoto's 2009 paper announcing Bitcoin.

WEEK 6
The Bitcoin Project
Continuing with the abstract of Nakamoto's Bitcoin paper. More details on how it works and how security is integrated into it.

WEEK 7
Simple software compromises
A look into the specifics of two common exploitation techniques--buffer overflow and SQL injections. Even though they're "old", these exploits are still used today!

WEEK 8
Final Exam
A comprehensive course assessment comprising of 5 quizzes. Each assessment contains a randomized set of questions from different modules of the course.

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

Related Courses

Software Architecture (Coursera) Coursera
University of Alberta

Software Architecture (Coursera)

The way that software components — subroutines, classes, functions, etc. — are arranged, and the interactions between them, is called architecture. In this course you will study the ways these architectures are represented, both in UML and other visual tools. We will introduce the most common architectures, their qualities, and tradeoffs. We will talk about how architectures are evaluated, what makes a good architecture, and an architecture can be improved. We'll also talk about how the architecture touches on the process of software development.

Jun 1st 2026
4 Weeks
Android App Components - Intents, Activities, and Broadcast Receivers (Coursera) Coursera
Vanderbilt University

Android App Components - Intents, Activities, and Broadcast Receivers (Coursera)

This MOOC builds upon the overview of Java and Android covered in Course 1 by delving deeper into core Android components, such as Activities, Broadcast Receivers, Intents, and Intent Filters. You will learn by example how to program these core Android components together with basic Java file I/O classes (such as File, InputStream, OutputWriter, etc.) and Android storage mechanisms (such as Shared Preferences).

Jun 1st 2026
4 Weeks
Enterprise System Management and Security (Coursera) Coursera
University of Colorado System

Enterprise System Management and Security (Coursera)

The world runs on computers. Your watch, your TV, your car. You might be familiar on how to operate each of these. Your home computer you are even more familiar with operating it. But what does it take to really take computer systems to the next level? - The enterprise level. In this course we discuss what makes home computing systems different from enterprise computing systems. This course will also help you prepare and design your own home lab to explore enterprise operating systems.

Jun 1st 2026
5-12 Weeks
Cyber Security in Manufacturing (Coursera) Coursera
University at Buffalo,The State University of New York

Cyber Security in Manufacturing (Coursera)

The nature of digital manufacturing and design (DM&D), and its heavy reliance on creating a digital thread of product and process data and information, makes it a prime target for hackers and counterfeiters. This course will introduce students to why creating a strong and secure infrastructure should be of paramount concern for anyone operating in the DM&D domain, and measures that can be employed to protect operational technologies, systems and resources.

Jun 1st 2026
4 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.

Jun 1st 2026
5-12 Weeks
操作系统与虚拟化安全 (Coursera) Coursera
Peking University

操作系统与虚拟化安全 (Coursera)

从操作系统与虚拟化平台面临的安全问题和应该采取的安全机制入手,帮助你学习和掌握计算机系统安全的基本理论、技术、方法和评测标准。Learn about operating systems, virtualization security issues, and related security theories, technologies, methods and evaluation criteria, as well as gain a deeper understanding of computer systems security.

Jun 1st 2026
13-24 Weeks
Service-Oriented Architecture (Coursera) Coursera
University of Alberta

Service-Oriented Architecture (Coursera)

Based on an understanding of architectural styles, you will review architectures for web applications, then explore the basics of Service-Oriented Architecture (SOA) in two approaches: Web Services (WS*) and Representational State Transfer (REST) architecture. In the Capstone Project you will connect a Java-based Android application with Elasticsearch, a web service with a REST application programmer interface (API).

Jun 1st 2026
4 Weeks
Securing Digital Democracy (Coursera) Coursera
University of Michigan

Securing Digital Democracy (Coursera)

In this course, you'll learn what every citizen should know about the security risks--and future potential — of electronic voting and Internet voting. We'll take a look at the past, present, and future of election technologies and explore the various spaces intersected by voting, including computer security, human factors, public policy, and more.

Jun 1st 2026
5-12 Weeks
Cyber Threat Intelligence (Coursera) Coursera
IBM

Cyber Threat Intelligence (Coursera)

This course gives you the background needed to gain Cybersecurity skills as part of the Cybersecurity Security Analyst Professional Certificate program. You will understand network defensive tactics, define network access control and use network monitoring tools. You will understand data protection risks and explore mobile endpoint protection. Finally you will recognize various scanning technologies, application security vulnerabilities and threat intelligence platforms.

Jun 1st 2026
5-12 Weeks
Penetration Testing, Incident Response and Forensics (Coursera) Coursera
IBM

Penetration Testing, Incident Response and Forensics (Coursera)

This course gives you the background needed to gain Cybersecurity skills as part of the Cybersecurity Security Analyst Professional Certificate program. You will learn about the different phases of penetration testing, how to gather data for your penetration test and popular penetration testing tools. Furthermore, you will learn the phases of an incident response, important documentation to collect, and the components of an incident response policy and team. Finally, you will learn key steps in the forensic process and important data to collect.

Jun 1st 2026
4 Weeks
Internet of Things: Setting Up Your DragonBoard™ Development Platform (Coursera) Coursera
University of California, San Diego

Internet of Things: Setting Up Your DragonBoard™ Development Platform (Coursera)

Do you want to develop skills to prototype mobile-enabled products using state-of-the-art technologies? In this course you will build a hardware and software development environment to guide your journey through the Internet of Things specialization courses. We will use the DragonBoard™ 410c single board computer (SBC).

Jun 1st 2026
5-12 Weeks
Development of Real-Time Systems (Coursera) Coursera
EIT Digital

Development of Real-Time Systems (Coursera)

This course is intended for the Master's student and computer engineer who likes practical programming and problem solving! After completing this course, you will have the knowledge to plan and set-up a real-time system both on paper and in practice. The course centers around the problem of achieving timing correctness in embedded systems, which means to guarantee that the system reacts within the real-time requirements.

Jun 1st 2026
5-12 Weeks