Enhance your programming skill set with a bachelor's degree in software development and security.
The Bachelor of Science in software development and security from University of Maryland University College is designed to teach you in-demand programming languages and the best practices in software development in today's workplace.
These program requirements are for students who enroll in the 2018–2019 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
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
- CMIS 141
- CMIS 242
- CMIS 320
- SDEV 300
- SDEV 325
- SDEV 350
- SDEV 360
- SDEV 400
- SDEV 425
- SDEV 460
- CMSC 495
The bachelor's degree in software development and security requires 46 credits of minor and/or elective coursework.
General Education Requirements
- LIBS 150
(to be taken in first 6 credits)
Writing and Communication Courses
- 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 Courses
- HIST 125 or other arts and humanities course
- HUMN 100 or other arts and humanities course
Behavioral and Social Sciences Courses
- ECON 103 or other behavioral and social sciences course
- BEHS 103 or other behavioral and social sciences course
Biological and Physical Sciences Courses
- One of the following pairs of lecture and laboratory courses in the same session:
- BIOL 101 and BIOL 102
- NSCI 100 and NCSI 101
- Other paired science lecture and laboratory courses taken in the same session
- GEOL 100 or other science lecture course
- IFSM 201 or CMST 301
- CMIS 102
(prerequisite to later 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 UMUC:
- 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
- 3 credits in advanced writing
- 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 UMUC 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.
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.
Experience Recommended for Success in the Program
We recommend you have experience using computers and installing software.
Student Clubs and Organizations
Type: Academic club
Available To: Undergraduate and Graduate
The Computing Club allows its student members to share experiences and offer each other guidance on academic major and career options. Club events provide opportunities for professional socialization and networking, and members are privy to club resources that will help them further their education and careers.
Upsilon Pi Epsilon
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.
About the Faculty
Our world-class faculty members combine academic credentials with a wealth of experience in the field.
Faculty members in this program hold or have recently held positions including
- Incident responder
- Information security officer
- Intrusion analyst
- Penetration tester
- Security analyst
- Software architect
- Software engineer
Our faculty work or have worked at organizations including
- Lockheed Martin
- National Security Agency