MS Computer Science - Course Descriptions

Bridge Courses

CS 500 Discrete Structures 
Concepts of discrete mathematics relevant to computer science. Topics include logics and proofs, natural deduction, set theory, relational and algebraic structures on sets, Boolean matrices, graph theory, elementary enumerative combinatorics, and elementary formal grammars and automata theory, practice on computer of mathematical software systems.

CS 502 Machine Structures
Computer systems as a hierarchy of levels, beginning with the standard von Neumann model and then moving forward to more recent architectural concepts. Topics include digital logic, microprogramming, conventional machine and assembly language levels. Emphasis is given to those aspects of computer hardware that affect programming. Prerequisites: Permission of instructor

CS 503 Data Structures
Fundamental concepts of data structures and the algorithms that proceed from them. Topics include recursion, the underlying philosophy of object-oriented programming, fundamental data structures including stacks, queues, linked lists, hash tables, trees, and graphs. The basics of algorithmic analysis, and an introduction to the principles of language translation. Course programming assignments use Java and/or C++. Prerequisites: Permission of instructor

CS 505 Object-oriented Programming
Programs as collections of classes that define interacting objects. Topics include class definition, information hiding and encapsulation, inheritance, polymorphism and late binding, exceptions, abstract classes, interfaces, generics, collections. Software reuse and collaboration. Introduction to UML and design patterns. Event-driven programming and graphical user interfaces, discrete-event simulation, multi-threading, sockets, web programming as sample applications. Prerequisite: Permission of instructor


Software Engineering

CS 510 Programming Languages 
Principles for programming language organization, and techniques for language processor implementation. Topics include syntax structures, grammars, lexing and parsing techniques, semantic analysis, symbol tables, language translation and generation patterns, type systems, runtime environments, garbage collection, comparative review of major programming language paradigms, domain-specific languages, mathematics of formal language semantics. Prerequisite: Discrete Structures

CS 511 Formal Methods in Software Construction & Verification 
Fundamentals of formal software specification and verification, and principles of deductive verification of object-oriented software. Topics include predicate, modal, Hoare, dynamic logics for program specification, construction and verification, intractability of testing, specification property theorem proving, fundamentals of model checking, symbolic execution, software artifacts for specification and verification. Prerequisite: Discrete Structures

CS 512 Software Engineering 
Principles, processes and tools for the rigorous construction of software. Topics include system engineering contexts, model-based paradigms, UML and SysML, agile approaches, requirement specifications, architectural design, detailed design, testing, maintenance, patterns for analysis and design, configuration management, automated code generation, and compliance. Prerequisite: Discrete Structures, Data Structures

CS 518 Special Topics in Software Engineering 
Topics will vary from offering to offering. In-depth development of topics reflecting current research interest of faculty. Prerequisite: as listed by instructor


Systems & Architectures

CS 520 Computer Architecture 
Core principles underlying current and future machines are discussed in quantitative terms and illustrated with current leading architectures. Review of instruction set architectures, pipelining and cache sequences. Issues of power, circuit costs, reliability and availability are introduced. Exploiting instruction-level parallelism in processors including superscalar execution, branch prediction, dynamic scheduling and relevant compiler enhancements are considered. Organization and performance of symmetric and distributed memory architectures: SIMD/MIMD systems, interconnection networks, synchronization and cache coherence. Prerequisites: Machine Structures, Discrete Structures

CS 521 Operating Systems 
Exploration and discussion of major developments in operating systems technologies from analysis and modeling aspects covering both centralized and distributed architectures. Topics include: concurrency and interprocess communication, memory management issues, file systems and I/O, multimedia operating systems, multiprocessors, distributed systems, and research foci in operating systems area. Prerequisite: CS 330 Operating systems or equivalent

CS 522 Computer Networks 
Analysis, modeling and evaluation of computer networks with Internet as the infrastructure base. Topics include: layered models and protocol suites, unicast/multicast routing, network management, traffic measurement and analysis, mobile networking, router architecture, network-aware applications, content dissemination systems, network security and performance issues. Prerequisite: Discrete Structures

CS 523 Parallel Computing 
Techniques for programming parallel computers; trends in parallel and distributed computing; shared memory and message passing architectures; parallel algorithms design; synchronization; parallel algorithm performance analysis; interconnection network topologies; parallel computing languages. Prerequisites: Machine Structures, Data Structures

CS 524 Embedded & Real-Time Systems 
Introduction to the problems, concepts, and techniques involved in computer systems which must interface with external devices such as process control systems, computer systems embedded within aircraft or automobiles, and graphic systems: techniques for embedded and real-time programming; trends in embedded architectures; operating systems software for these systems. Prerequisites: Machine Structures, Data Structures

