Computer Science

Name Title Credits School
CSCI 502 Computer Programming I 3 College of Eng & Comp Sciences
This course provides basic skills in problem solving and object-oriented programming using a high level language such as Java or C++. Topics include algorithm development, simple data types, expressions and statements, program flow control structures, objects, methods and arrays. The course will also include a special project or paper as required and specified by the instructor and the SoECS graduate committee. Knowledge of Algebra

CSCI 503 Computer Organization and Architecture 3 College of Eng & Comp Sciences
This course introduces students to the organization and architecture of modern computers. The students will learn a variety of concepts from the stored-program concept and the machine cycle, to the representation of code and data. The basic components of a computer and their functionality are analyzed including processor data path, pipelines, I/O devices, memory hierarchy, and interconnection networks. The instruction set architecture and its importance in reducing the gap between hardware and software is also discussed. Students will also learn how to evaluate computer performance. The course will also include a special project or paper as required and specified by the instructor and the SoECS graduate committee.

Prerequisite Course(s): Prerequisite: CSCI 125 or CSCI 502

CSCI 504 Computer Programming II 3 College of Eng & Comp Sciences
This course provides advanced skills in object-oriented programming and problem solving techniques using a high level language such as Java C++. Topics include polymorphism, inheritance, exception handling, stream and file I/O, recursion, and dynamic data structures. The course will also include a special project or paper as required and specified by the instructor and the SoECS graduate committee.

Prerequisite Course(s): Prerequisite: CSCI 125 or CSCI 502

CSCI 505 Elements of Discrete Structures 3 College of Eng & Comp Sciences
This course provides students with an introduction to discrete structures with applications to computing problems. Topics include logic, sets, functions, relations, proof techniques, counting and algorithmic analysis in addition to graph theory and trees. The course will also include a special project or paper as required and specified by the instructor and the SoECS graduate committee.

Prerequisite Course(s): Prerequisite: CSCI 185 or CSCI 504

CSCI 507 Data Structures 3 College of Eng & Comp Sciences
The classic data structures, such as stacks, queues, linked lists, binary trees, etc. are studied. Sorting and searching are stressed. Computational analysis is also studied. The course will also include a special project or paper as required and specified by the instructor and the SoECS graduate committee.

Prerequisite Course(s): Prerequisite: CSCI 185 or CSCI 504

CSCI 508 Compiler Design 3 College of Eng & Comp Sciences
The design and implementation of a compiler is studied, including compiler organization, lexical analysis, searching methods and symbol tables, formal languages and grammar, parser construction, code syntax and code generation. The course will also include a special project or paper as required and specified by the instructor and the SoECS graduate committee.

Prerequisite Course(s): Prerequisite: Take one course in each group: Group 1 ( CSCI 260 or CSCI 507) and Group 2 (CSCI 210 or CSCI 185 or CSCI 504)

CSCI 509 Operating Systems 3 College of Eng & Comp Sciences
The design and implementation of an operating system is studied, including process states and synchronization, memory management strategies, processor scheduling, multiprocessing, parallel processing, hardware organization, disk scheduling and file management. The course will also include a special project or paper as required and specified by the instructor and the SoECS graduate committee.

Prerequisite Course(s): Prerequisite: Take one course in each group: Group 1 (CSCI 155 or CSCI 503) and Group 2 (CSCI 260 or CSCI 507)

CSCI 600 Maintain Matriculation 0 College of Eng & Comp Sciences
Matriculated students who do not register for coursework in a regular semester (excluding summer) are expected to maintain matriculation by registering for this course.

CSCI 606 Distributed Systems 3 College of Eng & Comp Sciences
This course introduces the principles and practice underlying the design of distributed systems, both Internet-based and otherwise. Major topics include interprocess communication and remote invocation, distributed naming, distributed file systems, data replication, distributed transaction mechanisms, and distributed shared objects, secure communication, authentication and access control, mobile code, transactions and persistent storage mechanisms. A course project is required to construct working distributed applications using contemporary languages, tools and environments.

