Secure Software Engineering
Security requirements; Specification of security requirements; Software development lifecycle and Security development lifecycle; Programming languages and type-safe languages; Best security programming practices; Writing secure distributed programs: The security ramifications of class, field and method visibility.
Character codes (i.e. ASCII, EBCDIC, UNICODE, Excess-3, Grey code, Error checking codes etc. with their needs and utilities.); Secure software, risk analysis, threat modeling, deploying cryptographic algorithms, defensive coding, penetration testing, static analysis, and security assessment; Security for web and mobile applications
- Software Security: Building Security In by Gary McGraw. Addison-Wesley, ISBN 978-321-35670-3
- Software Security Engineering: A Guide for Project Managers by Julia H. Allen, Sean Barnum, Robert J. Ellison, Gary McGraw, and Nancy Mead. Addison-Wesley, ISBN 978-0-32-150917-8
Programming assignments leading to extensive practice in problem solving and program development involving the use of the various data structures, encryption, algorithms implemented in the course.