Enhance your programming skill set with a bachelor's degree in software development and security.

Our online bachelor's degree in software development and security is designed to teach you programming languages and best practices in software development that are in demand today in the workplace. Study also focuses on the critical element of software security, providing skills in how to find and address possible vulnerabilities.

These program requirements are for students who enroll in the 2019–2020 academic year. For prior year academic requirements, visit the catalog archive in the Current Students section.

About the Software Development and Security Bachelor's Degree

Your software development and security courses will focus on developing your skills using multiple programming languages and relational databases while maintaining component security using industry and government best practices. You'll learn to design, develop, and test secure software applications, conduct software penetration testing, and provide recommendations for reducing computer security risks.

What You'll Learn

Through your coursework, you will learn how to

  • Work individually or in a team 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

Coursework Examples

In past projects, students have had the opportunity to

  • Design and implement a program for a virtual stringed musical instrument that includes data fields for notes; Boolean fields to determine whether the instrument is tuned or currently playing; and methods to stop, start, and tune the instrument
  • Analyze web applications by using static code tools to detect and mitigate software vulnerabilities
  • Conduct penetration testing and develop a plan to report and mitigate software security issues using an existing software design and code

Software Development and Security Bachelor's Degree Requirements

Our curriculum is designed with input from employers, industry experts, and scholars. You'll learn theories combined with real-world applications and practical skills you can apply on the job right away.

Courses in the Major

This program requires 33 credits of coursework in the major.

  • CMIS 141
  • CMIS 242
  • CMIS 320
  • SDEV 300
  • SDEV 325
  • SDEV 350
  • SDEV 360
  • SDEV 400
  • SDEV 425
  • SDEV 460
  • CMSC 495

Related Required Course

The following may be applied to general education or elective requirements:

  • CMIS 102


This program requires 46 credits of minor and/or elective coursework.

General Education Requirements

This program requires 41 credits of general education coursework.

Research and Computing Literacy

  • PACE 111T or other PACE 111 course
    (to be taken in first 6 credits)
  • LIBS 150, CAPL 398A, or other general education elective
  • CMIS 102
    (prerequisite to later course)


  • WRTG 111 or other writing course
  • WRTG 112
  • SPCH 100 or other communication, writing, or speech course
  • WRTG 393 or other advanced upper-level writing course


  • MATH 107 or other approved math or statistics course

Arts and Humanities

  • HIST 125 or other arts and humanities course
  • HUMN 100 or other arts and humanities course

Behavioral and Social Sciences

  • ECON 103 or other behavioral and social sciences course
  • BEHS 103 or other behavioral and social sciences course

Biological and Physical Sciences

  • One of the following pairs of lecture and laboratory courses in the same session:
    • BIOL 101 and BIOL 102
    • NSCI 100 and NSCI 101
    • Other paired science lecture and laboratory courses taken in the same session
  • GEOL 100 or other science lecture course

Since some recommended courses fulfill more than one requirement, substituting courses for those listed may require you to take additional courses to meet degree requirements. Consult an advisor whenever taking advantage of other options. Please also see more information on alternate courses (where allowable) to fulfill general education requirements.

Overall Bachelor's Degree Requirements

In addition to the general education requirements and the major, minor, and elective requirements, the overall requirements listed below apply to all bachelor's degrees.

  • You must complete a minimum of 120 credits.
  • You must maintain a minimum grade point average of 2.0 overall and a minimum grade of C for any class applied to the academic major or minor.
  • Within the 120 credits required, the following coursework must be taken through UMGC:
    • 30 credits (normally the final 30)
    • Half of the required number of credits within both the major and the minor
    • 15 credits at the upper level (earned in classes numbered 300 to 499), preferably within the major or minor
  • At least 45 credits must be upper level and include at least half of the credits required for the major. The remaining upper-level credits can be earned in any part of the curriculum.
  • At least half the required number of credits for any academic major or minor must be earned through graded coursework. Credit earned by examination, portfolio assessment, or noncollegiate training does not count as graded coursework.

Double majors: You can earn a dual major upon completion of all requirements for both majors, including the required minimum number of credits for each major and all related requirements for both majors. The same class cannot be used to fulfill requirements for more than one major. Certain restrictions (including use of credit and acceptable combinations of majors) apply for double majors. You cannot major in two programs with excessive overlap of required coursework. Contact an admissions advisor before selecting a double major.

Second bachelor's degree: To earn a second bachelor's degree, you must complete at least 30 credits through UMGC after completing the first degree. The combined credit in both degrees must add up to at least 150 credits. You must complete all requirements for the major. All prerequisites apply. If any of these requirements were satisfied in the previous degree, the remainder necessary to complete the minimum 30 credits of new classes should be satisfied with classes related to your major. You may not earn a second bachelor's degree in general studies and may not obtain a second associate's degree within the second bachelor's degree. Contact an admissions advisor before pursuing a second bachelor's degree.

Electives: Electives can be taken in any academic discipline. No more than 21 credits can consist of vocational or technical credit. Pass/fail credit, up to a maximum of 18 credits, can be applied toward electives only.

Career Preparation

This program is designed to help prepare you for technical and leadership roles in diverse application development and security settings, including high-demand areas such as security analysis, security management, application and software architecture, information security, intrusion analysis, penetration testing, programming, engineering, security and code auditing, and system architecture.

Student Clubs and Organizations

    Type: Student organization
    Available To: Undergraduate and Graduate

    The Computing Club aims to create a dynamic environment where members can work collaboratively, share innovative ideas, enhance their career-readiness, and gain marketable experience in their respective fields.

    Type: Honor society
    Available To: Undergraduate and Graduate

    Upsilon Pi Epsilon is the international honor society for the computing and information disciplines. Formed in 1967, the purpose of Upsilon Pi Epsilon is to promote the computing and information sciences and to encourage the enhancement of knowledge in the field. Upsilon Pi Epsilon is open to both undergraduate and graduate students who are pursuing a degree in the computing and information disciplines.