Closeup of hands on a laptop keyboard for the Master of Science in Computer Science Program Page

Master of Science in Computer Science

computer icon for 4 week courses

4-Week Courses

Start sooner and finish faster with our innovative course design.

calendar icon for year round enrollment

Year-Round Enrollment

Our admissions team reviews applications year-round.

graduation cap icon for alumni community

240K+ Alumni Worldwide

Become a member of NU’s global community.

Home » Programs » Master of Science in Computer Science

Program Overview

In the Master of Science in Computer Science (MSCS) program at National University, you’ll learn to combine the fundamental knowledge and best practices for software engineering, database theory and design, and cloud computing. You’ll then have the opportunity to use those skills to solve real-world problems. Besides its comprehensive immersion in computing foundations, what sets this program apart is its emphasis on developing essential communication skills so you’ll be able to clearly discuss issues, trends, and solutions with both technical and non-technical audiences.

This online program offers specializations in several advanced areas, a three-month project solving a real problem for a real client against a deadline, and training that reflects current and future industry needs. MSCS degree graduates are prepared to assume a leadership role in the field.

WASC logo

The Western Association of Schools and Colleges (WASC) accredits public and private schools, colleges, and universities in the U.S.

Course Details

Course Listing

Program Prerequisites

  • 3 courses; 13.5 quarter units

Candidates seeking admission to the program should possess a baccalaureate degree in Computer Science (CS), Computer Engineering (CE), Software Engineering (SE), or Information Systems (IS). Students from other undergraduate majors can fulfill the program prerequisites either by taking CSC242, CSC252 and CSC262 courses or by demonstrating proficiency through additional equivalent coursework or taking a course challenge exam for CSC 242, CSC252 and CSC262 before starting MSCS program.

PrerequisiteMTH 215

This course introduces modern programming design techniques using C++. A study of fundamental control structures in C++ as well as syntax and semantics of the constructs in the language. The coverage includes data types, looping and decision statements, functions, and arrays. The course examines problem analysis, decomposition and modern programming paradigms and methodologies with introduction to object-oriented programming.

PrerequisiteCSC 242

The course introduces the fundamentals of Object-Oriented Programming in C++ including class definition and object instantiation, inheritance and polymorphism. Detailed coverage of pointers, operator overloading, I/O and file streams, templates, and exception handling. Exposure to Data Structures and basic algorithms for sorting and searching.

PrerequisiteMTH 215

The course introduces the Java programming language and its features. Topics include introduction to object-oriented programming, basic control structures, Java graphics and GUI objects, exposure to event driven programming, arrays and strings in Java. Coverage includes inheritance, and polymorphism and exception handling.

Core Requirements

  • 13 courses; 58.5 quarter units

It is important to note that capstone course sequence CSC686, CSC687 and CSC688 needs to be taken in the consecutive months.

PrerequisiteCSC 242 and CSC 252 and CSC 262; Students with a baccalaureate degree in Computer Science (CS), Computer Engineering (CE), Software Engineering (SE), or Information Systems (IS) do not need these prerequisites.

Review of structured, object oriented, event driven programming and java graphics. Coverage of java generic classes and lambda streams. Application development with multi-threading and database connectivity features.

The course introduces students to tools, techniques, and processes needed to develop a software product, system or application, in a systematic manner. The course will expose students to various software development life cycle frameworks and activities, including Software Process and Requirement modeling. Students will also learn about basic and advanced software project design principles and concepts that are generally used in the current software industry.

PrerequisiteCSC 603

Students on this course will learn about tools and techniques to systematically create and implement software design to meet applicable requirements and customer needs. The course will introduce the students to various techniques used by the industry for quality assurance, testing and configuration control.

PrerequisiteCSC 600

A study of relation between architectures, system software and application software. Topics include process, thread, and memory management issues, multiprogramming, timesharing, multithreading, multiprocessing, inter-process communication, synchronization, virtual machines, client-server systems, distributed systems, real time systems, resource allocation, shared resources, input output, file systems, computer security and related problems. Scope and limitations of current Operating Systems are considered.

PrerequisiteCSC 606

This course examines the use of security vulnerabilities and threats in computer programs, operating systems, networks, and databases. The use of cryptography and other countermeasures to provide confidentiality, integrity, and availability is then evaluated in depth, from the perspectives of both technical effectiveness and ethics of users and developers.

PrerequisiteCSC 600

A study of techniques in design and implementation of user interfaces. Emphasis will be on effective human computer interaction strategies that meet human cognitive capabilities and organizational practices and processes.

PrerequisiteCSC 600

Introduction to Database. DBMS Architecture. High Level Conceptual Data Models: ERI, Relational, ER to Relational Mapping. Operations and Relational Constraints Violations. Database Design Theory and Methodology: Functional Dependencies and Normal Forms. SQL *Plus environment and commands: Relational Algebra Operations, Creation and Modification of relations, Data Management and Retrieval using Multiple Tables.

PrerequisiteCSC 675

This course teaches the skills for implementing and maintaining databases using Structured Query Language (SQL), including Data Design Language and Data Manipulation Language. Topics include creating databases, manipulate data, nest queries, views, and unstructured data.

PrerequisiteCSC 678

This course addresses diverse issues arising when designing World Wide Web interface. Basic database concepts will be presented but the course will focus on discussion of interface issues specific to web databases, technologies for linking databases to web servers for delivery, discussion of various web-database applications, case studies, and industry trends. Students will design and develop front-end application using GUI/API, server-side and client-side programming.

