Software Development and Security
Students may seek an academic major in software development and security.
Major in Software Development and Security
The major in software development and security helps provide the skills and knowledge necessary for a successful career in secure programming and application security. The curriculum focuses on developing skills in using multiple programming languages and relational databases and maintaining the security of all software-related components through the use of leading industry and government practices and recommendations.
Graduates may pursue technical and leadership roles in diverse and challenging application development and security settings, including positions as software development and security analysts, software development and security managers, application and software architects, information security officers, incident responders, intrusion analysts, penetration testers, programmers, software engineers, security and code auditors, and system architects. They may also pursue graduate studies in software engineering or other cybersecurity- and computer science–related fields of study.
Intended Program Outcomes
The student who graduates with a major in software development and security should be able to:
- Work individually or in teams to design, develop, implement, and test secure software using leading industry practices and standards to meet user requirements.
- Plan, manage, document, and communicate all phases of a secure software development project as part of a software development team.
- Use appropriate tools to assess and analyze existing applications for weaknesses and vulnerabilities and implement techniques for mitigating security threats and risks.
- Identify and respond to threats and attacks to minimize risk and protect privacy.
Degree Requirements Update
Degree requirements are being updated for fall 2015. How does this affect you? Your degree requirements may vary depending on when you start your program.
- If you are starting your degree this summer, please follow the degree requirements for the 2014–15 school year listed on this page or in the 2014–15 Software Development and Security Degree Planning Worksheet
- If you are starting your degree this fall, please follow the 2015–16 Software Development and Security Degree Planning Worksheet
- If you are a current student, please follow the degree requirements for the year you began your program, available in the catalog archive
A degree with a major in software development and security requires the successful completion of 120 credits of coursework, including 33 credits for the major; 41 credits in general education requirements; and 46 credits in the minor, electives, and other degree requirements. At least 15 credits in the major must be earned in upper-level courses (numbered 300 or above).
Requirements for the Software Development and Security Major
Coursework for a major in software development and security includes the following:
- Programming language sequence (6 credits): Chosen from
- Required core courses (18 credits): CMIS 320 and SDEV 300, 325, 360, 425, and 460
- Supplemental major course (3 credits): SDEV 350 or SDEV 355
- 400-level supplemental major course (3 credits): SDEV 400 or SDEV 455
- Required capstone course (3 credits): CMSC 495
The following course sequence will fulfill all the requirements for the BS in Software Development and Security. Coursework for the major is indicated by . Since some recommended courses fulfill more than one requirement, substituting courses for those listed may make it necessary to take additional courses to meet degree requirements. Students should consult an advisor whenever taking advantage of other options.
Software Development and Security Degree Courses
First Courses (to be taken within the first 18 credits)
Note: Placement tests are required for math and writing courses.
- LIBS 150 Introduction to Research (1)
- WRTG 101 Introduction to Writing (3)
or WRTG 101S Introduction to Writing (3)
- MATH 106 Finite Mathematics (3)
or a higher-level math course
- CMIS 102 Introduction to Problem Solving and Algorithm Design (3)
(prerequisite for later courses; also fulfills the computing requirement)
Introductory Courses (to be taken within the first 30 credits)
- IFSM 201 Concepts and Applications of Information Technology (3)
or CMST 301 Digital Media and Society (3)
- HUMN 100 Introduction to Humanities
or other arts and humanities course
- BIOL 103 Introduction to Biology (4)
or other biological and physical sciences lecture and laboratory course(s)
- CMIS 115 Programming in Objective-C for the Mac (3)
or CMIS 125 Programming in C#
or CMIS 141 Introductory Programming
- ECON 103 Economics in the Information Age (3)
or other behavioral and social sciences course
Foundation Courses (to be taken within the first 60 credits)
- WRTG 293 Introduction to Professional Writing (3)
or other writing course
- CMIS 215 Programming for the iPhone and iPad (3)
or CMIS 225 Developing Windows Presentation Foundation Applications Using C# (3)
or CMIS 242 Intermediate Programming (3)
- BEHS 103 Technology in Contemporary Society (3)
or other behavioral and social sciences course
(discipline must differ from first)
- NSCI 100 Introduction to Physical Science (3)
or other biological and physical sciences lecture course
- HIST 125 Technological Transformations (3)
or other arts and humanities/historical perspective course
(discipline must differ from other humanities course)
- COMM 202 Media and Society (3)
or other communication, writing, or speech course
- CMIS 320 Relational Database Concepts and Applications (3)
Additional Required Courses (to be taken after introductory and foundation courses)
- WRTG 393 Advanced Technical Writing (3)
or other upper-level advanced writing course
- SDEV 300 Building Secure Web Applications (3)
- SDEV 325 Detecting Software Vulnerabilities (3)
- SDEV 350 Database Security (3)
or SDEV 355 Securing Mobile Applications (3)
- SDEV 360 Secure Software Engineering (3)
- SDEV 400 Secure Programming in the Cloud (3)
or SDEV 455 Risk Analysis and Threat Modeling (3)
- SDEV 425 Mitigating Software Vulnerabilities (3)
- SDEV 460 Penetration Testing (3)
Capstone Course for Major (to be taken in the last 9 credits)
- CMSC 495 Current Trends and Projects in Computer Science (3)
Minor and/or Elective Courses (to be taken in the last 60 credits along with required major courses) (46)
Total credits for BS in Software Development and Security: 120
Affordable State Tuition Rates
Courses of Interest
No courses have been added yet. To add a course, click on a course title, then click "add to courses of interest" below the course description.