Academics MENU

Master of science in computer science

Our  program started in Fall of 2019! The goal of this program is to give the student a thorough understanding of database management systems, Operation System ,computer architecture and design, computer graphics and game design, Artificial Intelligent, computer and cybersecurity, design and analysis of algorithms,high performance computing, software architecture and engineering.  Study various State-of-and-art technology (Distributed cybersecurity , intelligent intrusion detection, Internet of things security, machine learning, large language models,brain computer interface) and methodology  (big  data,visualization, optimization theory) architectures applications and software designs, as well as the following:

• Teach principles of intrusion detection and attack and defense
• Teach principles of artificial intelligence and big data Management
• Overview of computer graphics and game design theory
• Overview interactions between compiler optimizations, OS, and architecture
• Examine advanced algorithm design and analysis
• Study effect of different optimization of deep learning and  high performance computing
• Overview common software system design and programing optimization

For more information contact:
Dr. Ali Al-Sinayyid
Phone:  (304) 766-3391

The general objectives of this program are:

  • Provide students with an advanced understanding of those concepts of computer science which will enable them to adapt to and function in any current computing environment.
  • Allow students with a WVSU bachelor’s degree in computer science to easily continue their studies to obtain a Master's degree.
  • Allow area IT and computer science professionals to obtain advanced training in the discipline.
In support of the general objectives, the specific objectives of the program are:
  1. Further students’ understanding of algorithm analysis, computer architecture and the theory of computing.
  2. Teach students parallel and distributed computing theory and application.
  3. Explore modern areas of computing, such as machine learning and data science.
  4. Provide opportunities for research in computer science.
To be admitted to this program, the student must satisfy these requirements:
  1. Have an undergraduate degree in computer science or a closely related discipline;
  2. Submit scores for the GRE General Test totaling at least 295 for the Verbal Reasoning and Quantitative Reasoning sections, with at least a score of 149 on the Quantitative Reasoning section;
  3. For international students for whom English is not their primary language, a minimum TOEFL score of 61 or a minimum IELTS score of 6.0;
  4. Two letters of recommendation;
  5. Approval of the Computer Science Graduate Committee.
Note: Applicants lacking some of the above requirements may be granted Conditional Admission by the Computer Science Graduate Committee
Students in the program can chose one of the following two options:
A. Thesis option
36 hours required for graduation.
Core course – 12 hours
CS 605*; CS 610*; CS 515*, CS 510*

Electives – 18 hours (from the following courses)
CS 530*, CS 540*, CS 645*, CS 611*, CS 612*, CS 613*, CS 615*, CS 609*, CS 505*, CS 599, CS 697*, CS 597*.

Thesis – 6 hours
CS 699
B. Non-thesis option
36 hours required for graduation.

Core – 12 hours
CS 605*; CS 610*; CS 515*, CS 510*

Electives – 24 hours (from the following courses)
CS 530*, CS 540*, CS 645*, CS 611*, CS 612*, CS 613*, CS 615*, CS 609*, CS 505*, CS 599*, CS 697*, CS 597*.
CS 505. LIBRARY RESEARCH (2 credit hours)
Extensive library research techniques in a particular Computer Science area. Staff assigns a topic and supervises the project. A maximum of two credits of CS 505 may be counted toward a Master’s in Computer Science.

Advanced topics in operating systems, such as: multi-tasking, synchronization mechanisms, distributed system architecture, client-server models, distributed mutual exclusion and concurrency control, agreement protocols, load balancing, failure recovery, fault tolerance, cryptography, multiprocessor operating systems.

CS 515. THEORY OF COMPUTATION (3 credit hours)
Finite automata theory, including determinism vs. nondeterminism, regular expressions, non-regular languages, and algorithms for finite automata. Context free languages including grammars, parsing, and properties. Turing machines and their functions. Undecidability. Computational complexity, including the classes P and NP.

Transaction management; query processing and optimization; organization of database systems, advanced indexing, multi-dimensional data, similarity-based analysis, performance evaluation, new database applications.

