M.S. in Computer Science - Software Systems Focus
36
Credit Hours
20
Month Completion
Class Type
Face-to-face, Online courseworkSee state availability
Next Start Date
May 20, 2024
Placement Tests
GMAT/GRE not required for admission

Broaden your skills with a M.S. in computer science with a focus in software systems

Businesses of every type rely on software for daily operations. Because software that can grow with the organization is key to profitability, skilled computer science professionals make the difference between record-breaking performance and going broke. With Franklin’s 100% online M.S. in Computer Science with a focus in Software Systems, you’ll learn how to design and build scalable modern software systems. By combining the core principles of Franklin’s contemporary master’s-level computer science program with additional courses in system architecture and artificial intelligence, you’ll be prepared for specialized roles.

Finish Fast

Finish your master's in as few as 20 months.

Leading Architectural Tools

Get hands-on experience with KNIME, Octave and Eclipse.

Customizable Program

Tailor your master's degree program to your interests.

Real-World Practitioners

Learn from experienced technology leaders.

100% Online Classes

Earn your degree around your schedule.

Game-Changing Skills

Play an important role in communicating emerging technologies to stakeholders.

M.S. in Computer Science - Software Systems Focus Overview

Gain foundational knowledge in the most important topics in modern software systems

Your M.S. in Computer Science-Software Systems provides hands-on coursework that ensures you’ll gain the skills needed to design the overall architecture for software systems with emphasis on distributed architectures, as well as those necessary to apply artificial intelligence. With a curriculum informed and taught by industry leaders, you’ll gain insight into challenges currently facing computer science professionals, as well as proven problem-solving strategies. 

Master current practices in software development and object-oriented design

Dive deep into leading software development methodologies including agile, extreme programming, test-driven design, patterns, aspect-oriented programing, model-driven architecture, KNIME, OCTAVE, Eclipse and integrated development environments. You’ll emerge with the ability to appropriately apply current software methods to resolve design issues, as well as the ability to critique software using object-oriented principles. 

Acquire a theory-to-practice understanding of artificial intelligence

You gain foundational knowledge and real-world skills in a wide range of artificial intelligence (AI) areas including machine learning, artificial neural networks, evolutionary computing, robotics, intelligent agents and bio-inspired AI approaches. You’ll put your learning to the test with hands-on group projects focused on creating AI-based applications. 

Read more >

Mahlet B.

M.S. Computer Science '20

"Receiving my degree from Franklin University means a lot to me. I was always taught that education is a path to reach ones' destiny, create a cultivated mind and enable growth personally and professionally."

Future Start Dates

Start dates for individual programs may vary and are subject to change. Please request free information & speak with an admission advisor for the latest program start dates.

Summer 2024
May
20
Recommended Register By:
May 10
Fall 2024
August
19
Recommended Register By:
Aug 9
Fall 2024
September
30
Recommended Register By:
Sep 20
Spring 2025
January
6
Recommended Register By:
Dec 27
Spring 2025
February
17
Recommended Register By:
Feb 7

Your Best Value M.S. Computer Science

Choose Franklin's M.S. Computer Science and get a high-quality degree that fits your life and your budget. 

Non-Profit = Student Focused

Unlike for-profit universities, Franklin invests in student success, not shareholder gain.

Partner? Pay Less.

Search below to see if you could save tuition through an employer or professional organization partnership.

$24,120
Total Tuition
(After Partner Discount)

Tuition Guarantee

Inflation-proof your degree cost by locking-in your tuition rate from day one through graduation.

Highly Recommended

98%
STUDENT SATISFACTION

98% of graduating students would recommend Franklin to their family, friends and/or colleagues.

**Source: Franklin University, Office of Career Development Student Satisfaction Survey (Summer 2023)

×
×

M.S. in Computer Science - Software Systems Focus Curriculum

Major Area Required
COMP 611 - Advanced Data Structures and Programming (4)