CSCI 610 Theoretical Concepts in Computers and Computation 3 College of Eng & Comp Sciences
Selected topics in set theory, Boolean Algebra, graph theory, and combinatorics. Formal languages, regular expressions and grammars. Automata and Turing machines. Algorithms and computability.

CSCI 620 Operating System Security 3 College of Eng & Comp Sciences
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.

CSCI 621 Programming Languages 3 College of Eng & Comp Sciences
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.

Prerequisite Course(s): Co-requisite: CSCI 651

CSCI 622 Introduction to Health Informatics 3 College of Eng & Comp Sciences
This course covers the core concepts of healthcare e-delivery systems and healthcare information management. The principle of Electronic Health Records (EHRs) and meaningful use of EHRs are discussed and samples of HER systems are reviewed. Standards used for health information systems are covered and several major medical terminology systems are reviewed. The course will also include a special project or paper as required and specified by the instructor and the SoECS graduate committee. Classroom Hours- Laboratory and/ or Studio Hours- Course Credits: 3-0-3

CSCI 626 Information Retrieval 3 College of Eng & Comp Sciences
This course provides students with an introduction to the basics and techniques of information retrieval. Topics cover search engines, retrieval strategies such as vector space, extended Boolean, probabilistic models and evaluation methods including relevance-based measures, query processing, indexing and searching. Classroom Hours- Laboratory and/or Studio Hours- Course Credits: 3-0-3

CSCI 636 Big Data Analytics 3 College of Eng & Comp Sciences
Organizations today are generating massive amounts of data that are too large and unstructured to fit in relational databases. Organizations and enterprises are turning to massively parallel computing solutions such as Hadoop. The Apache Hadoop platform allows for distributed processing of large data sets across clusters of computers using the map and reduce programming model. Students will gain an in-depth understanding of how MapReduce and Distributed File Systems work. In addition, they will be able to author Hadoop-based MapReduce applications in Java and use Hadoop subprojects Hive and Pig to build powerful data processing applications. Industry systems, such as IBM InfoSphere BigInsights and IBM InfoSphere Streams will be studied. Classroom Hours- Laboratory and/or Studio Hours- Course Credits: 3-0-3

CSCI 641 Computer Architecture I 3 College of Eng & Comp Sciences
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.

CSCI 645 Numerical Analysis I 3 College of Eng & Comp Sciences
Real and complex zeros of a function and polynomials, interpolation, roundoff error, optimization techniques, least square techniques, orthogonal functions, Legendre and Chebyshev polynomials, numerical integration and differentiation, numerical solution of differential equations with initial and boundary values. The numerical methods developed will emphasize efficiency, accuracy and suitability to high-speed computing. Selected algorithms may be flowcharted and programmed for solution on a computer.

CSCI 646 Database Interface & Programming 3 College of Eng & Comp Sciences
An advanced course in static and dynamic programming embedded SQL using C. Open Database Connectivity (ODBC), interface to access data from various database management systems with Structured Query Language (SQL). Classroom Hours- Laboratory and/or Studio Hours- Course Credits: 3-0-3

CSCI 651 Algorithm Concepts 3 College of Eng & Comp Sciences
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.

CSCI 654 Principles of Information Security 3 College of Eng & Comp Sciences
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. Classroom Hours- Laboratory and/or Studio Hours- Course Credits 3-0-3

CSCI 655 Automata Theory 3 College of Eng & Comp Sciences
Theory of finite automata, identification of states. Turing Machines, neural nets, majority logic. Applications in pattern recognition and game playing. Hardware and software implementations.

CSCI 656 Distributed Database Systems 3 College of Eng & Comp Sciences
Concepts underlying distributed systems: synchronization, communication, fault-tolerance. Concepts and architecture of distributed database systems. Distributed concurrency control and recovery. Replicated databases. Distributed Query Processing. Examples of commercial relational distributed DBMS. Classroom Hours- Laboratory and/or Studio Hours- Course Credits: 3-0-3

CSCI 657 Introduction to Data Mining 3 College of Eng & Comp Sciences
This course introduces the concepts, techniques, and applications of data mining. Topics include data preprocessing, clustering, data warehouse and Online Analytical Processing (OLAP) technology, cluster and social network analysis, data classification and prediction, multimedia and web mining. Classroom Hours- Laboratory and/or Studio Hours- Course Credits: 3-0-3

