•  Home
  • Giving

Master of Science in Computer Science

The Master of Science in Computer Science (MCS) program is designed to appeal to a broad range of individuals. The program balances theory with practice, and equips the student with advanced knowledge and skills to design, implement, and evaluate computer-based systems to solve problems. The program provides the necessary flexibility to accommodate students with various backgrounds, including computer professionals who want to expand their understanding of computer science, as well as individuals whose undergraduate degrees are not in computer science but who wish to broaden their knowledge in computing. The program also provides the background necessary to continue the study of computer science at the doctoral level.

Students may choose a thesis option, which requires two semesters of study under the direction of a professor in which the student gains an understanding of an area of current research and contributes to it.

VIU’s MCS program is generally completed within two years of full time study. It consists of five (5) core courses (15 credits), five (5) specialization elective courses (15 credits) and two (2) other elective courses (6 credits). The specialization allows a student to concentrate in a specific area for which there is demand and to achieve knowledge depth in that area.

Area # of Courses Credit Hours
Core Courses 5 15
Specialization elective courses 5 15
Elective Courses 2 6
Total 12 36

MCS Core Courses

Each candidate must complete the following five (5) core courses (15 credits):

Course Code Course Name Credit
CMP 511 Computer Architecture and Implementation 3
CMP 556 Database Management Systems I 3
CMP 560 Software Engineering 3
CMP 561 Design and Analysis of Algorithms 3
CMP 641 Operating Systems 3

MCS Program Specializations

  • Networking
  • Data Management
  • Software Engineering
  • Cybersecurity
  • Intelligent Systems
  • Computer Animation & Gaming
  • Software Applications Development

MCS Elective Courses

Candidates must select two (2) courses (6 credits) from the list of courses below or from any other specialization electives*:

Course Code Course Name Credit
CMP 551 Research Methods 3
CMP 591 Graduate Internship – Level I 3
CMP 691 Graduate Internship – Level II 3
CMP 696 Independent Study I 3
CMP 697 Independent Study II 3
CMP 698 Master’s Thesis I 3
CMP 699 Master’s Thesis II 3
CAR 600 Career Planning & Development 3
CMP XXX A course from any MCS specialization courses 3
CMP 609 Networking Capstone Project 3
CMP 629 Data Management Capstone Project 3
CMP 639 Software Engineering Capstone Project 3
CMP 649 Cybersecurity Capstone Project 3
CMP 659 Intelligent Systems Capstone Project 3
CMP 589 Computer Animation & Gaming Capstone Project 3
CMP 619 Software Applications Development Capstone Project 3

*Students may choose to take no more than one (1) specialization elective from another specialization.

MCS Program Prerequisites

All new MCS students need certain basic skills to prepare them for success in the MCS program. The MCS degree provides a broad understanding of computer science theory and technology. Students who do not have the required background need to take some or all of the prerequisites before taking the core courses. In some cases, the program prerequisite courses may have course prerequisites to be taken before enrolling in the program prerequisite courses. To be successful, students must have a background in the following areas:

Course Code Course Name Credit
CMP 220 Programming II 3
CMP 260 Operating Systems 3
CMP 270 Essentials of Networking 3
CMP 330 Data Structures and Algorithm Analysis 3
CMP 350 Database Concepts 3

Pre-MCS Program

Students who have earned their bachelor’s degree with less than 120 undergraduate credits can be given conditional admission to the MCS program, provided they enroll in and successfully complete the remaining credits by selecting from the Bachelor of Science in Computer Science (BCS) undergraduate courses offered at VIU. Among the 120 required credits, the MCS program prerequisite courses must be fulfilled. Before choosing pre-MCS courses, students must consult their academic advisor who will advise them on the appropriate course selections from VIU’s BCS program while complying with MCS program prerequisites. Successful completion of the pre-MCS courses will allow these students to complete the undergraduate credits requirement of 120 and enter into the MCS program.

Networking

The objective of this specialization is to equip students with a comprehensive understanding of network and Internet architecture, network design and implementation, network performance analysis, network management, network security, and emerging trends in networking technology. Students receive extensive hands-on experience in order to master the skills needed to analyze, design, procure, manage, and implement computer networking solutions and technologies.

In addition to the core courses, students specializing in networking choose five (5) of the following elective courses:

Course Code Course Name Credit Hours
CMP 558 Network & Information Security 3
CMP 562 Computer Networks 3
CMP 602 Network Design & Implementation 3
CMP 603 Network Management 3
CMP 604 Cloud Computing 3
CMP 608 Special Topics in Networking 3
CMP 647 Wireless & Mobile Security 3
CMP 665 Virtualization Technologies 3

Data Management

The objective of this specialization is to equip students with the knowledge and skills to collect, organize, store, manipulate, analyze, secure, and communicate structured and unstructured data in order to integrate information technology solutions and business processes to meet the information needs of businesses and other enterprises.

In addition to the core courses, students specializing in data management choose five (5) of the following elective courses:

Course Code Course Name Credit Hours
CMP 622 Database Management Systems II 3
CMP 624 Data Warehousing 3
CMP 625 Text Analytics 3
CMP 626 Distributed Databases 3
CMP 627 Data Mining 3
CMP 628 Special Topics in Data Management 3
CMP 643 Database Security & Data Protection 3