This course covers key knowledge and skills for advanced software development using the object-oriented approach. The student learns, manipulates and reflects on nonlinear data structures such as trees and heaps. Recursive algorithms, sorting algorithms, algorithm efficiency, and advanced design patterns are addressed. To support the advanced concepts and principles of software development, the student will design, code, test, debug, and document programs with increased scale and complexity using industry's best practices (such as GitHub) and the Java programming language.

COMP 620 - Analysis of Algorithms (4)

This course covers various algorithm design paradigms, mathematical analysis of algorithms, empirical analysis of algorithms and NP-completeness.

COMP 630 - Issues in Database Management (4)

This course focuses on the fundamental design considerations in designing a database. Specific topics include performance analysis of design alternatives, system configuration and the administration of a popular database system. The course also offers an in-depth analysis of the algorithms and machine organizations of database systems. Note, this course has proctored exam(s). This exams requires additional technology, if student uses online proctoring.

COMP 655 - Distributed Systems (4)

This course introduces the design of distributed computing systems and distributed application programming. Major concepts of distributed systems covered include: transparency, heterogeneity, process communication, consistency, fault tolerance, and security. Students also will learn to develop a real-world distributed application as a RESTful Web-service on an application server.

COMP 671 - Verification and Testing (4)

This course focuses on the issues of delivering high-quality software, especially in large complex systems. Topics covered include testing strategies (black box, white box, regression, etc.), unit testing, system integration, system verification and support tools. It also will reinforce the need for requirements that are testable and traceable from the early design stages.

COMP 691 - Capstone (4)

This course, the final one in the Master of Science - Computer Science program, challenges students to research a current topic of interest in Computer Science and produce an original paper and presentation on the topic. In addition to the research paper, students are introduced to the economics of software development and the tools needed to estimate the cost of a software development project for management in a corporate environment. The last topic in the course is a discussion of ethics as it relates to Information Technology. Current topics in ethics will be discussed through the use of relevant case studies.

Major Electives

At least 12 credits from the following courses:

MATH 601 - Introduction to Analytics (4)

This course provides an introductory overview of methods, concepts, and current practices in the growing field of statistics and data analytics. Topics to be covered include data collection, data analysis and visualization as well as probability, statistical inference and regression methods for informed decision-making. Students will explore these topics with current statistical software. Some emphasis will also be given to ethical principles of data analytics.

DATA 605 - Data Visualization & Reporting (4)

This course focuses on collecting, preparing, and analyzing data to create visualizations, dashboards, and stories that can be used to communicate critical business insights. Students will learn how to structure and streamline data analysis projects and highlight their implications efficiently using the most popular visualization tools used by businesses today.

DATA 611 - Applied Machine Learning (4)

This course explores two main areas of machine learning: supervised and unsupervised. Topics include the fundamental concepts, roadmap of a machine learning project, classification algorithms, regression algorithms, dimensionality reduction, model evaluation, natural language processing, neural networks and deep learning, typical issues in real-world machine learning problems, and Python programming in data science.

ISEC 610 - Information Assurance (4)

This course covers the fundamentals of security in the enterprise environment. Included are coverage of risks and vulnerabilities, threat modeling, policy formation, controls and protection methods, encryption and authentication technologies, network security, cryptography, personnel and physical security issues, as well as ethical and legal issues. This foundational course serves as an introduction to many of the subsequent topics discussed in depth in later security courses.

ISEC 620 - Software and App Security (4)

Today, software is at the heart of nearly every business from finance to manufacturing. Software pervades everyday life in expected places like phones and computers but also in places that you may not consider such as toasters, thermostats, automobiles, and even light bulbs. Security flaws in software can have impacts ranging from inconvenient to damaging and even catastrophic when it involves life-critical systems. How can software be designed and built to minimize the presence of flaws or mitigate their impacts' This course focuses on software development processes that identify, model, and mitigate threats to all kinds of software. Topics include threat modeling frameworks, attack trees, attack libraries, defensive tactics, secure software development lifecycle, web, cloud, and human factors.

