Graduate Course Offerings
(Current course information is available via the Graduate Bulletin .)
In addition to the regularly scheduled courses below, the faculty of the Department offer seminars and Special Topics courses on a variety of subjects. We also offer M.S. project courses, independent study, internship, and other special courses, which are not listed here. The regularly scheduled courses along with their brief descriptions are listed below. A complete catalog of our courses and their more detailed descriptions can be found on our Web site at www.cs.sunysb.edu.
Computer Architecture CSE 502
Discusses topics such as instruction pipelines, memory caches, interconnection and networking, graphics, disk I/O, and instruction-level parallelism.
Compiler Design CSE 504
Teaches advanced topics in compilation, including memory management, dataflow analysis, code optimization, just-in-time compilation, and selected topics from compilation of object-oriented and declarative languages.
Computing with Logic CSE 505
Explores logic-based computing and logic programming. It includes an introduction to programming in logic, covering basic techniques for solving problems in a logic programming system. Particular attention is paid to user interface issues and how a logic system can provide a useful computing environment.
Operating Systems CSE 506
An in-depth study of important design and implementation techniques of modern operating systems, covering large components such as virtual memory, file systems, networking, and SMP support. Substantial kernel programming assignments are required, typically on Linux or BSD.
Introduction to Computational Linguistics CSE 507
Provides an overview of computational linguistics. Core topics include mathematical and logical foundations, parsing, and semantic analysis, and may include reference resolution, topic identification, and information extraction.
Network Security CSE 508
Covers principles and practice of computer network security: cryptography; authentication protocols; public-key infrastructures; IP, Web, and E-commerce security; firewalls; VPN; and network intrusion detection.
Computer System Security CSE 509
Covers principles and practice of building and administering secure systems: authentication and access control; operating system security; program security; key management; information flow; assurance; vulnerability analysis; and host intrusion detection.
Hybrid System CSE 510
Hybrid Systems combine discrete state-machines and continuous differential equations and have been used as models of a large number of applications in areas such as real-time software, embedded systems, robotics, mechatronics, aeronautics, process control and biological systems. The course will cover the state-of-the-art of modeling, design and analysis of hybrid systems.
Introduction to Transaction Processing Systems CSE 515
Covers models of transactions, including nested transactions and recoverable queues, architectures of transaction processing systems, concurrency controls and isolation levels, logging and recovery, distributed transactions and the two-phase commit protocol, replication, and Internet commerce.
Introduction to Robotics Systems CSE 525
This course introduces fundamental concepts in Robotics. Basic concepts discussed will include: coordinate transformation, kinematics, dynamics, Laplace transforms, equations of motion, feedback and feedforward control, and trajectory planning. These topics will be exemplified with Matlab/Simulink simulation studies. The second half of the course will focus on applying the knowledge from the initial lectures to various motor systems, including manipulators, artificial eye systems, locomotory systems, and mobile robotics. This course is intended for graduate students with interests in Robotics, Visual Computing, AI. Advanced undergraduates with a demonstrated interesting Robotics are also welcome.
Principles of Programming Languages CSE 526
Covers foundations (operational and denotational semantics), concepts (types, non-determinism, concurrency), and language paradigms (imperative, functional, object-oriented, and logic).
Introduction to Computer Vision CSE 527
Presents an introduction to concepts in computer vision, including low-level image analysis, image formation, edge detection, and segmentation, as well as image transformations for image synthesis, including those for 3-D scene reconstruction, motion analysis, and object recognition.
Computer Graphics CSE 528
Emphasizes a hands-on approach to interactive computer graphics. Topics include scene modeling, picture description, geometrical transformations in 2-D and 3-D, core algorithms for raster displays, visibility, lighting, shading, and texturing, as well as techniques for producing high-quality images.
Simulation and Modeling CSE 529
A comprehensive course in formulation, implementation, and application of simulation models. Topics include data structures, simulation languages, statistical analysis, pseudo-random number generation, and design of simulation experiments.
Geometric Foundations for Graphics and Visualization CSE 530
Focuses on mathematical tools, geometric modeling techniques, and fundamental algorithms relevant to graphics, visualization, and other visual computing areas.
Theory of Database Systems CSE 532
Covers advanced topics in modern database systems, including object-oriented databases, rule-based databases, temporal and active databases, parallel and distributed databases, distributed object models, XML databases, data mining, on-line analytical processing, data warehousing, and multimedia databases.
Network Programming CSE 533
Topics covered include socket and client-server programming, remote procedure calls, data compression, real-time protocols, security and cryptography, Web programming, and network management.
Fundamentals of Computer Networks CSE 534
Covers topics in data transmission, data multiplexing techniques, modems, details of the network architecture, quality-of-service issues at the Network and transport layer, local area networks, and high-speed networks.
Asynchronous Systems CSE 535
Discusses asynchronous systems, their description using concurrent and distributed programming languages, and their verification. Topics include concurrent programming using shared memory and message passing, formal semantics of communication, reliability, and concurrent algorithms.
Introduction to User Interface Development CSE 536
Survey of user interface systems, including command language, windowing, multiple input/output devices, architecture of user interface management systems, toolkits for designing user interface, human factors, standards, visual languages, systems for cooperative work, physically distributed user interfaces, and virtual reality.
Artificial Intelligence CSE 537
Presents a comprehensive introduction to the problems and techniques of artificial intelligence, including problem representation, problem-solving methods, search, pattern recognition, natural language processing, learning, expert systems, and AI programming languages and techniques.
Theory of Computation CSE 540
Discusses models of computation, including finite-state machines, stack machines, Turing machines, Church’s thesis, along with issues in Computability Theory, such as the halting problem and unsolvability; and elements of Complexity Theory, such as time and space hierarchy, and NP-completeness.
Logic in Computer Science CSE 541
Presents a survey of the logical foundations of mathematics and the relationships to computer science. Development of propositional calculus and quantification theory; the notions of a proof and of a model; and the completeness theorem.
Speech Processing CSE 542
Presents an introduction to speech processing, including speech capture and analysis, speech recognition, text-to-speech processing, and speech applications.
Discrete Mathematics CSE 547
Introduces such mathematical tools as summations, number theory, binomial coefficients, generating functions, recurrence relations, discrete probability, asymptotics, combinatorics, and graph theory.
Analysis of Algorithms CSE 548
Presents techniques for designing efficient algorithms, including choice of data structures, recursion, branch and bound, divide and conquer, and dynamic programming. Complexity analysis of searching, sorting, matrix multiplication, and graph algorithms. Standard NP-complete problems and polynomial transformation techniques.
Computational Biology CSE 549
Focuses on current problems in computational biology and bioinformatics with an emphasis on algorithms. Primary topics include DNA sequence assembly, DNA/protein sequence assembly, DNA/protein sequence comparison, hybridization array analysis, RNA and protein folding, and phylogenic trees.
Computational Geometry CSE 555
Addresses the fundamental algorithmic problems associated with geometric computations, including convex hulls, Voronoi diagrams, triangulation, intersection, range queries, visibility, arrangements, and motion planning for robotics. Methods include plane sweep, incremental insertion, randomization, and divide-and-conquer.
Visualization CSE 564
Emphasizes a hands-on approach to scientific and information visualization, including visual perception, visual data mining, basic graphics and imaging concepts, volume and surface visualization, volume graphics, visualization of sampled and computed data, case studies, and visualization systems.
Advanced Computer Architecture CSE 602
Focuses on the architectural rather than micro-architectural issues of computer systems, taking into account the interaction between the architecture and the compiler, operating system, database, and networking. The topics include superscalar/VLIW processor architecture, memory hierarchy, storage systems, network hardware, graphics processor, and database machines.
Performance Evaluations of Computer Systems CSE 605
Presents techniques for the evaluation of performance of centralized, distributed, parallel, and client/server-based systems, as well as computer communication networks, including various analytical techniques, primarily Markov models, queuing theory, and simulation modeling.
Advanced Computer Security CSE 608
Addresses the principles and practices of engineering secured information systems, including threats and vulnerabilities, counter measures, legal and policy issues, risk management, and assurance.
Parallel Computer Architectures CSE 610
Presents parallel computer systems; important parallel applications; parallel computation models; interconnection networks; SIMD and MIMD architectures; hybrid architectures; memory management; cache coherence; distributed shared memory; synchronization methods; operating systems; compilers; and programming tools.
Transaction Processing CSE 611
Presents transaction-processing systems, including Web services (e.g. J2EE, SOAP, WSDL, BPEL, UDDI), Web transactions, and security.
Advanced Visualization CSE 612
Discusses advanced concepts of visualization, including advanced theoretical concepts, visual exploration of multivariate and multidimensional datasets on regular and irregular grids, modeling of natural phenomena, simulation of
realistic illumination, volumes as magic clay for sculpting and deformation effects, non-photorealistic rendering, exploration of large datasets, and hardware acceleration.
Parallel Programming CSE 613
Presents algorithms and techniques for programming highly parallel computers, including parallel and distributed computing; shared address space and message-passing architectures; design of parallel algorithms; converting sequential algorithms into equivalent parallel algorithms; synchronization and data sharing; improving performance of parallel algorithms; interconnection network topologies, routing, and flow control; and latency.
Advanced Programming Languages CSE 614
Presents selected topics in advanced programming languages including program analysis and transformation, program optimization, program manipulation systems, very high-level and declarative languages such as sets and relations-based languages and deductive and object-oriented languages.
Advanced Computer Vision CSE 15
This course is a comprehensive course for
i) object detection and segmentation, ii) object tracking, iii) object recognition, iv) texture analysis and synthesis v) scene analysis and inference. It also includes a detailed study of
Bayesian networks, graphical models, the EM algorithm, Hidden Markov Models, Markov Random Fields, markov chain monte carlo methods, particle filtering, PCA, ICA, kernel based methods, Support Vector Machines, boosting and bagging, graph cuts.The course mostly takes a look at this methods in the context of the computer vision problems mentioned above, with a brief theoretical introduction as necessary. However, many of the ideas and techniques used here are also used in other areas of AI (e.g. robotics, natural language understanding, learning).
Digital Multimedia Systems CSE 616
In-depth survey of multimedia computing, including media conversion, data compression, multimedia data representation, authoring techniques, audio and video editing, 2-D and 3-D animation, media synchronization, and distributed multimedia.
Advanced Computer Graphics CSE 618
Presents advanced topics in the rendering and modeling of realistic 3-D imagery, including texture mapping and synthesis, radiosity, amorphous phenomena, artificial life, animation, free-form curves and surfaces, volume rendering, and image-based rendering.
Virtual Reality CSE 620
Presents issues in the design and implementation of virtual environments, including system requirements, transformations, user-interaction models, human vision models, input/output devices and techniques, tracking systems, augmented reality, and virtual-reality applications.
Physics-Based Modeling for Visual Computing CSE 621
Presents a unified physics-based approach to fields such as graphics, visualization, computer-aided geometric design, biomedical imaging, vision, and virtual environment.
Advanced Database Systems CSE 622
Presents topics on the cutting edge of database technology, such as deductive database query languages and systems, object-oriented data models, persistent programming languages, heterogeneous databases and information integration, and advanced transaction models.
Advanced Operating Systems CSE 624
A survey of modern operating system techniques, especially those needed for distributed operating systems, including network topologies, interprocess communication, failure detection and system recovery, local kernel functions, global network services, location transparency, large network constraints, and distributed control algorithms.
Advanced Asynchronous Systems CSE 625
Formal specification and verification of asynchronous
systems. Topics include concurrent programming, process algebras, logics for describing the properties of concurrent systems, and formal semantics of communication.
Switching and Routing in Parallel and Distributed Systems CSE 626
Covers various switching and routing issues in parallel and distributed systems, including message switching techniques, design of interconnection networks, permutation, multicast and all-to-all routing in various networks, non-blocking and re-arranging capability analysis, and performance modeling.
Natural Language Processing CSE 628
A survey of computational approaches to natural language processing issues in phonology, morphology, syntax, semantics and pragmatics, including natural language parsing algorithms, generation algorithms, knowledge representations, models for speech recognition systems, story understanding systems, and natural language front-ends to databases.
Theory of Computational Complexity CSE 630
Presents machine-based polynomial-time complexity theory, including nondeterministic computation, probabilistic computation, time and space tradeoff, and complexity hierarchy; applications to combinatorial algorithms and cryptography.
Advanced Logic in Computer Science CSE 631
Presents topics in advanced logic, including deductive theorem proving (resolution, sequent-style calculi, natural deduction), inductive theorem proving, equational reasoning (rewrite systems), and non-classical logics (modal logics, intuitionistic logic).
Computability and Undecidability CSE 633
Presents computability theory based on Turing machines and recursive functions; proof by diagonalization and reducibility; unsolvable problems in set, group, number, and language theory; reducibility orderings and degrees of unsolvability; priority methods and Post’s problem.
Data Mining Concepts and Techniques CSE 634
Focuses on issues relating to the feasibility, usefulness, efficiency, and scalability of techniques for automated extraction of patterns representing knowledge implicitly stored in large databases, warehouses, and other massive information repositories.
Analyses and Synthesis of Computer Communication Networks CSE 636
Presents analysis of message queuing and buffering in computer networks, including OSI layered architecture, network topology; local, metropolitan, and wide-area networks; circuit and packet switching techniques; and high-speed and light-wave network concepts.
Program Semantics and Verification CSE 637
Presents formal approaches to defining semantics of programming languages, including denotational, operational, axiomatic, and transformational semantics; formal systems
The Graduate School | Degree Programs | Stony Brook University
Home Page