The course addresses the common security problems in softwares as well as their underlying causes. It then addresses the techniques, guidelines, principles and tools that prevent or detect them.