ISEC 640 - Cryptography (4)

The cryptographic primitives of enciphering/deciphering and hashing are the two main methods of preserving confidentiality and data integrity at rest and in transit. As such, the study of cryptographic techniques is of primary interest to security practitioners. This course will cover the essential principles in historical and modern cryptography, including the underlying information theory, mathematics, and randomness. Critical technologies such as stream and block ciphers, symmetric and asymmetric cryptography, public key infrastructure, and key exchange will be explored. Finally, hashing and message authentication codes will be examined as a way of preserving data integrity.

COMP 645 - Object-Oriented Design & Practice (4)

This course surveys current practices in software development and software design, especially in the area of object-oriented design. The course will examine and contrast current and leading edge methodologies and practices, including agile, extreme programming, test-driven design, patterns, aspect-oriented programming, model-driven architecture, Unified Modeling Language, and integrated development environments.

COMP 650 - System Architecture & Engineering (4)

This course covers topics in software systems engineering. Its scope is the design of the overall architecture for software systems with emphasis on distributed architectures. The issues in an architecture centered software development cycle and project management are addressed.

COMP 670 - Application of Artificial Intelligence (4)

This course is an introduction to Artificial Intelligence (AI) from an applied perspective. After an introduction of some basic concepts and techniques (such as searching and knowledge representation), the course illustrates both the theoretical foundation and application of these techniques with examples from a variety of problems. The course surveys a wide range of active areas in AI such as machine learning, artificial neural networks, evolutionary computing, robotics, intelligent agents and bio-inspired AI approaches. It strikes a balance between engineering approaches and theory. Exercises include hands-on application of basic AI techniques as well as selection of appropriate technologies for a given problem. The principal topics in the selected areas are also coupled with projects where groups of students will participate in the creation of AI-based applications.

COMP 610 - Internship in Computer Science (1-4)

This course provides MSCS students the opportunity to further their education with relevant work experience in the field of Computer Science. This internship is an ongoing seminar between the student, faculty and the employment supervisor. It involves a Learning Contract (Curricular Practical Training [CPT] Information, or other), periodic meetings with the faculty representative, and professional experience at a level equivalent to other electives of the MSCS program. Specification of the materials to be submitted is established in the learning contract. Participation cannot be guaranteed for all applicants.

COMP 699 - Independent Studies in Graduate Computer Science (1-4)

Independent studies courses allow students in good academic standing to pursue learning in areas not covered by the regular curriculum or to extend study in areas presently taught. Study is under faculty supervision and graded on Pass/No Credit basis. For international students, curricular practiced training may be used as an independent study with approval of program chair. (See the "Independent Studies" section of the Academic Bulletin for more details.)

Optional Focus Areas

Students may complete a focus area to fulfill the Major Elective requirement.

OR

Data Analytics:

MATH 601 - Introduction to Analytics (4)

This course provides an introductory overview of methods, concepts, and current practices in the growing field of statistics and data analytics. Topics to be covered include data collection, data analysis and visualization as well as probability, statistical inference and regression methods for informed decision-making. Students will explore these topics with current statistical software. Some emphasis will also be given to ethical principles of data analytics.

DATA 605 - Data Visualization & Reporting (4)

This course focuses on collecting, preparing, and analyzing data to create visualizations, dashboards, and stories that can be used to communicate critical business insights. Students will learn how to structure and streamline data analysis projects and highlight their implications efficiently using the most popular visualization tools used by businesses today.

DATA 611 - Applied Machine Learning (4)

This course explores two main areas of machine learning: supervised and unsupervised. Topics include the fundamental concepts, roadmap of a machine learning project, classification algorithms, regression algorithms, dimensionality reduction, model evaluation, natural language processing, neural networks and deep learning, typical issues in real-world machine learning problems, and Python programming in data science.

OR

Cybersecurity:

ISEC 610 - Information Assurance (4)

