M.S. in Computer Science

A master’s degree in Computer Science provides focused and state-of-the-art technical expertise and other skills needed for building modern software systems. The emergence of Web 2.0 and Big Data applications, mobile and location based services, and protecting digital assets from online espionage necessitate advanced computing knowledge and skills. Whether you want to build a financially rewarding career, kindle your entrepreneurial spirit through a startup, or simply want to make the world a better place to live and work, a master’s degree in computer science is a definite path.

A master’s degree in computer science commands an average salary of $80,400, whereas the same for bachelor’s degree is $62,2000. Forbes ranks a master’s degree in computer science as the second best masters degree for well paying jobs and pegs mid-career median pay at $109,000.

Marshall University Master of Science in Computer Science (MS in CS) degree prepares you for high tech careers in software industry. The program also prepares students to subsequently pursue doctoral degree in Computer Science. Our curriculum reflects the state of the art with special focus on big data management and applications, high performance computing, machine learning, cloud and mobile computing, cybersecurity and software engineering. Our students participate in internship programs with various organizations within and outside the state. Almost all our students find jobs after graduation.

In late spring 2015 we will move to a $60 million building constructed in 2014, which features state-of-the-art labs and instructional facilities. Our dedicated and distinguished faculty are eager to help you achieve your professional aspirations.

Program Description

The Master of Science in Computer Science (MSCS) degree is designed to provide students with the knowledge, skill, and professional practices needed to develop complex software systems. The program also prepares students who desire to pursue further graduate work leading to a Ph.D. degree.

Admission Requirements

Applicants should follow the admissions process as stated in the graduate catalog or the graduate admissions web site. A four-year Bachelor’s degree in Computer Science, Information Technology, Information Systems, or related area is required. Applicants must have a MINIMUM of seven (7) undergraduate courses from the following areas completed prior to admission, all with a minimum grade of C:

  • Discrete Structures
  • Probability and Statistics
  • Linear Algebra
  • Programming Fundamentals
  • Data Structures and Algorithms
  • Operating Systems
  • Internetworking
  • Software Engineering
  • Cybersecurity
  • Database Systems
  • Automata and Formal Languages
  • Computer Architecture
  • Programming Languages

Foreign nationals must score in the IELTS Band 6.5 on the TOEFL, and must have met all other admission criteria prior to registering for the first semester of courses.
Applicants must submit official transcripts of all college-level courses. Whether a student meets the above prerequisite course requirements will be determined by the division chair or designee based on the information provided in the admission application and transcripts.

2. Degree Requirements

The MSCS degree requires 30 credit hours (CR) of graduate work. At least 18 CR must come from 600-level courses. The 30 CR is comprised of the following components:

  • 6 CR from two required 600-level CS courses: CS 620: Applied Algorithms and CS 660:Big Data Analytics.
  • 12 CR from any 500- or 600-level CS courses.
  • 12 CR from one of the following options:
    * Thesis option. 6 CR from any 600-level CS elective courses and completion of 6 CR of research (CS 681) and a thesis. Students must summarize their thesis work in the form of a formal, written document and deliver an oral presentation. Thesis work is typically conducted over two semesters. For more information, please review Thesis Protocol.
    ­* Project option. 9 CR from any 600-level CS elective courses and completion of a 3 CR of comprehensive project (CS 690) and a report. The comprehensive project option involves collecting research literature on a topic of interest in consultation with academic advisor, critically examining the literature, and summarizing the research in the form of a formal technical report. This option may also involve developing software systems. Students must deliver an oral presentation of their findings. Student selects a topic for the report in consultation with academic advisor prior to the beginning of the last semester of study. Project work requires effort equivalent to a 3 CR course and is typically completed during the last semester of study.

Plan of Study

Students are required to complete a Plan of Study form in consultation with their academic advisors before the students can begin program of study. This is usually done the week before the first day of classes of first semester.


Core Courses

CS 620: Applied Algorithms
CS 660: Big Data Systems

500-level Elective Courses

Any of the following courses may be used as 500-level electives:

CS 502: Computer Architecture
CS 504: High Performance Computing
CS 505: Computing for Bioinformatics
CS 510: Database Systems
CS 540: Digital Image Processing
CS 550: Information Retrieval
CS 552: Natural Language Processing

600-level Elective Courses

Any of the following courses may be used as 600-level electives:

CS 605: Software Specifications

CS 610: Software Design

CS 615: Software Testing

CS 625: AI Principles and Methods

CS 630: Machine Learning

CS 645: Advanced Topics in Bioinformatics

650-653 Special Topics

CS 670: Visual Analytics

685-688 Independent Study

CS 690: Comprehensive Project

CS 681: Thesis