Skip to content

Secure Programming

Description of Course Content

This course is an introduction to methods of secure software design and development for upper-level undergraduate students and graduate students. Students will learn about the major security problems found in software today. Using this knowledge, they will work to find these bugs in software, fix the bugs, and design software so that it has fewer security problems. Static analysis tools will be a core part of the class, but students will also be exposed to black box testing tools. Topics will include input validation, buffer overflow prevention, error handling, web application issues, and XML. Prerequisites: CSE 3310 and CSE 3320, or equivalent.

Student Learning Outcomes

The student should understand the principles necessary to develop secure software within the larger context of System Security Engineering. In addition, the student will have the opportunity to apply their understanding of secure software development principles using static code analysis (both manual and automated) as well as implementation and exploitation of vulnerabilities that are the result of poor programming practices.

Required Textbooks and Other Course Materials

Computer Security: A Hands-On Approach, Third Edition Publisher: Wenliang Du (May 2022) Language: English ISBN: 978-1-7330039-5-7 Price: $45.95 (new on Amazon)

Optional Textbooks

Secure Programming with Static Analysis Paperback: 624 pages, (Electronic versions also available) Publisher: Addison-Wesley Professional (July 9, 2007) Language: English ISBN-10: 0321424778 ISBN-13: 978-0321424778 Price: $45.00 (new at UTA Bookstore