CS 528 Special Topics in Systems & Architectures 
Topics will vary from offering to offering. In-depth development of topics reflecting current research interest of faculty. Prerequisite: as listed by instructor


Algorithms & Theory

CS 530 Algorithms & Complexity 
There are three questions asked of any algorithm: Is it correct? How fast is it? Can it be done better? A survey of the main techniques and methodologies for designing efficient algorithms as well as the class of problems which are currently considered intractable. Ways to cope with intractability are considered including approximation, randomized algorithms, and local search heuristics. Quantum computing and algorithms are introduced as well. Prerequisite: Discrete Structures, Data Structures

CS 531 Automata, Computability & Formal Languages
Computational capabilities of various classes of abstract machines. Relevance of the abstract machines to real machines. An introduction to formal language theory. Correspondences between the abstract machines viewed as language acceptors and the grammars that generate those languages. Primitive and general recursive functions and their connections with these machines. Determinism and nondeterminism. Decidability and Undecidability. Intractability and NP-completeness. Prerequisites: Discrete Structures

CS 532 Cryptography & Data Security 
Algorithms and protocols for confidentiality, integrity, authentication and non-repudiation of stored and transmitted data. Topics include classical cryptographic methods, stream and block ciphers, Shannon’s entropy and perfect secrecy, cryptanalysis, substitution permutation and Feistel networks, the Data Encryption and Advanced Encryption Standards, hash functions and data integrity, secret sharing schemes, public key cryptosystems and infrastructure, digital signatures and authentication, elliptic curve cryptography, automata-theoretic and shift-register models of security systems, analog security systems. Prerequisite: Discrete Structures

CS 538 Special Topics in Algorithms & Theory 
Topics will vary from offering to offering. In-depth development of topics reflecting current research interest of faculty. Prerequisites: as listed by instructor


Artificial Intelligence & Modeling

CS 540 Artificial Intelligence 
Models of knowledge and learning representation, and techniques of intelligent problem-solving. Topics include crisp and fuzzy rule-based and logic models, constraint satisfaction problems, probabilistic graphical models, state-based search, evolutionary population-based optimization, non-evolutionary population-based techniques, sampling-based methods, neural networks, supervised learning, unsupervised learning, reinforcement learning, planning, integrative general intelligence architectures. Prerequisite: Discrete Structures

CS 541 Database Systems 
Techniques and methodologies for the design and implementation of data-based information systems. Topics include database design, modeling and management, database query design and implementation languages, physical structures and algorithms for storage and access, data mining models, complex event processing, control of data access, security and integrity, compliance with laws and regulations for databases. Prerequisite: Discrete Structures

CS 542 Machine Learning 
Survey of basic concepts and techniques in machine learning. Topics include: supervised vs. unsupervised learning, classification and regression, neural networks, decision trees, kernel methods, lazy learners, ensemble learning, clustering methods, Bayesian classifiers, evolutionary learning, reinforcement learning, and learning causal models. Prerequisites: Discrete Structures, Data Structures

CS 543 Systems Theory
This course develops a conceptual basis and techniques for the study of systems and system properties useful in all areas of computer science. Some of the properties covered are: behavior, state, dynamics, organization, structure, hierarchy, feedback regulation and control, complexity, information, communication, and performance. The course also develops a number of examples and emphasizes the ability to use the abstract systems concepts to model and study information processing systems. Prerequisite: Discrete Structures

CS 548 Special Topics in AI & Modeling 
Topics will vary from offering to offering. In-depth development of topics reflecting current research interest of faculty. Prerequisite: as listed by instructor


Other Courses

CS 591 Independent Study (variable credits)

CS 598 MS Project (3 credits)

CS 599 MS Thesis (1-6 credits)

CS 600 Colloquia in Computer Science (3 credits)
Speakers from fields in computing and its applications present their current research activities and findings. Students are required to attend a number of colloquia each semester and to write reaction papers to those presentations in areas of their interest. May be taken repeatedly, but it does not count toward the 33 credit hour requirement for the M.S. degree.

CMT 600 Continuous Registration (1)
Maintaining continuous registration is a requirement for all graduate degrees. Students who have completed most course requirements but are finishing projects, capstone experiences, thesis or are satisfying Incomplete or In-Progress grades must register to maintain continuous matriculation. Course may be taken up to 6 semesters at which time it is expected that all program requirements will have been met. Credit is not used toward program completion requirements. Only S/U grades are awarded for this course.


Request More Information

Detailed information, brochures and forms can be mailed to you upon request.


Let's Start The Process     

Complete and submit your application to SUNY Polytechnic Institute.