M.S. in Computer Science
Academic Advisor: https://computing.njit.edu/advising
M.S. in Computer Science
The M.S. in Computer Science program prepares students for advanced careers through a comprehensive curriculum balancing theory with practical applications and featuring courses from various CS areas, including Artificial Intelligence, Cybersecurity, Hyperscale Computing, and Software Engineering. Students can customize their educational path to align with their career goals.
Prerequisites
Applicants should have a bachelor's degree from an accredited institution in a discipline related to computing (e.g., Computer Science, Computer Engineering, Information Sciences, or Information Technology). Applicants with a bachelor's degree in STEM or related professional experience can first take the Graduate Certificate in Computer Science and then apply to the M.S. program. Further information can be found in the program's webpage.
Degree Requirements
The program requires the completion of 30 credits. The requirement is satisfied by taking 10 courses.
Core Courses (12 credits)
Courses covering fundamental topics in Computer Science.
Code | Title | Credits |
---|---|---|
Required: | 3 | |
Data Structures and Algorithms | ||
Select three of the following: | 9 | |
Operating System Design | ||
Data Management System Design | ||
Internet and Higher-Layer Protocols | ||
Machine Learning | ||
Total Credits | 12 |
These core courses can be substituted by more advanced counterparts (CS 667, CS 632, CS 677), subject to program director permission.
Elective Courses (18 credits)
The CS department offers courses in various specialized areas. Students are free to elect courses from any area. Additionally, students may take up to two courses from a selected list offered by other departments. With an appropriate selection of courses, students can earn an additional certificate alongside their MS degree. Further information can be found in the program's webpage.
Students who want to pursue research can earn up to 6 of the 30 required credits by taking as elective CS 700B Master's Project, possibly followed by CS 701B Master's Thesis. These have special requirements described in the section 'Master's Project and Thesis'.
Code | Title | Credits |
---|---|---|
Algorithms and CS Theory | ||
Data Structures and Algorithms | ||
Introduction to Computational Complexity | ||
Algorithms on Graphs | ||
Design Techniques for Algorithms | ||
Parallel Algorithms | ||
Computational Optimization | ||
Sequencing and Scheduling | ||
Artificial Intelligence | ||
Data Mining | ||
Artificial Intelligence | ||
Machine Learning | ||
Reinforcement Learning | ||
Deep Learning | ||
Advanced Machine Learning | ||
Pattern Recognition and Applications | ||
Cybersecurity and Privacy | ||
Cryptography and Security | ||
Security and Privacy in Computer Systems | ||
Network Protocols Security | ||
Counter Hacking Techniques | ||
Cyber Sec Investigations & Law | ||
Topics in Smartphone Sec & Rel | ||
Advanced Data Security and Privacy | ||
Security and Privacy in Wireless Networks | ||
Data Management Systems | ||
Data Management System Design | ||
Advanced Database System Design | ||
Applications of Database Systems | ||
High Performance & Cloud Computing | ||
Applications of Parallel Computing | ||
Cloud Computing | ||
Introduction to Big Data | ||
High Performance Computing &2 | ||
Mobile and Ubiquitous Computing | ||
Programming Languages | ||
Java Programming | ||
Computer Programming Languages | ||
High Performance Data Analytics | ||
Software Engineering | ||
Software Design and Production Methodology | ||
Software Project Management | ||
Software Testing and Quality Assurance | ||
Software Architecture | ||
Software Studio | ||
Seminar in Software Engineering | ||
Systems | ||
Operating System Design | ||
Distributed Systems | ||
Computer Architecture | ||
Internet and Higher-Layer Protocols | ||
Linux Kernel Programming | ||
Various Topics &0 | ||
Principles of Interactive Computer Graphics | ||
Image Processing and Analysis | ||
Systems Simulation | ||
Cognitive Computing | ||
Computer Vision | ||
Special Emerging Topics: | ||
Seminar in Computer Science I | ||
Seminar in Computer Science II | ||
Entry-level Graduate Courses | ||
Foundations of Computer Science | ||
Courses from other departments &1 | ||
Advances in Representation Learning | ||
Data Analytics with R Program | ||
Data Visualization and Interpretation | ||
Natural Language Processing | ||
Graph Neural Networks | ||
Artificial Intelligence for Robotics | ||
Design of Wireless Networks: 5G Architecture and Services | ||
Cloud and IoT Networking and Security | ||
Advanced Microprocessor Systems | ||
Computer Arithmetic Algorithms | ||
Computer Systems Architecture | ||
Embedded Computing Systems | ||
Python for Web API Development | ||
Human Factors in Security and Privacy | ||
User Experience Design | ||
Data Analytics for Info System | ||
Requirement Engineering | ||
Web Mining | ||
Web Services and Middleware | ||
Simulation for Stochastic Systems | ||
Introduction to Robotics | ||
Strategic Management of Technological Innovation | ||
Deep Learning in Business | ||
Graduate Capstone Project &3 | ||
Project and Thesis Courses | ||
Master's Project | ||
Master's Thesis |
- &
0. All courses from the complete list of graduate CS courses are also included.
1. At most two of these courses can count towards degree requirements.
2. CS 750 and DS 642 cannot count simultaneously towards degree requirements.
3. YWCC 691 and CS 700B cannot count simultaneously towards degree requirements.
All degree requirements apply to both on-campus and online programs.
Master's Project and Thesis
The contents of this section apply only to students who elect to do a Master's Project (CS 700B) or a Master's Thesis (CS 701B).
Students must first find a research advisor who must be a tenure-track graduate faculty of the CS department, including faculty with a joint appointment. Tenure-track faculty are the department members including those who hold joint appointments with the rank of Assistant Professor, Associate Professor, Professor, and Distinguished Professor.
In order to find a research advisor, students are encouraged to attend special presentations offered by the department or to directly contact professors. Professors may not always have availability for conducting an MS project/thesis. Students are therefore encouraged to start looking for an advisor as early as possible, especially if they are considering pursuing a Master’s Thesis that takes two semesters.
The students must be in close coordination with their research advisor who will determine the topic of the Project/Thesis and guide them to take specific elective courses that will prepare them for the research.
Registration
- Master’s Project: With permission of their research advisor students must register in the CS 700B Master's Project course. To register for Master's Project, students must have completed at least 9 credits and must be in good standing.
- Master’s Thesis: With permission of their research advisor, students must first register in the CS 700B Master's Project course. They must receive a satisfactory (S) grade in CS 700B before CS 701B Master's Thesis registration in the immediately following semester, with the same advisor. The MS thesis topic should be continuation of the work done in CS 700B.
Thesis Requirements
- An MS Thesis Committee must be formed, according to the requirements set forth by the Office of Graduate Studies.
- A written thesis must be submitted. The thesis must adhere to the style requirements set forth by the Office of Graduate Studies.
- An oral defense is required. The defense must take place before the last day of the Examination period.