The course objective is to present to professional computer programmers the common methods used by hackers to exploit vulnerabilities in computer programs and how to program defensively to avoid introducing such vulnerabilities into their own programs.