This course covers the fundamentals of security in the enterprise environment. Included are coverage of risks and vulnerabilities, threat modeling, policy formation, controls and protection methods, encryption and authentication technologies, network security, cryptography, personnel and physical security issues, as well as ethical and legal issues. This foundational course serves as an introduction to many of the subsequent topics discussed in depth in later security courses.

ISEC 620 - Software and App Security (4)

Today, software is at the heart of nearly every business from finance to manufacturing. Software pervades everyday life in expected places like phones and computers but also in places that you may not consider such as toasters, thermostats, automobiles, and even light bulbs. Security flaws in software can have impacts ranging from inconvenient to damaging and even catastrophic when it involves life-critical systems. How can software be designed and built to minimize the presence of flaws or mitigate their impacts' This course focuses on software development processes that identify, model, and mitigate threats to all kinds of software. Topics include threat modeling frameworks, attack trees, attack libraries, defensive tactics, secure software development lifecycle, web, cloud, and human factors.

ISEC 640 - Cryptography (4)

The cryptographic primitives of enciphering/deciphering and hashing are the two main methods of preserving confidentiality and data integrity at rest and in transit. As such, the study of cryptographic techniques is of primary interest to security practitioners. This course will cover the essential principles in historical and modern cryptography, including the underlying information theory, mathematics, and randomness. Critical technologies such as stream and block ciphers, symmetric and asymmetric cryptography, public key infrastructure, and key exchange will be explored. Finally, hashing and message authentication codes will be examined as a way of preserving data integrity.

OR

Software Systems:

COMP 645 - Object-Oriented Design & Practice (4)

This course surveys current practices in software development and software design, especially in the area of object-oriented design. The course will examine and contrast current and leading edge methodologies and practices, including agile, extreme programming, test-driven design, patterns, aspect-oriented programming, model-driven architecture, Unified Modeling Language, and integrated development environments.

COMP 650 - System Architecture & Engineering (4)

This course covers topics in software systems engineering. Its scope is the design of the overall architecture for software systems with emphasis on distributed architectures. The issues in an architecture centered software development cycle and project management are addressed.

COMP 670 - Application of Artificial Intelligence (4)

This course is an introduction to Artificial Intelligence (AI) from an applied perspective. After an introduction of some basic concepts and techniques (such as searching and knowledge representation), the course illustrates both the theoretical foundation and application of these techniques with examples from a variety of problems. The course surveys a wide range of active areas in AI such as machine learning, artificial neural networks, evolutionary computing, robotics, intelligent agents and bio-inspired AI approaches. It strikes a balance between engineering approaches and theory. Exercises include hands-on application of basic AI techniques as well as selection of appropriate technologies for a given problem. The principal topics in the selected areas are also coupled with projects where groups of students will participate in the creation of AI-based applications.

Corequisites
COMP 501 - Foundations of Programming (4)

This course covers fundamental programming principles. Students will learn about the basic elements of a computer program, such as data types, assignments, conditional branching, loops, functions, recursion, basic data structures, program debugging, and testing.

OR ITEC 136 - Principles of Programming (4)

This course introduces programming to individuals with little or no programming background. The goal of this course is to introduce the fundamentals of structured programming, problem solving, algorithm design, and software lifecycle. Topics will include testing, data types, operations, repetition and selection control structures, functions and procedures, arrays, and top down stepwise refinement. Students will design, code, test, debug, and document programs in a relevant programming language.

OR COMP 111 - Introduction to Computer Science & Object-Oriented Programming (4)

This course provides an introduction to software construction using an object-oriented approach. The student learns and reflects on problem analysis, object-oriented design, implementation, and testing. To support the concepts and principles of software construction, the student will design, code, test, debug, and document programs using the Java programming language. Basic data types, control structures, methods, and classes are used as the building blocks for reusable software components. Automated unit testing, programming style, and industrial practice are emphasized in addition to the object-oriented techniques of abstraction, encapsulation, and composition.

COMP 511 - Foundation Data Struc & Obj Orntd Design (4)

