Oct 06, 2024  
2024-2025 University Catalog 
  
2024-2025 University Catalog

Computer Science, M.S.


Program Overview:

The Department of Computer Science offers a program of study leading to the degree of Master of Science. The program is designed to be flexible enough to accommodate the needs of two kinds of students: those who have recently completed an undergraduate degree in computer science and want to further their education, and those practicing professionals who want to acquire specific academic experience relevant to their work.

Student Learning Outcomes

Student Learning Outcomes (SLOs) for MS Computer Science

1

Analysis, Synthesis, and Application of Acquired Knowledge in Computer Science: The computer science graduates will have the ability to communicate the acquired knowledge in at least one of the eight computer science subfields (theoretical computer science, systems and network, software systems, software engineering, cybersecurity, database systems and distributed applications, computer graphics and visual computing, and artificial intelligence) effectively in oral form.

2

Communicate the Acquired Knowledge in Written Form: Students will have in-depth knowledge in one of the eight subfields of computer science (theoretical computer science, systems and network, software systems, software engineering, cybersecurity, database systems and distributed applications, computer graphics and visual computing, and artificial intelligence). Students will also acquire basic knowledge in three different subfields in addition to their in-depth subfields. The computer science graduates will be able to communicate the acquired knowledge in written form.

3

Analyze Problems and Synthesize Solutions: Students will have the ability to analyze complex computational or software developmental problems and synthesize solutions with implementations by applying acquired knowledge in selected computer science subfields such as theoretical computer science, systems and network, software systems, software engineering, cybersecurity, database systems and distributed applications, computer graphics and visual computing, and artificial intelligence.

 

Admission Requirements

In addition to meeting the minimum standards for admission to the Graduate School, admission to the master’s degree in computer science will be determined by the department on the basis of undergraduate academic record, three letters of recommendation, statement of purpose. Admission to the program generally requires a mathematical background equivalent to MATH 2111, MATH 2112 (Calculus with Analytic Geometry) and MATH 3721 - Intro to Discrete Structures ; and a computer science background including the equivalent of CSCI 1583 - Software Design and Development I  or CSCI 1584 - Software Design and Development I: Python , CSCI 2120 - Software Design and Development II , CSCI 2125 - Data Structures , CSCI 2450 - Machine Structure and Assembly Language Programming , CSCI 3301 - Computer Design & Organization , and two upper-division courses. Students not meeting these requirements may be admitted to the program on a conditional basis, and must fulfill conditions imposed by the department in addition to the regular requirements for the degree. Students with bachelor’s degrees in fields other than computer science may be admitted on a conditional basis.

Degree Requirements


The department offers both thesis and non-thesis options in the master’s program. All candidates for the master’s degree must satisfy the following background, breadth, and depth requirements.

No course may be counted toward the satisfaction of more than one of these requirements.

  1. Background requirement: the equivalent of CSCI 5401  and CSCI 5501 . Students who have not completed this requirement prior to enrollment are required to do so, for credit, as part of their curricula.
  2. Breadth requirement: students must take one 6000-level course that counts toward the degree requirements (three semester hours) in each of three different concentration areas as listed below.
  3. Depth requirement: students must take three additional courses that count toward the degree requirements (nine semester hours), of which at least two must be at the 6000-level. All courses must belong to the same concentration area (see list below). This concentration area must be different from the ones chosen to fulfill the breadth requirement.

The concentration areas, with specific sub-disciplines falling under each area, are given in the following table. A detailed list of courses included in each area can be obtained from the department.

Theoretical Computer Science and Programming Languages


  • Computability
  • Analysis of Algorithms and Complexity
  • Formal Languages and Automata
  • Combinatorics and Graph Theory
  • Formal Semantics and Type Theory
  • Logic
  • Programming Languages
  • Compiler Construction

Systems and Network


  • Operating
  • Hardware Architecture
  • Parallel and Distributed Systems
  • Networks
  • Protocols

Software Systems


  • Algorithm Design
  • Data Structures
  • Programming Methodologies
  • Software Engineering
  • Distributed Software Engineering
  • Software Architectures
  • Software Components

Information Assurance


  • Defense of information and information systems by ensuring their availability, integrity, authentication, confidentiality, and non-repudiation.
  • Cryptology
  • Computer Security
  • Information Protection
  • Secure Information Exchange

Database Systems and Distributed Applications


  • Data Modeling
  • Database Systems and Distributed Database Systems
  • Data Query Languages
  • Programming and Architectures for the Web
  • Spatial Database Systems
  • Data Mining
  • Mobile Computing

Computer Graphics and Visual Computing


  • Computer Graphics
  • Image Processing
  • Data Visualization
  • Visual Programming Languages
  • Computational Geometry

Artificial Intelligence


  • Robotics
  • Computer Vision
  • Pattern Recognition
  • Evolutionary Computing
  • Expert Systems
  • Machine Learning
  • Data Mining

Other Requirements


All graduate students completing the master’s degree must maintain a minimum of B grade in all 5000-level courses, and a minimum 3.0 average in all courses taken to satisfy the degree requirements.

Students completing the master’s degree with a thesis are required to submit an acceptable thesis and give a satisfactory defense of the thesis. Thirty semester hours are required, no more than six of which may be thesis credit. No more than nine hours may be at the 5000 level. Up to six hours may be taken in graduate courses outside of Computer Science upon prior approval by the department. Students choosing Information Assurance as their concentration must select the thesis option.

Students completing the master’s degree without a thesis are required to give a satisfactory performance in a comprehensive examination covering course work. 36 semester hours are required, no more than 12 of which may be at the 5000 level. Up to nine hours may be taken in approved graduate courses outside of Computer Science upon prior approval by the department.

All graduate assistants are required to participate in the weekly departmental seminar.