CS 540. NETWORK PROGRAMMING (3 credit hours)
Socket and client-server programming, remote procedure calls, data compression standards and techniques, real-time protocols (e.g: chat, etc, web-related programming (CGI, Java/Javascript, HTTP, etc.,) network management (SNMP-based management, dynamic/CORBA-based management).

CS 597. INTERNSHIP (1-3 credit hours)
Participation in private corporations, public agencies, or non-profit institutions. Students will be required to have a faculty coordinator as well as a contact in the outside organization, to participate with them in regular consultations on the project, and to submit a final report to both. On completion of internship, the outside contact should provide the faculty coordinator with a letter evaluating student's performance during the internship period. At most 3 credits can be accepted towards the M.S. degree.

CS 599. SPECIAL TOPICS (1-4 credit hours)
An in-depth study of special topics proposed by members of the Computer Science graduate faculty. Open to graduate students.

CS 605. ANALYSIS OF ALGORITHMS (3 credit hours)
Techniques for designing efficient algorithms, including choice of data structures, recursion, branch and bound, divide and conquer, and dynamic programming. Complexity analysis of searching, sorting, matrix multiplication, and graph algorithms. Standard NP-complete problems and polynomial transformation techniques.

Advanced design methods including formal methods, component-based design, design with patterns and frameworks, and architectural-based designs. Modern software processes such as Extreme Programming and Cleanroom software development. Issues and problems associated with large-scale software project failures and techniques for preventing them.

Design methodology; processor design; computer arithmetic: algorithms for addition, multiplication, floating point arithmetic; microprogrammed control; memory organization; introduction to parallel architectures.

CS 611. COMPUTER SECURITY (3 credit hours)
Principles and practice of Computer Network Security. Cryptography, authentication protocols, public key infrastructures, IP/www/E-commerce security, firewalls, VPN, and intrusion detection.

General concepts in the design and implementation of parallel and distributed systems, covering all the major branches such as Cloud Computing, Grid Computing, Cluster Computing, Supercomputing, and Many-core Computing.

CS 613. COMPUTER GRAPHICS (3 credit hours)
Graphics hardware; graphics primitives; two-dimensional and three-dimensional viewing; basic modeling, input and display devices, data structures, architectures, primitives, and geometrical transformations appropriate to computer graphics.

Fundamentals of machine learning including rote learning, learning from examples, learning from observations, and learning by analogy; knowledge acquisition for expert systems. Information processing techniques and mathematical tools to assemble, access, and analyze data for decision support and knowledge discovery.

CS 645. REAL-TIME EMBEDDED SYSTEMS (3 credit hours)
An overview of the unique concepts and techniques needed to design and implement computer systems having real-time response requirements in an embedded environment. It contrasts the concepts and techniques of real time and embedded systems with those of more traditional computer systems. Topics include: Basic concepts of real time and embedded systems, hardware features, programming languages, real time operating systems, synchronization techniques, performance optimization and current trends in real time and embedded systems such as incorporating internet connectivity.

CS 697. DIRECTED STUDENT RESEARCH (1-3 credit hours)
An independent research topic designed by the student with the assistance of a graduate faculty advisor who supervises the project. The topic should be acceptable to the advisor and the chair. Limited to specific problems in the Computer Science field. A maximum of three credits of CS 697 may be counted toward a Master’s in Computer Science. Variable contact hours.

CS 699. THESIS PREPARATION (1-9 credit hours)
An independent research project designed by the student with assistance from the Thesis advisor and acceptable to the Thesis committee. Variable contact hours. Course is graded pass/fail only.

Faculty & Staff

Dr. Ali
Dr. Ali AlSinayyid
Director of Cybersecurity Innovation Center (PhD)
Phone: 304-766-3391
Dr. Sonya
Dr. Sonya Armstrong
Professor Emeritus
Phone: (304) 766-3390
Dr. Ronald
Dr. Ronald Baker
Professor Emeritus (Mathematics)
Phone: (304) 766-3397
Dr. Mohammad
Dr. Mohammad Bhuiyan
Associate Professor
Phone: (304) 766-3087
 Ms. Karen
Ms. Karen Kail
Instructor, Mathematics and Computer Science
Phone: (304) 766-4135
Dr. Upali
Dr. Upali Karunathilake
Associate Professor
Phone: (304) 766-3244
Dr. Eyas
Dr. Eyas Mahmoud
Assistant Professor (Chemical Engineering)
Phone: (304) 766-5247
Dr. Sridhar A.
Dr. Sridhar A. Malkaram
Associate Professor
Phone: (304) 766-5168
Dr. Mohammad
Dr. Mohammad Nazari-Sharabian, P.E.
Assistant Professor (Civil Engineering)
Phone: (304) 766-4276
Dr. Fred
Dr. Fred Wu
Assistant Professor (Computer Science)
Phone: (304) 766-4177
Dr. Naveed
Dr. Naveed Zaman
Dean for the College
Phone: (304) 766-4248
Dr. Xiaohong
Dr. Xiaohong Zhang
Professor (Chair)
Phone: (304) 766-4103
lecture on mathematics and computer science
Dr. Xiaohong
Dr. Xiaohong Zhang
Professor (Chair)
817 Wallace Hall
Phone: (304) 766-4103
Scroll to Top