Curriculum Requirements

Master of Science in Computer Science

Major Requirements

Fundamental Courses Credits:
CSCI 610 Theoretical Concepts in Computers and Computation 3
Selected topics in set theory, Boolean Algebra, graph theory, and combinatorics. Formal languages, regular expressions and grammars. Automata and Turing machines. Algorithms and computability.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3
CSCI 641 Computer Architecture I 3
This course explores modem architectural design patterns and exposes the students to latest technologies used to build computing systems. Concepts presented in this course include but are not limited to pipelining, multicore processors, superscalar processors with in-order and out-of order execution, virtual machines, memory hierarchy, virtual memory, interconnection networking, storage and I/0 architectures, computer clustering and cloud computing. Students are introduced to performance evaluation techniques and learn how to use the results of such techniques in the design of computing systems. Equivalent to EENG 641.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3
CSCI 651 Algorithm Concepts 3
Abstract Data Structures are reviewed. The course covers the study of both the design and analysis of algorithms. Design methods include: divide-and-conquer; the greedy method; dynamic programming; basic traversal and search techniques algebraic and geometric problems as well as parallel algorithms (PRAM). Space and time complexity; performance evaluation; and NP-Hard and NP-Complete classes are also covered. The purpose of this approach to the subject is to enable students to design and analyze new algorithms for themselve.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3
    Total: 9 Credits
 
System Programming (select two courses from the following) Credits:
CSCI 620 Operating System Security 3
In this course students are introduced to advanced concepts in operating systems with emphasis on security. Students will study contemporary operating systems including UNIX and Windows. Topics include the application of policies for security administration, directory services, file system security, audit and logging, cryptographic enabled applications, cryptographic programming interfaces, and operating system integrity verification techniques. Equivalent to ITEC 445.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3
CSCI 621 Programming Languages 3
Prerequisite: Co-requisite: CSCI 651

The general principles of modern programming language design: Imperative (as exemplified by Pascal, C and Ada), functional (Lisp), and logical (Prolog) languages. Data management, abstract data types, packages, and object-oriented languages (Ada, C + +). Control structures. Syntax and formal semantics. While some implementation techniques are mentioned, the primary thrust of the course is concerned with the abstract semantics of programming languages.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3
CSCI 731 Compiler Theory I 3
Prerequisite: Prerequisite: CSCI 651

Review of general structures of a compiler. Finite state automata, regular expressions and lexical analysis. Review of BNF and context free syntax, recursive descent and operator precedence parsing. General table drive, top-down and bottom-up parsing methods. Syntax directed translation. Type checking. Run-time environments. Introduction to intermediate code-generation. A compiler project is required.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3
    Total: 6 Credits
 
Application (select two courses from the following) Credits:
CSCI 665 Software Engineering 3
Techniques for the development and implementation of high-quality digital computer software are presented. Major areas covered in the course include software quality factors and metrics, software development outlines and specification languages, top-down vs. bottom-up design and development, complexity, testing and software reliability.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3
CSCI 670 Computer Graphics 3
Introduction to display system parameters; comparison of information retrieval and document retrieval; digitizing as an input process; picture models and data structures; display software; applications, hands-on laboratory experience.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3
CSCI 690 Computer Networks 3
Connection of multiple systems in a networked environment. Topics include physical connection alternatives, error management at the physical level, commercially available protocol support, packet switching, LANs, WANs and Gateways.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3
CSCI 755 Artificial Intelligence I 3
Prerequisite: Prerequisite: CSCI 651

This course will cover machine learning (ML) concepts, decision theory, classification, clustering, feature selection, and feature extraction. Emphasis is on the core idea and optimization theory behind ML methods. Important ML applications (including biometrics and anomaly detection) will also be covered.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3
CSCI 760 Database Systems 3
Prerequisite: Prerequisites: CSCI 651 or DTSC 610

Design and implementation of databases. Hierarchal and network concepts; relational databases systems; entity relationship model: query languages; relational design theory; security and authorization; access methods; concurrency control backup and recovery.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3
CSCI XXX Any other graduate-level course approved by program chair/program advisor 3
Please view all course descriptions: http://www.nyit.edu/courses
    Total: 6 Credits
 
Project/Thesis Course** Credits:
CSCI XXX Elective (Department Chair's permission and prior approval by a project advisor needed) 3
Please view all course descriptions: http://www.nyit.edu/courses
—OR—
Please view all course descriptions: http://www.nyit.edu/courses
CSCI 890 MS Thesis I 3
This is the first of a two-course sequence spanning two semesters of research. The master's thesis provides an opportunity for students to undertake an in-depth investigation of a specific topic within Computer Science. This course requires the students to explore an original and appropriately phrased research question, and carry out and document a comprehensive literature review, research and experimentation in the chosen problem area with a good deal of individual responsibility. The course culminates in a preliminary draft of the theses document to be presented to the thesis faculty advisor.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3
CSCI 891 MS Thesis II 3
Prerequisite: Prerequisite: CSCI 889

This is the second of a two-course sequence for master's thesis. Students will continue the research and experimentation started in the first course in the sequence. The course culminates in an oral defense of the thesis project in front of a thesis committee consisting of the student's thesis faculty advisor and other members. By the end of the semester, students will complete a publication-quality master's thesis to be archived in the NYIT library.

Classroom Hours - Laboratory and/or Studio Hours – Course Credits: 3-0-3
    Total: 3–6 Credits
** Thesis Option: must choose six credits
Non-Thesis Option: must choose three credits
 
Electives (select from the CS curriculum) Credits:
CSCI XXX Consult with program chair/program advisor on any electives
Please view all course descriptions: http://www.nyit.edu/courses
    Total: 3–6 Credits
Thesis Option: must choose three credits of electives
Non-Thesis Option: must choose six credits of electives
 
Total Required Credits = 30