| Computer Science |
| Department of Computer Science, Guttenberg Information Technologies Center, Room 4400. |
| compscience |
| 0 |
|
Computer Science |
|
Administered By:Department of Computer Science, Guttenberg Information Technologies Center, Room 4400.
|
|
|
|
Administration
|
|
|
| Chairperson |
baltrush |
| Associate Chairperson |
calvin |
| PhD Director |
nassimi |
|
Administration |
|
|
|
Faculty
|
|
|
| Distinguished Professor |
Leung |
| Professors |
gehani,geller,mchugh,mili,perl,shih,verkhovs,wangj |
| Associate Professors |
baltrush,calvin,alexg,hung,marvin,cliu,ryon,sohna,dth |
| Assistant Professors |
borcea,bcohen,usman,gwang |
| Special Lecturers |
gblank,oe2,kapleau,karvelas,kwestel,theo,rutkowsk |
|
Faculty |
| Distinguished Professor |
Joseph Y. Leung |
| Professors |
Narain Gehani, James Geller, James McHugh, Ali Mili, Yehoshua Perl, Frank Y. Shih, verkhovs, Jason T. Wang |
| Associate Professors |
Michael A. Baltrush, James M. Calvin, Alexandros Gerbessiotis, Daochuan Hung, Marvin K. Nakayama, Chengjun Liu, John W. Ryon, Andrew Sohn, Dimitrios Theodoratos |
| Assistant Professors |
Cristian M. Borcea, Barry Cohen, Usman W. Roshan, Guiling Wang |
| Special Lecturers |
George Blank, Osama Eljabiri, Jonathan J. Kapleau, Dionissios Karvelas, Morty D. Kwestel, Theodore L. Nicholson, Wallace Rutkowski |
|
|
Advisors
|
|
|
| Undergraduate Advisor |
svanderm |
| MSCS Advisor |
kprice |
| First Year PhD Advisor |
nassimi |
|
Advisors |
|
|
| |
Degrees Offered: Master of Science in Computer Science; Doctor of Philosophy in Computer Science. The Department of Computer Science is distinguished by prominent researchers who are actively investigating new applications in parallel processing and advanced computer architecture, systems integration, real-time computing, neuroscience and robotics, medical imaging, combinatorial computing, bioinformatics, computer vision and image processing, and software engineering.The department provides an environment that gives students the background and skills necessary for entry into today's workplace. This is achieved through team research in state-of-the-art facilities; a faculty that works steadily in the forefront of many research areas; interaction with industry and experts; and an administration focused on research and student services. As a result, the department attracts the largest student population for computer and information science in the greater New York/New Jersey area. The computer and information science department maintains and offers computing facilities for its students, faculty, and staff. The computing facilities include research laboratories housing research in areas of computer science such as: networking, real-time systems, hypermedia, parallel processing, and collaborative systems. Users have access to the state-of-the-art software and hardware including Oracle database, UNIX-based workstations and Microsoft Windows PCs supported by several file and compute servers. Internet access, departmental intranets, and conferencing systems provide an integrated infrastructure for supporting teaching and research.
|
|
|
| Master of Computer Science |
|
9 |
|
| |
|
Master of Computer Science
|
|
The Master of Science (MS) in Computer Science (CS) is intended for students who are interested in pursuing advanced studies in computer science. Admission Requirements: - GPA
- 3.0 out of 4.0 required for students with a computer science background. - 3.0 out of 4.0 required for students without a computer science background who may be required to enroll in bridge courses. - International students TOEFL score: the Institute requires a minimum score of 213.
- International students: GRE required.
- Students with a US or Canadian degree in computer science or engineering: GRE recommended but not required.
- Students with a US or Canadian degree not in computer science or engineering: GRE required.
Students who lack a comprehensive computer science background will be required to take appropriate bridge courses and attain a minimum cumulative GPA of 3.0 in the bridge courses. Students are expected to have good programming skills, and a grasp of the fundamentals of computer science (students should have acquired this knowledge in the undergraduate degree Bachelor of Science in Computer Science or equivalent degree). To ensure that students have the background to do well and succeed in doing the MS in Computer Science at NJIT, they will be required to take a short answer exam to demonstrate that they have good programming skills (in C++ or Java) and that they know the basic concepts of operating systems, networking, and databases. Students who do not pass the programming part of this exam will be required to take a programming bridge course, CS 505 Programming and Data Structures and Algorithms. Students who do not pass the basic concepts part of the exam will be required to take a concepts course, CS 507 Principles of Computer Science. Note that credits earned in the bridge program cannot count towards the MS program. However, grades of 500-level bridge courses contribute towards the graduate GPA. Students must maintain a cumulative graduate GPA of 3.0 or better. If a student satisfies a bridge requirement before matriculation, the student can request a bridge course waiver which must be filed no later than the end of the first semester of studies and accompanied by all relevant documentation as required by University regulations. See Academic Policies and Procedures in the NJIT Graduate Catalog at catalog.njit.edu/graduate/frontmatter/AcademicPolicy.php. PASS/FAIL courses, professional development courses, work experience, or a course with a grade less than B (or equivalent) cannot be used to satisfy a bridge course requirement. Grades in the bridge program (500-level courses or higher) contribute to the cumulative graduate GPA. However, these courses do not count toward the MS program credit requirements. The undergraduate catalog, catalog.njit.edu/courses/cs.php, contains descriptions of undergraduate courses included in the bridge program. Application Processing: The Computer Science Department reviews only completed applications submitted to the Office of Graduate Admissions. Applicants are advised to request status information on their application directly from the Graduate Admissions Office, not the Computer Science Department. Graduate Admissions can be reached at admissions@njit.edu or www.njit.edu/gadmission or by mail at NJIT, Graduate Admissions Office, University Heights, Newark NJ 07102. Degree Options: Students can pick from one of three options for the MS degree: 1. Course only (with optional specialization - 33 credits. 2. Project - 30 credits 3. Thesis (specialization required) - 30 credits. Students will be assigned a graduate advisor to assist them in formulating a program of study and selecting a specialization or degree option. 1. Course Only Option (33 credits) The courses required for this option are: a) Four courses: - Either CS 610 Data Structures and Algorithms or CS 667 Design Techniques for Algorithms. - Three of the following four course choices: CS 631 Database Systems Design. CS 656 Internet and Higher Layer Protocols. CS 650 Computer Architecture. CS 630 Operating Systems. b) 5 courses from the Computer Science graduate catalog. Two of these five must be from an approved list of advanced courses. c) Two (2) courses either from the Computer Science graduate catalog or from another department's graduate catalog. Courses from outside the Computer Science Department must be relevant to the Computer Science program and require prior approval. Total number of credits required for graduation is 33. Specializations: Students can optionally specialize in a specific area (see below) by taking a minimum of four (4) courses listed in the specialization in accordance with requirements (b) and (c). Note that some specialization courses have prerequisites that must be fulfilled before enrolling in these courses. Computer Networking and Security Choose three (3) courses from the following table:
cs604,cs608,cs656,cs696,is681
|
| | | CS 604 | Client/Server Computing (3 credits) | | | | CS 608 | Cryptography and Security (3-1-3) | | | | CS 656 | Internet and Higher-Layer Protocols (3 credits) | | | | CS 696 | Network Management and Security (3 credits) | | | | IS 681 | Computer Security Auditing (3 credits ) |
|
|
Databases and Data Mining Choose three (3) courses from the following table:
cs632,cs731,cs734,cs744
|
| | | CS 632 | Advanced Database System Design (3 credits) | | | | CS 731 | Applications of Database Systems (3 credits) | | | | CS 734 | Data Mining (3 credits ) | | | | CS 744 | Data Mining and Management in Bioinformatics (3 credits ) |
|
|
Note: Taking CS 700 level courses require permission of the graduate advisor. Image Processing and Pattern Recognition Choose three (3) courses from the following table:
cs659,cs759,cs780,cs782
|
| | | CS 659 | Image Processing and Analysis (3 credits) | | | | CS 759 | Advanced Image Processing and Analysis (3 credits) | | | | CS 780 | Computer Vision (3 credits ) | | | | CS 782 | Pattern Recognition and Applications (3 credits) |
|
|
Note: Taking CS 700 level courses require permission of the graduate advisor. Software Engineering Choose three (3) courses from the following table:
cs673,is676,cs677
|
| | | CS 673 | Software Design and Production Methodology (3 credits) | | | | IS 676 | Requirements Engineering (3 credits) | | | | CS677 | |
|
|
Computer Algorithms Choose three (3) courses from the following table:
cs611,cs665,cs667,cs668,cs669
|
| | | CS 611 | Introduction to Computability and Complexity (3 credits) | | | | CS 665 | Algorithmic Graph Theory (3 credits) | | | | CS 667 | Design Techniques for Algorithms (3 credits) | | | | CS 668 | Parallel Algorithms (3 credits) | | | | CS 669 | Computational Geometry (3 credits) |
|
|
Bioinformatics Choose three (3) courses from the following table:
bnfo601,bnfo602,cs744,math661
|
| | | BNFO601 | | | | | BNFO602 | | | | | CS 744 | Data Mining and Management in Bioinformatics (3 credits ) | | | | Math 661 | Applied Statistics (3 credits) |
|
|
Note: Taking CS 700 level courses require permission of the graduate advisor. 2. Project Option (30 credits) Students must - Enroll in the Masters Project course CS 700B.
In the semester prior to enrolling in CS 700B, the student must prepare and submit a project proposal to the Department no later than the last weekday class day of the 8th week of the - Fall semester for a spring project, or
- Spring semester for a summer or fall project.
The student must have an advisor in the Computer Science Department who is a tenure- track faculty member or who holds a joint appointment in the department. With the exception of the project, the Project Option is similar to the Course Only Option with a specialization. The 3-credit project is considered equivalent to two (2) courses of requirement (1.b). Project Requirements - Before a student pursues a Master's Project, the following requirements must be fully satisfied:
- All bridge courses must be completed. - In the semester prior to the project, a student prepares and submits a project proposal to the Department no later than the last weekday class day of the 8th week of the Fall semester for a spring project and no later than the last weekday class day of the 8th week of the Spring semester for a summer or fall project. The preparatory work for the proposal may be accomplished within the framework of a required course or an independent study course offered by the prospective advisor. Therefore, such a course must be taken in the semester prior to the project. - A CS Department tenure-track faculty member or a faculty member who holds a joint appointment in the computer science department can advise an MS project.
- Proposal preparation must adhere to the existing departmental guidelines; the information and templates are available online.
Thesis Option (30 credits) Students must - select a specialization, and
- enroll in the Thesis CS 701 course for two (2) semesters (Thesis must match specialization).
A student can enroll in CS 701 during the second semester of full time study. Normally the student enrolls for two semesters of CS 701 to prepare the thesis proposal, perform the research, and prepare the thesis. The thesis must be orally defended and follow the style set forth by the Graduate School at NJIT. The thesis committee is composed of a Computer Science tenure-track committee chair and two other tenure-track members of the Computer Science Department or Faculty holding a joint appointment to the department. With the exception of the thesis, the thesis option is similar to the Course Only Option with a specialization. The six (6) credit thesis is considered equivalent to three (3) courses of requirement (1.b). Thesis Requirements - Before a student pursues a Master's Thesis, the following requirements must be fully satisfied:
- All bridge courses must be completed. - In the semester prior to the thesis, a student prepares and submits a thesis proposal to the department no later than week 8 of the Fall semester for a spring thesis and week 8 of the Spring semester for a summer of fall thesis. The preparatory work for the proposal may be accomplished within the framework of a required course or an independent study course offered by the prospective advisor. Therefore, such a course must be taken in the semester prior to the thesis. - A CS department tenure-track faculty member or a faculty member who holds a joint appointment in the Computer Science Department can advise an MS thesis.
- A thesis must adhere to the style requirements set forth by the Graduate School:
www.njit.edu/v2/Directory/Admin/Graduate_Studies/thesis.php. - An oral defense is required. The defense must take place between one week prior to the Reading Day of the semester and the last day of the Examination period. A committee of at least three tenure-track faculty members from the CS Department, including the thesis advisor, collectively determines the grade for CS 701 at the conclusion of the oral defense.
Other Policies - Transfer: Transfer of computer science courses from other US/Canada institutions is allowed as per university regulations provided that these courses are related to the program. Graduate Advisor and Graduate Studies Office approvals are required.
- MS/MS Program: Under the University MS/MS program, up to six credits of courses taken in other departments can be used for graduate credits toward the degree as long as these courses are related to computer science. Graduate advisor and Graduate Studies Office approvals are required.
- Co-op Program: Before a student applies for CS 590/591/592 registration, the successful completion of the bridge program, all ESL requirements, and at least four graduate courses is required.
- The same course cannot satisfy two or more requirements.
CS Advanced Courses
cs611,cs632,cs659,cs661,cs665,cs667,cs668,cs673,cs696,cs704,cs730,cs731,cs734,cs744,cs750,cs752,cs759,cs775,cs780,cs782
|
| | | CS 611 | Introduction to Computability and Complexity (3 credits) | | | | CS 632 | Advanced Database System Design (3 credits) | | | | CS 659 | Image Processing and Analysis (3 credits) | | | | CS 661 | Systems Simulation (3 credits) | | | | CS 665 | Algorithmic Graph Theory (3 credits) | | | | CS 667 | Design Techniques for Algorithms (3 credits) | | | | CS 668 | Parallel Algorithms (3 credits) | | | | CS 673 | Software Design and Production Methodology (3 credits) | | | | CS 696 | Network Management and Security (3 credits) | | | | CS 704 | Sequencing and Scheduling (3-0-3) | | | | CS 730 | Seminar in Database Management Topics (3 credits) | | | | CS 731 | Applications of Database Systems (3 credits) | | | | CS 734 | Data Mining (3 credits ) | | | | CS 744 | Data Mining and Management in Bioinformatics (3 credits ) | | | | CS 750 | High Performance Computing (3 credits) | | | | CS 752 | Communication Protocol Synthesis and Analysis (3 credits) | | | | CS 759 | Advanced Image Processing and Analysis (3 credits) | | | | CS 775 | Seminar in Software Engineering (3 credits) | | | | CS 780 | Computer Vision (3 credits ) | | | | CS 782 | Pattern Recognition and Applications (3 credits) |
|
|
Bridge Courses Students who intend to pursue an MS degree in Computer Science are expected to have a certain background in Computer Science and Mathematics. A student who does not have this background will be expected to take bridge courses in the beginning before taking graduate level Computer Science courses. These students will be notified in their acceptance letter that bridge courses are a condition of their acceptance into the Master's Program. If a student's acceptance letter indicates bridge courses are required, they must contact the Graduate Advisor. If the acceptance letter does not indicate bridge courses, none are required and the student may immediately begin taking graduate courses. A student must maintain a cumulative GPA of 3.0 in bridge courses. Bridge courses do not count towards MS degree requirements; however, they count toward the cumulative graduate GPA
cs252,cs332,cs505,cs506,math111,math112,math211,math333
|
| | | CS 252 | Computer Organization and Architecture (3-0-3) | | | | CS 332 | Principles of Operating Systems (3-0-3) | | | | CS 505 | Programming, Data Structures, and Algorithms (3 credits) | | | | CS 506 | Foundations of Computer Science (3 credits) | | | | Math 111 | Calculus I (4-1-4) | | | | Math 112 | Calculus II (4-1-4) | | | | Math 211 | Calculus III A (3-0-3) | | | | Math 333 | Probability and Statistics (3-0-3) |
|
|
Note: CS 505 requires prior knowledge of higher level programming language. For students with no prior programming experiences, CS 113 and CS 114 are recommended for replacement.
|
| |
|
|
|
|
|
|
|
| PhD in Computer Science |
|
10 |
|
| |
|
PhD in Computer Science
|
|
Bridge Program:
Applicants are expected to have backgrounds in computer science and mathematics equivalent to the bridge program courses listed below. Students who lack this background may be admitted and required to take these courses and attain a cumulative GPA of 3.0.
cs251,cs332,cs333,cs505,cs510,math111,math112,math211,math226,math333
|
| | | CS 251 | Computer Organization (3-0-3) | | | | CS 332 | Principles of Operating Systems (3-0-3) | | | | CS 333 | Introduction to UNIX Operating Systems (3-0-3) | | | | CS 505 | Programming, Data Structures, and Algorithms (3 credits) | | | | CS 510 | Assembly Language Programming and Principles (3 credits) | | | | Math 111 | Calculus I (4-1-4) | | | | Math 112 | Calculus II (4-1-4) | | | | Math 211 | Calculus III A (3-0-3) | | | | Math 226 | Discrete Analysis (4-0-4) | | | | Math 333 | Probability and Statistics (3-0-3) |
|
Core Requirements: All PhD students are required to take qualifying examinations in the following areas:
cs610,cs611,cs665
|
| | | CS 610 | Data Structures and Algorithms (3 credits) | | | | CS 611 | Introduction to Computability and Complexity (3 credits) | | | | CS 665 | Algorithmic Graph Theory (3 credits) |
|
|
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..
cs631,cs632,is634,cs665,cs667,cs670,cs734,biol601
|
| | | CS 631 | Data Management System Design (3 credits) | | | | CS 632 | Advanced Database System Design (3 credits) | | | | IS 634 | Information Retrieval (3 credits) | | | | CS 665 | Algorithmic Graph Theory (3 credits) | | | | CS 667 | Design Techniques for Algorithms (3 credits) | | | | CS 670 | Artificial Intelligence (3 credits) | | | | CS 734 | Data Mining (3 credits ) | | | | BIOL601 | |
|
|
Computer Algorithms and Theory of Computing:
cs610,cs611,cs665,cs667,cs668,cs669,ie704
|
| | | CS 610 | Data Structures and Algorithms (3 credits) | | | | CS 611 | Introduction to Computability and Complexity (3 credits) | | | | CS 665 | Algorithmic Graph Theory (3 credits) | | | | CS 667 | Design Techniques for Algorithms (3 credits) | | | | CS 668 | Parallel Algorithms (3 credits) | | | | CS 669 | Computational Geometry (3 credits) | | | | IE 704 | Sequencing and Scheduling (3 credits) |
|
|
Computer Systems, and Parallel and Distributed Processing:
cs630,cs633,cs636,cs637,cs650,cs668,cs750,ece658,ece758,ece689,ece785
|
| | | CS 630 | Operating System Design (3 credits) | | | | CS 633 | Distributed Systems (3 credits) | | | | CS 636 | Compiling System Design (3 credits) | | | | CS 637 | Real-Time Systems (3 credits) | | | | CS 650 | Computer Architecture (3 credits) | | | | CS 668 | Parallel Algorithms (3 credits) | | | | CS 750 | High Performance Computing (3 credits) | | | | ECE 658 | VLSI Design I (3 credits) | | | | ECE 758 | VLSI Design II (3 credits) | | | | ECE 689 | Digital System Design for Machine Arithmetic (3 credits) | | | | ECE 785 | Parallel Processing Systems (3 credits) |
|
|
Databases, Data Mining, and Knowledge-Based Engineering:
cs630,cs631,cs632,is634,is658,cs665,cs667,cs670,cs671,cs731,cs734
|
| | | CS 630 | Operating System Design (3 credits) | | | | CS 631 | Data Management System Design (3 credits) | | | | CS 632 | Advanced Database System Design (3 credits) | | | | IS 634 | Information Retrieval (3 credits) | | | | IS 658 | Multimedia Systems (3 credits) | | | | CS 665 | Algorithmic Graph Theory (3 credits) | | | | CS 667 | Design Techniques for Algorithms (3 credits) | | | | CS 670 | Artificial Intelligence (3 credits) | | | | CS 671 | Knowledge-Based Systems (3 credits) | | | | CS 731 | Applications of Database Systems (3 credits) | | | | CS 734 | Data Mining (3 credits ) |
|
|
Image Processing and Computer Graphics:
cs630,cs632,cs657,cs659,cs665,cs667,cs682,cs759,cs780,cs782,ece601,ece643,me635
|
| | | CS 630 | Operating System Design (3 credits) | | | | CS 632 | Advanced Database System Design (3 credits) | | | | CS 657 | Principles of Interactive Computer Graphics (3 credits) | | | | CS 659 | Image Processing and Analysis (3 credits) | | | | CS 665 | Algorithmic Graph Theory (3 credits) | | | | CS 667 | Design Techniques for Algorithms (3 credits) | | | | CS 682 | Geometric Modeling (3 credits) | | | | CS 759 | Advanced Image Processing and Analysis (3 credits) | | | | CS 780 | Computer Vision (3 credits ) | | | | CS 782 | Pattern Recognition and Applications (3 credits) | | | | ECE 601 | Linear Systems (3 credits) | | | | ECE 643 | Digital Image Processing I (3 credits) | | | | ME 635 | Computer-Aided Design (3 credits) |
|
Other 600/700-level courses as approved by advisor. Networking and Security:
cs604,cs630,cs651,cs652,cs654,cs656,cs696,cs697,cs741,cs752
|
| | | CS 604 | Client/Server Computing (3 credits) | | | | CS 630 | Operating System Design (3 credits) | | | | CS 651 | Data Communications (3 credits) | | | | CS 652 | Computer Networks-Architectures, Protocols and Standards (3 Credits) | | | | CS 654 | Telecommunication Networks Performance Analysis (3 credits) | | | | CS 656 | Internet and Higher Layer Protocols (3 credits) | | | | CS 696 | Network Management and Security (3 credits) | | | | CS 697 | Principles of Broadband ISDN and ATM (3 credits) | | | | CS 741 | Communication Network Design (3 credits) | | | | CS 752 | Communication Protocol Synthesis and Analysis (3 credits) |
|
|
Software Engineering:
cs601,cs610,cs611,cs630,cs635,cs636,cs641,cs667,cs673,is676,is683,cs688
|
| | | CS 601 | Object-Oriented Programming (3 credits) | | | | CS 610 | Data Structures and Algorithms (3 credits) | | | | CS 611 | Introduction to Computability and Complexity (3 credits) | | | | CS 630 | Operating System Design (3 credits) | | | | CS 635 | Computer Programming Languages (3 credits) | | | | CS 636 | Compiling System Design (3 credits) | | | | CS 641 | Formal Languages and Automata (3 credits) | | | | CS 667 | Design Techniques for Algorithms (3 credits) | | | | CS 673 | Software Design and Production Methodology (3 credits) | | | | IS 676 | Requirements Engineering (3 credits) | | | | IS 683 | Object-Oriented Software Development (3 credits) | | | | CS 688 | Programming for Interactive Environments (3 credits) |
|
|
Systems Analysis, Simulation and Modeling:
cs605,cs621,cs622,cs630,cs631,cs637,cs651,cs654,cs661,cs662,cs741
|
| | | CS 605 | Discrete Event Dynamic Systems (3 credits) | | | | CS 621 | Numerical Analysis I (3 credits) | | | | CS 622 | Numerical Analysis II (3 credits) | | | | CS 630 | Operating System Design (3 credits) | | | | CS 631 | Data Management System Design (3 credits) | | | | CS 637 | Real-Time Systems (3 credits) | | | | CS 651 | Data Communications (3 credits) | | | | CS 654 | Telecommunication Networks Performance Analysis (3 credits) | | | | CS 661 | Systems Simulation (3 credits) | | | | CS 662 | Model Analysis and Simulation (3 credits) | | | | CS 741 | Communication Network Design (3 credits) |
|
| |
|
|
|