Courses



CSC 515 - Software Security (Fall 2009–Spring 2026) [Graduate Level]

Resources: Spring 2025 website

Overview: Software Security introduces students to the discipline of designing, developing, and testing secure and dependable software-based systems. Students will be exposed to the techniques needed for the practice of effective software secruity techniques. By the end of the course, a student should be able to do the following things:

Learning Outcomes:

CSC 415 - Software Security (Spring 2024–Spring 2026) [Undergraduate Level]

Resources: Spring 2025 website

Overview: Software Security introduces students to the discipline of designing, developing, and testing secure and dependable software-based systems. Students will learn about risks and vulnerabilities, and effective software security techniques. Topics include common vulnerabilities, access control, information leakage, logging, usability, risk analysis, testing, design principles, security policies, and privacy. By the end of the course, a student should be able to do the following things:

Learning Outcomes:

CSC 326 - Software Engineering (Fall 2006–Fall 2016) [Undergraduate Level]

Resources:

Overview: Software Engineering introduces students to the discipline of developing useful and high-quality software-based systems. Students will be exposed to the techniques needed for the practice of effective software engineering as well as the skills required to succeed as a software professional. By the end of the course, you should be able to do the following things:

Learning Outcomes:

CSC 712 - Software Reliability and Testing (Fall 2006–Fall 2007) [Graduate Level]

Overview: This course introduces software reliability processes, reliability growth models and shows techniques to improve and predict software reliability. Concepts such as defining necessary reliability, developing operational profiles, techniques to improve and predict software reliability, preparing and executing black box testing, white box testing, unit testing, system testing, and integration testing will be explained. By the end of the course, a student should be able to do the following things:

Learning Outcomes: