SDEV Course Listing

Building Secure Web Applications (SDEV 300, 3 Credits)
Prerequisite: CMIS 242, CMIS 215, or CMIS 225. A hands-on study of best practices and strategies for building secure applications for the web. The objective is to defend against web application vulnerabilities. Topics include web application architecture, common threats and trends, cross-site scripting, SQL injection, input validation, and business logic flaws.

Detecting Software Vulnerabilities (SDEV 325, 3 Credits)
Prerequisites: CMIS 320 and SDEV 300. An in-depth, practical application of techniques and tools for detecting and documenting software vulnerabilities and risks. The goal is to research, select, and use software to analyze code and isolate and prioritize application code and processes that could lead to failure or compromise data integrity or privacy. Topics include the top 25 software vulnerabilities, secure coding guidelines, static code analysis, and software assurance metrics.

Database Security (SDEV 350, 3 Credits)
Prerequisite: CMIS 320. A study of processes and techniques for securing databases. The objective is to design, build, and maintain databases to minimize risks and security attacks. Topics include privileges and roles, user accounts, encryption, authentication methods, and auditing.

Securing Mobile Apps (SDEV 355, 3 Credits)
Prerequisite: SDEV 325. A hands-on study of best practices for designing and building secure mobile applications. The aim is to formulate proper defenses and processes to mitigate common attacks. Focus is on mobile device infrastructure, security models, and mobile applications. Topics include code analysis, risk modeling, native and web mobile applications security, secure mobile communication, and back-end application attacks and counterattacks.

Secure Software Engineering (SDEV 360, 3 Credits)
Prerequisite: CMIS 242. An in-depth study of the processes, standards, and regulations associated with secure software engineering. The objective is to plan, manage, document, and communicate all phases of a secure software development cycle. Topics include security requirements, secure software life cycle development, threat modeling, and Security Technical Implementation Guides (STIGs).

Secure Programming in the Cloud (SDEV 400, 3 Credits)
Prerequisite: SDEV 300. A hands-on study of programming secure applications in the cloud. The goal is to design and build applications in the cloud while implementing appropriate security policies. Topics include cloud computing models, risks and security challenges of programming in the cloud, and data security.

Mitigating Software Vulnerabilities (SDEV 425, 3 Credits)
Prerequisites: SDEV 325 and SDEV 360. An in-depth analysis and evaluation of the mitigation of software vulnerabilities. The aim is to detect and mitigate software vulnerabilities by evaluating code. Topics include language-specific software vulnerabilities, mitigation, and input validation.

Risk Analysis and Threat Modeling (SDEV 455, 3 Credits)
Prerequisite: SDEV 360. An examination of the risks and threats associated with application development. The objective is to identify valuable assets, create system architecture diagrams, decompose applications, identify and prioritize threats, and document results in a threat model. Topics include security requirements and objectives, threat identification and mitigation, and calculating risk.

Software Security Testing (SDEV 460, 3 Credits)
Prerequisite: SDEV 425. A hands-on study of exploits, attacks, and techniques used to penetrate application security defenses and strategies for mitigating such attacks. The objective is to apply appropriate methodologies for software penetration testing to identify application weaknesses and logic flaws and to test and create scripts for exploitation and discovery. Topics include web architecture, application infrastructure, reconnaissance, discovery, mapping, and exploitation.

Workplace Learning in Software Development (SDEV 486A, 3 Credits)
Prerequisites: 9 credits in the discipline and prior program approval (requirements detailed online at www.umuc.edu/wkpl). The integration of discipline-specific knowledge with new experiences in the work environment. Tasks include completing a series of academic assignments that parallel work experiences.

Workplace Learning in Software Development (SDEV 486B, 6 Credits)
Prerequisites: 9 credits in the discipline and prior program approval (requirements detailed online at www.umuc.edu/wkpl). The integration of discipline-specific knowledge with new experiences in the work environment. Tasks include completing a series of academic assignments that parallel work experiences.