Congratulations, you've reached the end of
this first course in the secure coding specialization.
Let's take a look back to all that you've accomplished.
You've learned why robust and secure coding
is so important,
and what can happen when your programs are
neither secure nor robust.
You understand the basic principles underlying
secure programming and how to spot non-robust code.
You can take that poorly written program and
translate it into a more robust secure program.
You also now have a sense of how formal methods work,
and how you can adapt the general philosophy and
ideas from those into careful,
secure, and robust programming.
What we've done is placed secure programming in
the broader context to
both security and good programming style.
We've explored design a bit and implementation a bit.
The next courses, we'll show you some of
the more pernicious security problems in
programming and what risks they introduce,
and then look at specific problems in
the secure coding practices that
thwart them in two very common languages;
C#, which includes C++, and Java.
These build on what you've just learned in this course.
Thank you for participating in this course.
We look forward to working with you in the next one.