This course continues the object-oriented approach to intermediate-level software development. The student will learn and reflect on fundamental object-oriented analysis techniques, basic design patterns, and linear data structures such as lists and queues.

OR COMP 121 - Object-Oriented Data Structures & Algorithms I (4)

This course continues the objected-oriented approach to software construction. The student learns and reflects on advanced object-oriented techniques, algorithm efficiency, class hierarchies, and data structures. To support the concepts and principles of software construction, the student will design, code, test, debug, and document programs using the Java programming language. Design principles, I/O, exception handling, linear data structures (lists, stacks, and queues), and design patterns are emphasized in addition to the object-oriented techniques of inheritance and polymorphism.

MATH 503 - Foundations of Mathematics for Computing (4)

This course introduces students to fundamental algebraic, logical, and combinational concepts in mathematics that are needed in upper division computer science courses. Topics include integer representation; algorithms; modular arithmetic and exponentiation; discrete logarithms; cryptography; recursion; primality testing; number theory; graphs and directed graphs; trees; and Boolean Algebra.

OR MATH 320 - Discrete Mathematics (4)

This course introduces students to fundamental algebraic, logical, and combinational concepts in mathematics that are needed in upper-division computer science courses. Topics include sets, mappings, and relations; elementary counting principles; proof techniques with an emphasis on mathematical induction; graphs and directed graphs; Boolean algebras; recursion; and applications to computer science.

Students with an undergraduate degree in computer science will be admitted without future prerequisites. However, the students will be expected to possess intermediate Java programming skills as determined by completing COMP 121 or COMP 511, having a Java SE 8 programmer certification from Oracle, or a portfolio of Java-related examples that would include the fundamentals of object-oriented programming, linear and non-liner data structures (stacks, queues, lists, etc.)

Students without a computer science degree will need to have credit for the above Franklin University courses or the equivalent undergraduate course work for the prerequisites at an institutionally (formerly regionally) accredited institution OR appropriate relevant work experience. Graduate prerequisite courses (500 level) must be completed with a grade of "C" or better. Undergraduate prerequisite courses must be completed with a grade of "C" or better. Work experience as a software engineer, developer, or programmer analyst will be evaluated by the program chair upon request. Resumes, work samples, and personal interviews may all be used to determine the depth of knowledge in these areas.

fafsa_ebook_image_open_460x302.jpg

Free Master's Toolkit

Eliminate guesswork by comparing schools and calculate the ROI of a master’s degree.

Download Now >

M.S. in Computer Science - Software Systems Focus Program Details

Manasa K.

M.S. Computer Science '20

"Thank you Franklin University, for helping me reach this important milestone in my career."

Career Opportunities

Software Developer

Software developers, also known as computer programmers, help design, create, install, test and maintain relevant and functional computer programs and device applications. 

Software Architect

Software Architects collaborate in the creation and evolution of computer programs by providing software developers with platform, coding, and technical requirements.

AI Engineer

AI engineers blend data science and software engineering to create automated business solutions.

Employment Outlook

13%

From 2021-2031 jobs in Computer Science are expected to increase by 13%

All Occupations

2021
5,400,282 jobs
2031
6,080,567 jobs
Show Details >

Computer and Information Systems Managers

2023
604,207 jobs
2033
722,584 jobs

Software Developers and Software Quality Assurance Analysts and Testers

2021
1,600,098 jobs
2031
1,924,125 jobs

Web Developers and Digital Interface Designers

2021
198,907 jobs
2031
222,454 jobs

Computer User Support Specialists

2023
604,207 jobs
2033
722,584 jobs

Computer Systems Analysts

2023
593,007 jobs
2033
676,019 jobs


Source information provided by Lightcast.

Knowledge & Skillsets

Gain in-demand skills sought by employers with curriculum that teaches you:

Get College Credit for What You Already Know

The certificates and training listed below are relevant to this degree program. Search our database to view pre-evaluated credentials and see how a license, certification or professional training saves you time and money toward your degree.

Frequently Asked Questions

Back to College Blog

Related Programs