Each time this course is offered, it addresses a topic in computer science that is not covered as a regular course. The topic is covered at an advanced level that is appropriate for any student who has successfully completed the prerequisite courses. Possible topics include grid computing, semantic web, intelligent systems and knowledge abstraction.

PrerequisiteCSC 605 and CSC 607 and CSC 670 and CSC 680

A study of the software development practices. Emphasizes logical organization of system and communicating design through documentation suitable for generating a concrete implementation. Students construct an original project with practical applications utilizing software engineering concepts.

PrerequisiteCSC 686

A continuation of the student project. Student teams complete the project in this phase. The project is coded, module-tested, system-tested and all documentation is completed. Grading is by H, S or U only.

PrerequisiteCSC 687

In this course class meets twice a week. A continuation of the student project. Student teams complete the project in this phase. The project is coded, module-tested, system-tested and all documentation is completed. Grading is by H, S, or U. Course is eligible for In Progress (IP) grade.

Hear From Our Students

Degree and Course Requirements

To receive a Master of Science in Computer Science, students must complete 58.5 quarter units of graduate coursework. A total of 13.5 quarter units of graduate credit may be granted for equivalent graduate work completed at another accredited institution, as it applies to this degree, and provided the units were not used in earning another advanced degree. The degree program consists of ten courses and a three-part MSCS graduate project (three courses, 4.5 quarter units each) that cannot be taken until CSC605, CSC607, CSC670 and CSC680 courses have been completed.

It is important to note that capstone course sequence CSC686, CSC687 and CSC688 needs to be taken in the consecutive months. In case a student is not able to complete this course sequence in consecutive months, they will be required to start with the CSC686 course in the future, whenever this course sequence is offered.

Program Learning Outcomes

  • Create software requirements specifications, and design and develop complex software systems.
  • Evaluate computer security vulnerabilities and threats, and countermeasures that are effective and ethical.
  • Analyze, design, and develop database solutions by translating database modeling theory into sound database design and implementation.
  • Analyze and design complex front-end applications for cloud and client-server architectures and integrate them with backend databases.
  • Compare and contrast alternative systems for process and memory management.
  • Demonstrate critical thinking and ability to analyze and synthesize computer science concepts and skills with ethical standards.


Enrolling in a university is a big decision. That’s why our dedicated admissions team is here to guide you through the admissions process and help you find the right program for you and your career goals.

To that end, we’ve simplified and streamlined our application process, so you can get enrolled in your program right away. Because we accept and review applications year round, you can begin class as soon as next month, depending on your program and location of choice.

Learn more about undergraduate, graduate, military, and international student admissions, plus admissions information for transfer students. You can also learn more about our tuition rates and financial aid opportunities.

To speak with our admissions team, call (855) 355-6288 or request information and an advisor will contact you shortly. If you’re ready to apply, simply start your application today.

Man in a button-down shirt smiles at a young boy in glasses who also wears a backpack
Our course structure is built to make earning your degree accessible and achievable, one month at a time, so you can start sooner and finish faster.

Why Choose National University

  • Four-Week Courses
  • 190+ Degree Programs
  • Online or On-Site
  • Year-Round Enrollment
  • Military Friendly

We’re proud to be a Veteran-founded, San Diego-based nonprofit. Since 1971, our mission has been to provide accessible, achievable higher education to adult learners. Today, we educate students from across the U.S. and around the globe, with over 240,000 alumni worldwide.

Headshot of Francisco R., Class of 2016, a man with short hair and a beard, who wears a polo shirt.

“National University has impacted my career. You can immediately apply what you learn in class to your business.”

-Francisco R., Class of 2016

A mother sits on a couch with a laptop and smiles at her toddler-aged son, who is looking forward.
We know your life may not happen on a 9-5 schedule, so we offer courses online or on-site at locations across California.
white scholarship oppotunities icon

The Key Grant Scholarship

Do you qualify for a needs-based scholarship? Learn more about the NU Key Grant Scholarship and other scholarship opportunities to unlock the door to your dreams!

Program Disclosure

Successful completion and attainment of National University degrees do not lead to automatic or immediate licensure, employment, or certification in any state/country. The University cannot guarantee that any professional organization or business will accept a graduate’s application to sit for any certification, licensure, or related exam for the purpose of professional certification.

Program availability varies by state. Many disciplines, professions, and jobs require disclosure of an individual’s criminal history, and a variety of states require background checks to apply to, or be eligible for, certain certificates, registrations, and licenses. Existence of a criminal history may also subject an individual to denial of an initial application for a certificate, registration, or license and/or result in the revocation or suspension of an existing certificate, registration, or license. Requirements can vary by state, occupation, and/or licensing authority.

NU graduates will be subject to additional requirements on a program, certification/licensure, employment, and state-by-state basis that can include one or more of the following items: internships, practicum experience, additional coursework, exams, tests, drug testing, earning an additional degree, and/or other training/education requirements.

All prospective students are advised to review employment, certification, and/or licensure requirements in their state, and to contact the certification/licensing body of the state and/or country where they intend to obtain certification/licensure to verify that these courses/programs qualify in that state/country, prior to enrolling. Prospective students are also advised to regularly review the state’s/country’s policies and procedures relating to certification/licensure, as those policies are subject to change.

National University degrees do not guarantee employment or salary of any kind. Prospective students are strongly encouraged to review desired job positions to review degrees, education, and/or training required to apply for desired positions. Prospective students should monitor these positions as requirements, salary, and other relevant factors can change over time.