Software Engineering

The objective of this specialization is to equip students with the knowledge and skills to effectively carry out requirements engineering and to design and construct high quality software. Students will also become competent in software testing, maintenance, configuration, and management to meet the business needs of an enterprise in a highly dynamic and competitive business environment.

In addition to the core courses, students specializing in software engineering choose five (5) of the following elective courses:

Course Code Course Name Credit Hours
CMP 632 Requirements Engineering 3
CMP 635 Software Quality & Process Improvement 3
CMP 637 Software Engineering Management 3
CMP 650 Software Design & Construction 3
CMP 661 Software Testing 3
CMP 662 Software Maintenance & Configuration Management 3
CMP 673 Special Topics in Software Engineering 3

Cybersecurity

The objective of this specialization is to equip students with in-depth knowledge and skills that will enable them to identify, develop, and implement effective and efficient defense mechanisms in order to secure organization networks and information resources to support organizational goals.

In addition to the core courses, students specializing in cybersecurity choose five (5) of the following specialization elective courses:

Course Code Course Name Credit Hours
CMP 558 Network & Information Security 3
CMP 562 Computer Networks 3
CMP 630 Network Security Audit & Forensics 3
CMP 643 Database Security & Data Protection 3
CMP 644 Intrusion Detection & Prevention Systems 3
CMP 645 Security Management 3
CMP 647 Wireless & Mobile Security 3
CMP 648 Special Topics in Cybersecurity 3

Intelligent Systems

The objective of this specialization is to equip students with in-depth knowledge and skills that will enable them apply artificial intelligence (AI), machine learning, and intelligent systems techniques in order to solve real-world problems.

In addition to the core courses, students specializing in intelligent systems choose five (5) of the following specialization elective courses:

Course Code Course Name Credit Hours
CMP 621 Artificial Intelligence 3
CMP 651 Advanced Topics in Database Management 3
CMP 652 Natural Language Processing 3
CMP 653 Machine Learning 3
CMP 654 Adaptive Learning Systems 3
CMP 655 Intelligent Agents 3
CMP 658 Special Topics in Intelligent Systems 3

Computer Animation & Gaming

The objective of this specialization is to equip the students with in-depth knowledge and skills that will enable them to conceptualize, design, and implement computer graphics and animation programs to meet certain objective criteria.

In addition to the core courses, students specializing in computer animation and gaming choose five (5) of the following specialization elective courses:

Course Code Course Name Credit Hours
CMP 582 Computer Graphics 3
CMP 583 Computer Animation 3
CMP 584 Human-Computer Interface Design 3
CMP 585 Design of Interactive Multimedia 3
CMP 586 Computer Vision 3
CMP 587 Game Design & Programming 3
CMP 588 Special Topics in Computer Animation & Gaming 3

Software Applications Development

The objective of this specialization is to equip the students with a comprehensive understanding of advanced software applications development using modern program paradigms and tools. The program is designed to provide students with extensive hands-on experience in order to analyze, design, implement, and test software applications that meet the business objectives of an organization using techniques such as design patterns, component-based architectures, web services, service-oriented architectures, and emerging technologies.

In addition to the core courses, students specializing in software applications development choose five (5) of the following specialization elective courses:

Course Code Course Name Credit
CMP 573 Compiler Construction 3
CMP 632 Requirements Engineering 3
CMP 636 Trends in Software Applications Development 3
CMP 650 Software Design & Construction 3
CMP 661 Software Testing 3
CMP 663 Web Applications Development 3
CMP 664 Mobile Applications Design & Development 3
CMP 618 Special Topics in Software Applications Development 3
  • System programmer
  • Application developer
  • Data analyst
  • Software systems architect
  • Computer engineer
  • Web developer
  • Network engineer
  • Security engineer
  • Chief technology officer
  • Network administrator
  • Network manager
  • Network architect
  • IT manager
  • Data administrator
  • Network and security engineer
  • Integration engineer
  • Network and systems administrator
  • Software engineer
  • Solutions architect
  • Programmer
  • Technical systems analyst
  • Software quality assurance engineer
  • Applications coordinator
  • Software architect
  • Software and applications developer

The following is a sample schedule of the possible sequencing of courses in the Master of Science in Computer Science.

Course Code Course Name Credit Hours
First Semester
CMP 511 Computer Architecture & Implementation 3
CMP 556 Database Management Systems I 3
CMP 560 Software Engineering 3
Second Semester
CMP 561 Design and Analysis of Algorithms 3
CMP 641 Operating Systems 3
CMP XXX CMP Specialization #1 3
Third Semester
CMP XXX CMP Specialization #2 3
CMP XXX CMP Specialization #3 3
CMP XXX CMP Specialization #4 3
Fourth Semester
CMP XXX CMP Specialization #5 3
CMP XXX CMP Elective 3
CAR 600 CAR 600 Career Planning & Management (CMP Elective) 3

The School of Computer Information Systems at VIU also offers other graduate degree and Certificate Programs in our Fairfax, VA campus and online.