CSCI 662 Information System Security Engineering and Administration 3 College of Eng & Comp Sciences
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. Classroom Hours- Laboratory and/or Studio Hours- Course Credits: 3-0-3

CSCI 665 Software Engineering 3 College of Eng & Comp Sciences
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 670 Computer Graphics 3 College of Eng & Comp Sciences
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.

CSCI 675 Simulation Techniques 3 College of Eng & Comp Sciences
The use of simulation methods for the analysis and design of various types of systems is discussed. The use of general purpose languages for simulation is covered along with the use of discrete and continuous simulation languages for probabilistic and analog systems.

CSCI 690 Computer Networks 3 College of Eng & Comp Sciences
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.

CSCI 725 Java Networking 3 College of Eng & Comp Sciences
In this class, students will study Input/Output, Java multi-threading, Java Graphic user interfaces, and TCP/IP fundamentals. Client-server methodology, connection-oriented communication and server sockets as well as connectionless communication datagram sockets and packets will be studied. Java database connectivity, Java remote method innovation, Web servers and server-side Java, and Java Beans will be introduced.

CSCI 731 Compiler Theory I 3 College of Eng & Comp Sciences
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.

Prerequisite Course(s): Prerequisite: CSCI 651

CSCI 741 Computer Architecture II 3 College of Eng & Comp Sciences
Discussions of the advancements in computer architecture of and beyond the Von Neumann Architecture. This will include pipelined machines. RISC machines, parallel architectures, distributed architectures, and language-directed architectures. Equivalent to EENG 741.

CSCI 755 Artificial Intelligence I 3 College of Eng & Comp Sciences
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.

Prerequisite Course(s): Prerequisite: CSCI 651

CSCI 760 Database Systems 3 College of Eng & Comp Sciences
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.

Prerequisite Course(s): Prerequisites: CSCI 651 or DTSC 610

CSCI 765 VLSI Systems 3 College of Eng & Comp Sciences
This course assumes a basic knowledge of VLSI design and concentrates on the architecture, organization, implementation and technology issues of designing VLSI systems. A focus of the course will be significant student projects utilizing hierarchical design techniques, CAD design and simulation tools, and design for testability techniques.

Prerequisite Course(s): Prerequisite: CSCI 660

CSCI 780 Topics in Software Engineering 3 College of Eng & Comp Sciences
Students will engage in independent research projects in such areas as reliability, quality, matrix and structure design.

Prerequisite Course(s): Prerequisite: CSCI 665

CSCI 790 Advanced Software Engineering 3 College of Eng & Comp Sciences
The major emphasis in this course is on the structural design of software. Methods and concepts covered include cohesion and coupling; structured and composite design: Jackson methodology; higher order software; data abstraction and design of program families.

Prerequisite Course(s): Prerequisite: CSCI 665

CSCI 820 Topics in Database Systems 3 College of Eng & Comp Sciences
Advanced topics in database systems. Topics may include: semantic modeling; object oriented, knowledge based, and deductive databases; distributed database systems.

Prerequisite Course(s): Prerequisite: CSCI 760

CSCI 840 Software Design for Real-Time Systems 3 College of Eng & Comp Sciences
Methods for the design of software for real time applications are covered in this course. Topics include execution time and memory requirements, interfacing high level language features for real time applications, interfacing assembly language routines and the use of coprocessors.

CSCI 860 Special Topics 3 College of Eng & Comp Sciences
This course provides an opportunity for students to study, in a variety of formats, advanced topics which may not be included elsewhere in the curriculum. The topics may be of mutual interest to the student and faculty member or appropriate for group study.

CSCI 870 Project I 3 College of Eng & Comp Sciences
Independent research project. Prior approval by a project advisor needed.

CSCI 890 MS Thesis I 3 College of Eng & Comp Sciences
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.

CSCI 891 MS Thesis II 3 College of Eng & Comp Sciences
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.

Prerequisite Course(s): Prerequisite: CSCI 889