The Online Master’s in Computer Science Curriculum

Every course in the Online Computer Science, M.S. program is carefully designed to meet the industry’s demand. Through a mix of core courses and electives, you’ll gain a comprehensive understanding of computer algorithms, computational theory, computer architecture, operating systems, compiler design, and software-based systems.

Core Courses (3 credits each)

CSCI 610: Theoretical Concepts

Selected topics in set theory, Boolean Algebra, graph theory, and combinatorics. Formal languages, regular expressions and grammar. Automata and Turing machines. Algorithms and computability.

CSCI 641: Computer Architecture I

This course explores modern architectural design patterns and exposes the students to the 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.

CSCI 651: Algorithm Concepts

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 themselves.

CSCI 620: Operating System Security

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.

CSCI 621: Programming Languages

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.

CSCI 665: Software Engineering

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.

CSCI 760: Database Systems

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

Electives (3 credits each, select 3 courses from the following)

Data Science

DTSC 610: Programming for Data Science

This course will introduce basic programming concepts (i.e. in Python and R), and techniques including data structures (vector, matrix, list, data frame, factor), basic and common operations/concepts (indexing, vectorization, split, subset), data input and output, control structures, and functions. Other topics will include string operations (stringr package) and data manipulation techniques (dplyr, reshape2 packages). The course will also explore data mining, such as probability basics/data exploration, clustering, regression, classification, graphics, and debugging.

DTSC 701: Introduction to Big Data

Prerequisite: DTSC 610

This course provides an overview of big data applications ranging from data acquisition, storage, management, transfer, to analytics, with focus on the state-of-the-art technologies, tools, and platforms that constitute big-data computing solutions. Real-life big data applications and workflows are introduced as well as use cases to illustrate the development, deployment, and execution of a wide spectrum of emerging big-data solutions.

DTSC 630: Data Visualization

This course is designed to provide an introduction to the fundamental principles of designing and building effective data visualizations. Students will learn about data visualization principles rooted in graphic design, psychology and cognitive science, and how to use these principles in conjunction with state-of-the-art technology to create effective visualizations for any domain. Students who have taken this course will not only understand the current state-of-the-art in data visualization, but they will be capable of extending it.

Info Security

CSCI 654: Principles of Information Security

In this course, students will study the issues involved in structuring information systems to meet enterprise requirements, including security and public policy regulations. Topics include the building blocks of an information system, emphasizing the security and administration aspects of each, as well as life-cycle considerations, and risk management. The course will also include a special project or paper as required and specified by the instructor and the SoECS graduate committee.

INCS 615: Network Security and Perimeter Protection

In this course, students are introduced to the design of secure computer networks. Exploitation of weaknesses in the design of network infrastructure and security flaws in network protocols are presented and discussed. Network operation systems and network architectures are reviewed, together with the respective security related issues. Issues related to the security of content and applications such as emails, DNS, and web servers are also addressed. Security techniques including intrusion detection, forensics, cryptography, authentication and access control are analyzed. Security issues in IPSEC, SSL/ TLS, and the SSH protocol are presented.

CSCI 662: Information System Security Engineering and Admin

This course introduces students to a range of contemporary, applications oriented, and advanced technical aspects of information security and assurance. Topics covered in this course are: the need and planning for security, information security maintenance, security technology, cryptography, and physical security. The course will also cover security policies, and legal and ethical issues. The course will also include a special project or paper as required and specified by the instructor and the SoECS graduate committee.

Total Required Credits: 30

Defy Standards in Computer Science

Considering a Computer Science, M.S. to take your career to the next level? Complete the form to get a program brochure.

Get valuable insights into the online experience, learn more about the College of Engineering and Computing Sciences, and see where this degree can take you.

Take the Next Step

This will only take a moment.
By submitting this form, I agree to provide the contact information listed above for the purpose of receiving communication regarding educational programs and opportunities, and to be contacted by New York Institute of Technology and Everspring, its authorized representative.

Admissions Deadlines

Nov
17
Priority Deadline
November 17
Spring 2024
Dec
15
Final Deadline
December 15
Spring 2024
Jan
22
Start Date
January 22
Spring 2024

New York Institute of Technology has engaged Everspring, a leading provider of education and technology services, to support select aspects of program delivery.