About this Course
14,757 recent views

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

1-2 years of experience with some form of computer programming language like C/C++ or Java.

Approx. 11 hours to complete

Suggested: 4 weeks of study, 2-5 hours/week...

English

Subtitles: English
Learners taking this Course are
  • Security Engineers
  • Machine Learning Engineers
  • Software Engineers
  • Data Scientists
  • Product Managers

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

1-2 years of experience with some form of computer programming language like C/C++ or Java.

Approx. 11 hours to complete

Suggested: 4 weeks of study, 2-5 hours/week...

English

Subtitles: English

Syllabus - What you will learn from this course

Week
1
3 hours to complete

Secure Programming Philosophy

10 videos (Total 66 min), 1 reading, 2 quizzes
10 videos
Module 1 Introduction1m
The Philosophy of Secure Programming2m
Defining Secure Programming4m
Robust vs. Secure Programming14m
Security Policies and Procedures8m
Secure Programming General Philosophy10m
Checking Design and Implementation9m
Where to Look for Vulnerabilities11m
Secure Programming Summary49s
1 reading
A Note From UC Davis10m
2 practice exercises
Module 1 Practice Quiz30m
Module 1 Quiz45m
Week
2
4 hours to complete

Secure Programming Design Principles

11 videos (Total 36 min), 1 reading, 2 quizzes
11 videos
Secure Programming Design Principles Overview2m
Principle of Least Privilege3m
Fail-Safe Defaults3m
Principle of Economy of Mechanism1m
Principle of Complete Mediation1m
Separation of Privilege Principle3m
Principle of Open Design7m
Principle of Least Common Mechanism4m
Principle of Least Astonishment6m
Secure Programming Design Principles Summary1m
1 reading
Complete Mediation - What Is Going On?10m
2 practice exercises
Module 2 Practice Quiz30m
Module 2 Quiz30m
Week
3
5 hours to complete

Robust Programming

9 videos (Total 61 min), 2 readings, 2 quizzes
9 videos
Robust Programming Overview43s
Robust Programming Basic Principles3m
An Example Of Fragile Code13m
Error Handling11m
Cohesion, New Interfaces, and Token Generation13m
Token Generation and Interpretation5m
Creating and Deleting a Queue5m
Adding and Removing Elements to a Queue5m
2 readings
Before You Begin This Module...5m
Fragile Programs - What Is Going On?10m
2 practice exercises
Module 3 Practice Quiz15m
Module 3 Quiz30m
Week
4
4 hours to complete

Methods for Robustness

8 videos (Total 41 min), 1 reading, 2 quizzes
8 videos
Methods Overview: Formal, Informal, and Ad Hoc Methods3m
Overview of Formal Methods2m
Login Program Example10m
Incorporating Hierarchical Decomposition Methodology9m
Login Program: Authenticating a User11m
Login Program: Preconditions and Postconditions32s
Course Summary1m
1 reading
Robust Programs - What Is Going On?10m
2 practice exercises
Module 4 Practice Quiz15m
Module 4 Quiz30m
3.8
4 ReviewsChevron Right

Top reviews from Principles of Secure Coding

By SJSep 3rd 2019

Matt Bishop is an excellent Secure Coding Trainer. I enjoyed the sessions all the way and it was totally engaging with practical examples.

Instructor

Avatar

Matthew Bishop, PhD

Professor
Department of Computer Science

About University of California, Davis

UC Davis, one of the nation’s top-ranked research universities, is a global leader in agriculture, veterinary medicine, sustainability, environmental and biological sciences, and technology. With four colleges and six professional schools, UC Davis and its students and alumni are known for their academic excellence, meaningful public service and profound international impact....

About the Secure Coding Practices Specialization

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....
Secure Coding Practices

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.