Course Requirements

For students entering the program with a Master’s degree in Computer Science or related areas, 24 credits at the 600 and 700 level. At least 12 credits must be at the 700 level, and out of those at most 3 credits can be Independent Study in Computer Science (CS 725 or CS 726).

For students entering the program without a Master’s degree in Computer Science or related areas, 30 credits at the 600 and 700 level. At least 12 credits must be at the 700 level, and out of those at most 3 credits can be Independent Study in Computer Science (CS 725 or CS 726).

Doctoral Dissertation Credits

For students who were admitted in the program in the Fall 2015 semester or after, the rules are described at: http://www5.njit.edu/graduatestudies/content/new-phd-credit-requirements/

For students who were admitted in the program before the Fall 2015 semester, students must complete 30 credits of CS 790. A maximum of 6 credits of CS 792 Pre-Doctoral Research may be used toward the CS 790 requirement.

CS 791: Doctoral Seminar

Full-time students are required to enroll in CS 791 every semester. Full-time PhD students are required to attend  2/3 of the weekly Wednesday departmental seminars.

Qualifying Examinations

All PhD students are required to take qualifying examinations in four areas.

Two examinations are in the following two areas:
CS 610Data Structures and Algorithms3
CS 611Introduction to Computability and Complexity3
Two examinations are in the following two areas:
CS 630Operating System Design3
CS 631Data Management System Design3
CS 634Data Mining3
CS 650Computer Architecture3
CS 656Internet and Higher-Layer Protocols3
CS 659Image Processing and Analysis3
CS 661Systems Simulation3
CS 670Artificial Intelligence3
CS 675Machine Learning3
BNFO 601Foundations of Bioinformatics I3
or BNFO 602 Foundations of Bioinformatics II

Concentration Areas

A PhD student within the program is required to pick an area of concentration. While the areas of concentrations change according to faculty research interests, here are examples of possible concentrations with possible courses taken within those concentrations.

Computational Biology and Bioinformatics

CS 631Data Management System Design3
CS 632Advanced Database System Design3
CS 634Data Mining3
CS 665Algorithmic Graph Theory3
CS 667Design Techniques for Algorithms3
CS 670Artificial Intelligence3
BIOL 601Computational Biology I3
CS 744Data Mining and Management in Bioinformatics3

Computer Algorithms and Theory of Computing

CS 610Data Structures and Algorithms3
CS 611Introduction to Computability and Complexity3
CS 665Algorithmic Graph Theory3
CS 667Design Techniques for Algorithms3
CS 668Parallel Algorithms3
IE 704Sequencing and Scheduling3

Computer Systems, and Parallel and Distributed Processing

CS 630Operating System Design3
CS 633Distributed Systems3
CS 650Computer Architecture3
CS 643Cloud Computing3
CS 668Parallel Algorithms3
CS 750High Performance Computing3
ECE 658VLSI Design I3
ECE 758VLSI Design II3
ECE 689Computer Arithmetic Algorithms3
ECE 785Parallel Processing Systems3

Databases, Data Mining, and Knowledge-Based Engineering

CS 630Operating System Design3
CS 631Data Management System Design3
CS 632Advanced Database System Design3
CS 634Data Mining3
CS 665Algorithmic Graph Theory3
CS 667Design Techniques for Algorithms3
CS 670Artificial Intelligence3
CS 731Applications of Database Systems3
CS 744Data Mining and Management in Bioinformatics3

Image Processing and Computer Graphics

CS 630Operating System Design3
CS 632Advanced Database System Design3
CS 657Principles of Interactive Computer Graphics3
CS 659Image Processing and Analysis3
CS 665Algorithmic Graph Theory3
CS 667Design Techniques for Algorithms3
CS 759Advanced Image Processing and Analysis3
CS 782Pattern Recognition and Applications3
ECE 601Linear Systems3
ECE 643Digital Image Processing I3
ME 635Computer-Aided Design3
Other 600/700-level courses as approved by advisor.

Networking and Security

CS 630Operating System Design3
CS 651Data Communications3
CS 652Computer Networks-Architectures, Protocols and Standards3
CS 656Internet and Higher-Layer Protocols3
CS 696Network Management and Security3

Software Engineering

CS 610Data Structures and Algorithms3
CS 611Introduction to Computability and Complexity3
CS 630Operating System Design3
CS 635Computer Programming Languages3
CS 667Design Techniques for Algorithms3
CS 673Software Design and Production Methodology3
IS 676Requirements Engineering3
IS 683Web Systems Development3

Systems Analysis, Simulation and Modeling

CS 621Numerical Analysis I3
CS 630Operating System Design3
CS 631Data Management System Design3
CS 651Data Communications3
CS 661Systems Simulation3