Doctor of Philosophy (Ph.D.) in Computer Science

 

The innovative Computer Science Ph.D. program blends the highest level of theoretical foundations in Computer Science with the study of real-world problems. The curriculum is designed to prepare you for a career as a cutting-edge researcher or an experienced educator who can meet current and projected market demands for technological advancements in computing. You can apply expertise from this CS program to a future career in academia, research, business and industry, and government.

This degree is best suited for those with a background in Computer Science, Information Technology, Software Engineering or Game Design (bachelor’s or master’s degree). If you come from a non-computer science undergraduate or graduate background, the program offers foundation courses to prepare you for the essential demands of this doctoral program.

The program accepts full-time and part-time students. Full-time students are fully funded (as funds allow) through the duration of the program, receiving a Graduate Research Assistant (GRA) stipend and tuition/fee waivers.

Major Research Areas

  • Algorithm Design and Analysis of Networks
  • Artificial Intelligence
  • Big Data Analytics
  • Biometrics
  • Cloud Computing
  • Computer Vision
  • Computing Education
  • Cryptography
  • Cyber Physical Systems
  • Data Mining
  • Deep Learning
  • Edge Computing
  • High Performance Computing
  • Internet of Things – IoT
  • Machine Learning
  • Operating Systems
  • Parallel Computing Systems
  • Privacy
  • Quantum Computing
  • Security
  • Sensor Networks

Program Structure

Program Structure – 72 credit hours

  • Core Courses: 18 credit hours
  • Research: 6 credit hours (CS 8998 Advanced Research in Computer Science)
  • Elective Courses: 18 credit hours
  • Internship: 6 credit hours (CSE 7983 Graduate Internship/DS 9700 Doctoral Internship)
  • Dissertations: 24 credit hours (CS 9900 Ph.D. Dissertation Research) 

Core Courses: 18 credit hours

  1. CS 8260 Advanced Database Systems and Applications
  2. (NEW) CS 8025 Advanced Operating Systems
  3. (NEW) CS 8027 Advanced Networking and Architecture
  4. (NEW) CS 8041 Advanced Theory of Computation
  5. (NEW) CS 8045 Advanced Design and Analysis of Algorithms
  6. (NEW) CS 8050 Principles of Software Design and Programming Languages

Elective Courses: 18 credit hours

  1. CS 8265 Advanced Big Data Analytics
  2. CS 8267 Advanced Machine Learning
  3. CS 8125 Advanced Cloud Computing
  4. CS 8172 Advanced Parallel and Distributed Computing
  5. CS 8253 Advanced Graph Algorithms
  6. CS 8263 Advanced Information Retrieval
  7. CS 8347 Advanced Natural Language Processing
  8. CS 8357 Advanced Neural Networks and Deep Learning
  9. CS 8367 Advanced Computer Vision
  10. CS 8375 Advanced Artificial Intelligence
  11. CS 8540 Advanced Network Security
  12. CS 8545 Advanced AI for Security and Privacy
  13. CS 8990 Advanced Special Topics in Computer Science
  14. CS 8992 Advanced Directed Study

Core Course Descriptions

  • This course covers advanced topics and techniques in database systems. Topics include advanced concepts in relational databases, non-relational databases, data warehousing and mining, and NoSQL distributed databases for big data analytics. This course includes a literature search of cutting-edge database system technology and their applications, and, conduct an independent research project with data analytics. 

  • This course covers topics about memory management, multiprocessor systems, process management, synchronization, concurrency, deadlocks, distributed operated systems, grid computing, cloud computing, virtualization, container management and orchestration.

  • This course covers the principles of networking and architecture with a focus on algorithms and protocols, and also an in-depth study of active research topics in advanced networking services and paradigms. Topics include but not limited to network protocols, performance, IP routings, mobile IP, ATM, queuing analysis, frame relay, congestion and flow control, network security, vulnerability, and defenses. Those topics are applied to current network paradigms to be studied which will include but not limited to point-to-point and peer-to-peer networks, wireless and sensor networks, satellite, local area and wide area networks, drone networks, unmanned aerial vehicle networks, and software defined network.

  • This course covers the fundamental and advance concepts of the theory of computing. The course covers models of computation, computability theory, both space and time complexity, and complexity classes. In particular, it introduces traditional models of computation, both operational, such as finite automata, pushdown automata, and Turing machines, and descriptive, such as propositional and predictive logic. It considers parallel and hierarchical state machines and more advanced models of computation, together with higher-order logics. Both time and space computational complexity are included together with the most relevant classes of complexity, and modern complexity-theoretic approaches such as algorithmic randomness and quantum complexity theory.

  • This course covers topics related to design and analysis of algorithms including divide-and- conquer, greedy method, dynamic programming, recursive algorithms, approximation algorithms, lower- and upper-bound studies, parallel algorithms, time and space complexity of algorithms, and NP-hard and NP-complete problems.

  • This course covers the principles of software design with a particular focus on abstraction and models, and programming language pragmatics. This includes a comparative analysis of programming language paradigms with emphasis on design aspects, formal semantics of programming languages, type systems, parsing, scoping, allocation, control of program flow, concurrency, formal tools for characterizing program execution, and abstraction techniques. In terms of programming models, the course covers data abstraction and object orientation, functional languages, logic languages, concurrency, and scripting languages.

 

Admission Requirements

  • Undergraduate or graduate degree in Computer Science or a related field from an accredited university. Other degrees are considered on a case-by-case basis for those who show extraordinary background.
  • A cumulative GPA of at least 3.25 from an undergraduate degree or 3.5 from a graduate degree. Lower GPA is considered on a case-by-case basis for those who show extraordinary background.
  • GRE Score Report - (Optional)
  • Resume or CV
  • Statement of how this degree facilitates your career goals, recent accomplishments and activities, and research interest.
  • Three Letters of Recommendation from academic or professional contacts.
  • Successful completion of Math courses through Calculus II and Discrete Math, and undergraduate Data Structure Course.

Transfer Credit

Graduate work taken at other regionally accredited institutions must be evaluated and approved by the program director and/or graduate committee in order to satisfy degree requirements. Such transfer credit cannot exceed 25% of the total semester hours required for the degree and cannot reduce residency requirements.

Application Deadlines

  • Entry Terms: Fall admissions only
  • Application Deadlines: Fall 2022: May 1, 2022 (Beginning Fall 2023: Feb 1 for each fall admittance)

 

©