Graduate School Bulletin

Spring 2024

CSE: Computer Science

CSE 502: Computer Architecture

Topics covered include instruction pipelines and memory caches to improve computer performance; instruction-level parallelism; machines: superscalar versus VLIW; cache and main memory hierarchy design tradeoffs; compiler optimizations to speed pipelines; low-power computer system design: processor, OS, and compiler support; graphics, DSP, and media processor design; disk I/O system design; interconnections and networking; and introduction to parallel architecture. Advanced topics include asynchronous microprocessors; FPGA-based reconfigurable computing; system on a chip; embedded processors; intelligent RAM and superconducting computers.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 504: Compiler Design

This course covers 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.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 505: Computing with Logic

The course 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 will be paid to user interface issues and how a logic system can provide a useful computing environment. The course covers implementation issues, emphasizing how a logic programming system generalizes both traditional programming language systems and traditional database systems.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 506: Operating Systems

This course is an in-depth study of important concepts and techniques found in modern computer operating systems. The course focuses on an in-depth study of such important issues as virtual memory, resource management, locking and synchronization, file systems, networking, safety and security, and multiprocessor support, with an eye to recent directions in these areas. Textbook readings are supplemented where appropriate by papers from the research literature. An important part of the course is the case study of an actual modern operating system (e.g., Linux). Students study the source code for this operating system and do programming exercises and projects that involve modifying the operating system, testing their code's stability and functionality, and measuring its performance.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 507: Introduction to Computational Linguistics

Overview of computational approaches to language use. Core topics include mathematical and logical foundations, syntax, semantics, and pragmatics. Special topics may include speech processing, dialog systems, machine translation, information extraction, and information retrieval. Statistical and traditional approaches are included. Students will develop familiarity with the literature and tools of the field.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 508: Network Security

Principles and practice of Computer Network Security. Cryptography, authentication protocols, public key infrastructures, IP/www/E-commerce security, firewalls, VPN, and intrusion detection.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 509: Computer System Security

Principles and practice of building and administering secure systems. Authentication and access control. Operating system security. Program security, database security. Key management. Information flow. Assurance. Vulnerability analysis and intrusion detection.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 510: Hybrid Systems

Hybrid Systems combine discrete state-machines and continuous differential equations and have been used as models of a large number of applications such as real-time software, embedded systems, robotics, mechatronics, aerospace systems, process control and biological systems. The course will cover modeling, design, analysis, and verification methods for hybrid systems. Topics may include SAT/SMT solvers, timed automata, formal logics for system specification, verification algorithms and closed-loop neural network control systems.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 511: Brain and Memory Modeling

An introduction to brain modeling. Neuroscience topics include major brain structures, constituent glia and neurons, and synapses connecting neurons; how excited neurons send ionic firing spikes to other neurons; synapse changes during learning and forgetting; connection structures for stable ionic activity in neural networks; and distributed firing patterns underlying memory, perception, and thought. Computing topics include efficient methods for modeling electrical activity in single neurons using NEURON and in networks of millions of neurons using discrete event simulation. Participants will code simulations OR use neuroscience experience to refine brain models.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 512: Machine Learning

A course on the fundamentals of machine learning, including basic models, formulations, and modern methods. Topics include PAC learnability, validation, classification, regression, clustering, component analysis, and graphical and deep learning models. Students are expected to have the following background: (i) working knowledge of probability theory and statistics, (ii) working knowledge of linear algebra and algorithms, and (iii) working knowledge of basic computer science principles at a level sufficient to write non-trivial computer programs in a language of preference.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 514: Data Analytics Software Stacks and Algorithms

Architecture, and design of data analytics software stacks. We will cover MapReduce/Hadoop/Dryad/Twister, Hadoop File System (HDFS), HBASE, NOSQL tools such as MongoDB, Cassandra, HIVE; column oriented database systems such as Vertica and MonetDB. We will also cover data analysis management systems that target the scientific domain such as ADIOS, sciDB; streaming systems such as IBM System S/DataCutter. Systems, data structures and algorithms to support management and analysis of spatio-temporal data from video cameras, satelliteds, telescopes or beamlines. We will study statistical methods, machine learning and image anlysis/reconstruction methods used in big data/data analytic problems. Finally, we will survey big data/data analytic problems from several domains including biomedical analysis of multi scale, multi-modal biomedical imaging data, next generation genetic and demonic data, analysis of electronic medical record/population heath data; internet,internet search, recommender systems; and engineering and physical science,analysis of experimental and simulation data associated with design of energetic materials, oil reservoir simulation, nuclear fusion and self-driving cars.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 515: Introduction to Transaction Processing Systems

Discusses transaction processing systems. Topics covered include models of transactions, including nested transactions and workflow; architectures of transaction processing systems, including client-server, two-tiered, and three-tiered architectures; concurrency controls for conventional and relational databases including two-phase locking and the SQL isolation levels; logging and recovery; distributed transactions including the two-phase commit protocol; replication; Internet commerce, including encryption, the SSL and SET protocols, goods atomicity, and electronic cash.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 516: Science for Society I

This is part one of an interdisciplinary course sequence (1 credit each) is designed for students in computer science (CS) and students of technology and society (DTS). Students taking this course will enhance their abilities to critically think and build awareness for science and technology (ST) and their societal aspects. They will learn strategies for assessing important questions such as: what should I focus my efforts on, where are societal needs, what policies are required or can be taken advantage of, how can I possibly influence policy, and finally, what are the dangers when developing new ST. To teach these topics the course takes a practical approach. The first section of the sequence examines historical science and technology successes and failures. Then, in the second section, teams composed of students from both the CS and DTS departments conduct case studies of existing ST or design and implement new ST under the perspectives of the course. 1 credit

1 credit, Letter graded (A, A-, B+, etc.)

CSE 517: Science for Society II

This is part two of an interdisciplinary course sequence (1 credit each) is designed for students in computer science (CS) and students of technology and society (DTS). Students taking this course will enhance their abilities to critically think and build awareness for science and technology (ST) and their societal aspects. They will learn strategies for assessing important questions such as: what should I focus my efforts on, where are societal needs, what policies are required or can be taken advantage of, how can I possibly influence policy, and finally, what are the dangers when developing new ST. To teach these topics the course takes a practical approach. The first section of the sequence examines historical science and technology successes and failures. Then, in the second section, teams composed of students from both the CS and DTS departments conduct case studies of existing ST or design and implement new ST under the perspectives of the course. 1 credit

1 credit, Letter graded (A, A-, B+, etc.)

CSE 518: Foundations of Human Computer Interactions

The focus of this course is on the design, evaluation, and implementation of interactive computing systems for human use and on the study of major phenomena surrounding them. This course will provide the students with a strong grounding in the guidelines, principles, methodologies, tools, and techniques for analyzing, designing, and evaluating user interfaces and interaction techniques. Topics include: 1) Human Information Processing System 2) Interaction Behavior Modeling 3) Computational Interface Design 4) User Centered Design 5) Sketching and Prototyping 6) Usability Testing 7) Heuristic Evaluation 8) Natural User Interfaces & the Future of Uls 9) State-of-the-art research within HCI

3 credits, Letter graded (A, A-, B+, etc.)

CSE 519: Data Science Fundamentals

This course will cover the building blocks of data science from managing the data itself to algorithmic and analytical techniques. Specific topics include data preparation, exploratory data analysis, statistics, visualization, optimization, unstructured data, distributed analyses.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 521: Data Mining Concepts and Techniques

Data Mining is a new, promising and flourishing interdisciplinary field drawing work from areas including database technology, artificial intelligence, machine learning, pattern recognition, high-performance computing, and data visualization. It 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. The course gives a broad, yet in-depth overview of the field of data mining and presents one or two techniques in rigorous detail.

3 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 522: Special Project in Computer Science

Project in a sub-discipline of Computer Science, including but not limited to, computer architecture, operating systems, programming languages, compliers, artificial intelligence, networking, computer graphics, data mining, databases, computer vision, visualization, computer security, mobile computing, parallel processing, logic programming, hybrid systems, simulation and modeling, computational biology, and multimedia.

3 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 523: Advanced Project in Computer Science I

First part of an advanced project in computer science that will extend over two semesters. The student starts the project in one semester by registering for CSE523 and completes the project in a following semester by registering for CSE524. CSE523/524 sequence must be on the same project under the direction of the same advisor. The student must identify a faculty advisor before registering.

3 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 524: Advanced Project in Computer Science II

Part 2 of a 2-semester advanced research and development project undertaken by MS students under the supervision of a CS graduate program faculty member. The student starts the project in one semester by registering for CSE 523 and completes the project in a subsequent semester by registering for CSE 524 under the supervision of the same faculty member.

3 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 525: Introduction to Robotics

This course introduces the fundamental concepts in robotics, including coordinate transformations, visual perception, sensors, path planning, kinematics, feedback control, and feedforward control. These topics will be exemplified with several state-of-the-art robotics platforms. The course will also focus on applying the fundamental concepts to the key approaches to mobile robot control (reactive, behavior-based, and hybrid), and briefly discuss robot learning and multi-robot systems.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 526: Principles of Programming Languages

Discusses programming language concepts and design, with emphasis on abstraction mechanisms. Topics include language paradigms (procedural, object-oriented, functional, and logic), language concepts (values, bindings, types, modules), and foundations (lambda calculus, denotational semantics). Examples will be drawn from several representative languages, such as C, Java, Standard ML, and Prolog.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 527: Introduction to Computer Vision

Introduction to basic concepts in computer vision. Low-level image analysis, image formation, edge detection, segmentation. Image transformations for image synthesis methods for 3D scene reconstruction, motion analysis, object recognition.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 528: Computer Graphics

This course emphasizes a hands-on approach to the use of computer graphics. The topics covered include models, picture description, and interaction; c windowing, clipping, panning, and zooming; geometrical transformations in 2D and 3D; algorithms for raster displays (scan-line conversion, polygon fill, polygon clipping, etc.); hidden line and hidden surface removal, shading models; user interaction. The students will implement a substantial graphics application program.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 529: Simulation and Modeling

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. Students apply simulation modeling methods to problems of their own design. This course is offered as CSE 529, AMS 553 and MBA 553.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 530: Geometric Foundations of Graphics and Visualization

This course will focus on mathematical tools, geometric modeling techniques, and fundamental algorithms that are relevant to graphics, visualization, and other visual computing areas. The goal is to provide graduate students with a comprehensive knowledge of geometric concepts and demonstrate the significance of these mathematical tools and geometric algorithms in graphics and relevant areas. Course topics include geometric algorithms for both polygonal and curved objects, theory of parametric and implicit representations, modeling methods of curves, surfaces, and solids, in-depth spline theory, rudiments of wavelet theory and multi-resolution shape representations, differential geometry fundamentals, and other sophisticated topics and latest advances in the field.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 531: Performance Analysis of Systems

This is a new course that covers topics in the performance analysis of computer systems. The contents of the course should prove very helpful for computer science students who wish to analyze computer systems and learn more about how to improve the performance of systems. Existing courses do not cover this material. The course is targeted primarily at PhD and Masters students in the Computer Science Department, however upper-level undergraduates can take the course as well. In addition, students from AMS, Math and ECE would also benefit from the course contents.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 532: Theory of Database Systems

The course will cover advanced topics in modern database systems, including object-oriented databases, rule-based databases, temporal and active databases, parallel and distributed databases, distributed object model, data mining, online analytical processing, data warehousing, multimedia databases.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 533: Network Programming

Topics include Unix and Linux socket API programming at the TCP, UDP, IP (raw sockets) and datalink access (Linux PF_PACKET sockets, libpcap & libnet libraries) levels, in the context of developing and implementing client-server applications, reliable data transfer using TCP-like rdt and flow control mechanisms, routing protocols, address resolution protocols, multicasting, DNS protocols.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 534: Fundamentals of Computer Networks

Internet protocol layers. Internet Architecture. Link layer and multiple access protocols. Local area networks including wireless LANs. Routing on the Internet. Intra- and Inter-domain routing. Mobile routing. Transport layer and TCP congestion control. Scheduling and fairness. Application layers. Overlay and P2P networks. Content distribution networks. Network performance modeling.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 535: Distributed Systems

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.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 536: Introduction to User-Interface Development

Survey of user-interface systems, includes command language, windowing, multiple input/output devices, architecture of user interface management systems, toolkits for designing user-interface, human factors, standards, visual languages. The course also includes discussion of emerging technologies, such as systems for cooperative work, physically distributed user-interfaces, parallelism and user-interfaces, virtual reality. A substantial project requiring the design, implementation, and evaluation of a user-interface will be required

3 credits, Letter graded (A, A-, B+, etc.)

CSE 537: Artificial Intelligence

A comprehensive introduction to the problems of artificial intelligence and techniques for attacking them. Topics include problem representation, problem-solving methods, search, pattern recognition, natural language processing, learning, expert systems, and AI programming languages and techniques. Covers both theoretical methods and practical implementations.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 538: Natural Language Processing

The course offers an introduction to Natural Language Processing techniques and applications. The course introduces basic deep learning techniques for constructing representations of natural language texts, syntactic analyses, and canonical applications such as Question Answering, and Machine Translation. The emphasis is on understanding how (i) the basic requirements of language analyses and specific application needs can be formulated as learning problems, (ii) how aspects of natural language, such as syntactic and semantic structure, inspire the design of and are captured by modern state of the art techniques, and (iii) how to evaluate and understand the limitations and shortcomings of the models

3 credits, Letter graded (A, A-, B+, etc.)

CSE 540: Theory of Computation

Topics include models of computation: finite-state machines, stack machines, Turing machines, Church's thesis; computability theory: halting problem and unsolvability, introductory recursion theory; complexity theory: complexity measures, time and space hierarchy, NP-complete problems.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 541: Logic in Computer Science

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; the completeness theorem.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 542: Big Data Systems, Algorithms and Networks

Recent progress on big data systems, algorithms and networks. Topics include the web graph, search engines, targeted advertisements, online algorithms and competitive analysis, and analytics, storage, resource allocation, and security in big data systems. Offered in the Spring Semester

3 credits, Letter graded (A, A-, B+, etc.)

CSE 544: Probability and Statistics for Data Scientists

The course will cover core concepts of probability theory and an assortment of standard statistical techniques. Specific topics will include random variables and distributions, quantitative research methods (correlation and regression), and modern techniques of optimization and matching learning (clustering and prediction).

3 credits, Letter graded (A, A-, B+, etc.)

CSE 545: Big Data Analytics

The course will cover concepts and standard tools used to analyze, so called, Big Data. Specifically, it will cover algorithmic approaches to analyzing large datasets: MapReduce, graph analytics, text analytics, steaming algorithms, as well as modern distribution analysis platforms (e.g. Hadoop, Spark).

3 credits, Letter graded (A, A-, B+, etc.)

CSE 546: Cryptography

Cryptography studies how to perform computational tasks securely in adversarial environments. It plays an important role in designing secure systems. This is an introductory course that covers basic concepts and proof techniques in this area, as well as some recent research trends. The course is theoretical in nature, with emphasis on proofs and algorithmic reductions, even when discussing applied topics. No prior background in cryptography is assumed. However, students should have mathematical maturity and be comfortable with definitions and proofs.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 547: Discrete Mathematics

This course introduces such mathematical tools as summations, number theory, binomial coefficients, generating functions, recurrence relations, discrete probability, asymptotics, combinatorics, and graph theory for use in algorithmic and combinatorial analysis. This course is offered as both CSE 547 and AMS 547.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 548: Analysis of Algorithms

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. This course is offered as both AMS 542 and CSE 548.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 549: Computational Biology

This course focuses on current problems in computational biology and bioinformatics. Our emphasis will be algorithmic, on discovering appropriate combinatorial algorithm problems and the techniques to solve them. Primary topics will include DNA sequence assembly, DNA/protein sequence comparison, hybridization array analysis, RNA and protein folding, and phylogenic trees.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 550: Quantum Computing and Applications

This course is an introduction to and survey of the Quantum Computing, an emerging interdisciplinary field of science which has the potential to revolutionize computation over the next ten years, to transform chemistry, medicine, engineering and communications, as well as to change our understanding of physical world. The course will build intuitive approach to quantum computation and algorithms, but also will advance relevant vocabulary and skills for faculties and graduate students in engineering, computing, applied mathematics, chemistry, physics and related sciences.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 551: Smart Energy in the Information Age

Energy and sustainability have become critical issues of our generation. While the abundant potential of renewable energy sources, such as solar and wind, provides a real opportunity for sustainability, their intermittency and uncertainty present a daunting operational challenge. This course studies how to use Information Technology (IT) to improve sustainability in our energy-hungry society. In particular, topics include the applications of mathematical modeling, algorithm design, optimization, game theory, and control theory in real systems. The goal of the course is to provide rigorous foundations for the study of smart energy management for sustainability. Offered in the Spring Semester

3 credits, Letter graded (A, A-, B+, etc.)

CSE 552: Energy Efficient Computing

Energy is an important resource for a wide range of computer systems from laptops to data centers and clouds. There has been considerable recent research on the topic of of improving energy efficiency, cutting across different areas of Computer Science including Computer Architecture (e.g., energy efficient processor design), Networking (e.g., putting the network to sleep), Storage (e.g., exploiting idle I/O periods to spin down disks), Distributed Systems (e.g., capacity provisioning), Mobile Systems (e.g., putting the radio receiver to sleep in a smartphone), and Modeling/Analytics (e.g., modeling a server's power consumption). This course covers the recent research trends in energy-efficient computing, focusing specifically on themes and techniques for achieving efficiency in computer systems.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 555: Computational Geometry

Study of the fundamental algorithmic problems associated with geometric computations, including convex hulls, Voronoi diagrams, triangulation, intersection, range queries, visibility, arrangements, and motion planning for robotics. Algorithmic methods include plane sweep, incremental insertion, randomization, divide-and-conquer, etc. This course is offered as both AMS 545 and CSE 555.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 564: Visualization

The course emphasizes a hands-on approach to scientific, medical, and information visualization and visual analytics. Topics include: traditional visualization techniques, the visualization process, visual perception and cognition, basic graphics and imaging concepts, visualization of sampled, observed, and computed data, volume and flow visualization, information visualization, human-computer interaction, and the coupling of intelligent computing with visualization

3 credits, Letter graded (A, A-, B+, etc.)

CSE 566: Virtual Reality

Virtual Reality (VR) is a fast-moving technology and has the potential to revolutionize our lives. VR stimulates the user¿s senses, thereby believing in an artificial version of reality. The course will cover VR fundamentals and technologies and related topics, including an introduction to VR, VR systems, geometry and transformations in VR, viewing and projections, light, optics, and human vision physiology, temporal human vision and perception, motion, vection, and tracking, 3D user interfaces (selection, manipulation, and travel), augmented reality (AR), audio in VR, and non-visual senses.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 570: Wireless and Mobile Networks

Wireless communication fundamentals: wireless signal transmission, coding, multiplexing. Link, network, and transport layer protocols for wireless and mobile networking: medium access control, transmission scheduling, wireless capacity, protocols for wireless multi-hop networks. Cellular networks. Wireless LANs: mobile IP, TCP over wireless networks. Mobile applications. Localization and location management, Network coding. Wireless security.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 577: Medical Imaging

This course presents an introduction to the mathematical, physical, and computational principles underlying modern medical imaging systems. It covers fundamentals of X-ray radiography, X-ray computed tomography (CT), ultrasonic imaging, nuclear imaging, magnetic resonance imaging (MRI), and functional MRI (fMRI), as well as more general concepts required for these, such as linear systems theory, the Fourier Transform, and numerical optimization. Popular techniques for the visualization, segmentation, and analysis of medical image data will also be discussed, as well as applications of medical imaging, such as image-guided intervention.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 581: Computer Science Fundamentals: Theory

The course consists of two parts. The first part covers discrete mathematics -- a division of mathematics that is extensively used in computer science. The topics covered include: logic (propositional logic and predicate logic), proof techniques, sequences (mathematical induction and recursion), and functions. The second part covers the theory of computation -- a division of theoretical computer science that deals with what can be computed and what cannot be computed on a computer. The topics covered include: computational models (FA, PDA, and Turing machines), grammars accepted by different computational models (regular grammars, context-free grammars, and unrestricted grammars), languages accepted by different computational models (regular languages, context-free language, and Turing-acceptable languages), Turing-complete systems, and algorithmically unsolvable problems.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 582: Computer Science Fundamentals: Data Structures and Algorithms

The course consists of two parts. The first part covers data structures to efficiently store, organize, modify, and access data. Topics include: arrays, stacks, queues, linked lists, trees, sets, hash maps, priority queues, and graphs. The second part covers the design and analysis of algorithms for solving computer science problems. Topics include: algorithm analysis, exhaustive search algorithms, divide-and-conquer algorithms, greedy algorithms, and dynamic programming algorithms.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 583: Comp Sci Fundamentals: Prog.Abstract.

Programming concepts and paradigms, including functional programming, object-orientation, basics of type systems, program and data abstractions, parameter passing, and modularity.

3 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 587: Proficiency Requirement

This course is used by students to fill any gaps in key CS proficiency background) areas identified at the time of admission. This course is done under the supervision of a faculty member teaching an undergraduate course in the needed proficiency area. By permission of the Graduate Program only.

3 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 590: Topics in Computer Science

An advanced lecture course on a new topic in computer science. The course is primarily designed for M.S. students, but can be taken by Ph.D. students as well. Semester supplements to this Bulletin contain specific description when course is offered. May be repeated for credit as the topic changes, but cannot be used more than twice to satisfy CSE major requirements for M.S. Limited to CSE graduate students; others permission of instructor.

Spring, 3 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 591: Topics in Computer Science

An advanced lecture course on a new topic in computer science. The course is primarily designed for M.S. students, but can be taken by Ph.D. students as well. Semester supplements to this Bulletin contain specific description when course is offered. May be repeated for credit as the topic changes, but cannot be used more than twice to satisfy CSE major requirements for M.S. Limited to CSE graduate students; others, permission of instructor.

Spring, 3 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 592: Advanced Topics in Computer Science

An advanced lecture course on a new topic in computer science. The course is primarily designed for M.S. students, but can be taken by Ph.D. students as well. Semester supplements to this Bulletin contain specific description when course is offered. may be repeated for credit as the topic changes, but cannot be used more than twice to satisfy CSE major requirements for M.S. Limited to CSE graduate students; others, permission of instructor.

Spring, 3 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 593: Independent Study in Computer Science

Research and/or project work under the supervision of a Computer Science graduate program faculty.

1-9 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 594: Advanced Topics in Computer Science

An advanced lecture course on a new topics in computer science. This course is primarily designed for M.S. students, but can be taken by Ph.D. students as well. Semester supplements to this Bulletin contain specific description when course is offered. May be repeated as the topic changes, but cannot be used more than twice to satisfy the CSE major requirements for the M.S.

Fall, Spring, every year, 3 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 595: Advanced Topics in Computer Science

An advanced lecture course on a new topic in computer science. This course is primarily designed for M.S. students, but can be taken by Ph.D. students as well. Semester supplements to this Bulletin contain specific description when course is offered. May be repeated for credit as the topic changes, but cannot be used more than twice to satisfy the SCE major requirements for the M.S.

Fall, Spring, every year, 3 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 596: MS Internship Project Off-Campus

Participation in internships at private corporations, public agencies, or non-profit institutions. Students will be required to have a faculty coordinator as well as a contact in the outside organization to participate with them in regular consultations on the project, and to submit a final report to both. This course is intended for MS students interning off campus.

1 credit, S/U grading

May be repeated for credit.

CSE 597: MS Internship Project on Campus

Participation in internships at private corporations, public agencies, or non-profit institutions. Students will be required to have a faculty coordinator as well as a contact in the outside organization to participate with them in regular consultations on the project, and to submit a final report to both. This course is intended for MS students interning on campus.

1 credit, S/U grading

May be repeated for credit.

CSE 599: M.S. Thesis Research

Thesis research under supervision of CS graduate program faculty for MS students.

1-12 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 600: Research in Modern Computer Science

A survey of current computer science research areas and issues. This course comprises lectures by faculty members and visitors, selected readings, and introductory-level research problems. Prerequisite: Permission of instructor

0-1 credits, S/U grading

May be repeated for credit.

CSE 602: Advanced Computer Architecture

The focus will be on the architectural rather than micro-architectural issues, and a systems approach to computer architecture taking into account the interaction between the architecture and the compiler, operating system, database, and networking. The course starts with superscalar/VLIW processor architecture and proceeds to memory hierarchy, storage systems, network hardware, graphics processor, and database machines. The emphasis will be on hands-on evaluation of architectural ideas, the exploration of software/hardware design trade-offs, and the articulation of experimental procedures and performance analysis. A publication-quality class project will be required.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 605: Performance Evaluation of Computer Systems

The purpose of this course is to provide background and training in understanding and evaluating the performance of computer systems, including centralized, distributed, parallel, client/server-based systems, and computer communication networks. The goal is to develop a perspective on how the performance of computer systems or networks should be evaluated in order to decide on various design alternatives. The course will include various analytical techniques, mainly based on Markov models and queuing theory, and simulation modeling.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 608: Advanced Computer Security

Advanced course on principles and practice of engineering secure information systems. Topics covered include threats and vulnerabilities, counter measures, legal policy issues, risk management and assurance. In-depth coverage of various research problems, which will vary from one offering of the course to another.

Prerequisite: CSE 508 or CSE 509 or permission of instructor.

Fall, 3 credits, Letter graded (A, A-, B+, etc.)

CSE 610: Parallel Computer Architectures

Topics include 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.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 613: Parallel Programming

Algorithms and techniques for programming highly parallel computers. Trends in parallel and distributed computing; shared address space and message passing architectures; design issues for 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; latency limits on speedup of algorithms by parallel implementations.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 614: Advanced Programming Languages

Selected topics on advanced programming languages technology. Program analysis and transformation, program optimization and program manipulation systems. Very high-level and declarative languages such as sets and relations based languages and deductive and object-oriented languages.

Prerequisite: CSE 526 or CSE 504

Spring, 3 credits, Letter graded (A, A-, B+, etc.)

CSE 615: Advanced Computer Vision

Survey of methods used for the analysis of images by computer, including computer vision and pattern recognition. Topics to be covered are image formation, image segmentation, and edge detection, binary images, and shape analysis, shape from shading, motion field, and optical flow, surface inference, classification techniques.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 617: Advanced Topics in Wireless Networks

Advance topics taken from ad hoc wireless networks and sensor networks. Will comprise of lectures, presentations and/or a project.

Prerequisite: Limited to CSE graduate students; others, permission of instruction.

Fall and Spring, 3 credits, Letter graded (A, A-, B+, etc.)

May be repeated 2 times FOR credit.

CSE 620: Virtual Reality

Practical issues in the design and implementation of virtual environments. Topics include system requirements, transformations, user-interaction models, human vision models, input/output devices and techniques, tracking systems, augmented reality, and virtual-reality applications. The course will involve a substantial programming project to implement an immersive virtual reality system.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 621: Physics-based Modeling for Visual Computing

A unified approach to various fields such as graphics, visualization, computer-aided geometric design, biomedical imaging, vision, and virtual environment. The course will explore select research topics centered on physics-based modeling methodology and associated computational methods for theoretical and practical problems in widespread areas of visual computing. The emphasis will be on geometric and solid modeling, geometric design techniques, wavelets and multi-resolution analysis, deformable models based on mathematical physics, variational analysis, optimization methods, numerical simulation with finite-difference and finite-element algorithms, differential equations for initial-value and boundary-value problems, force-driven interaction with constraints, dynamic sculpting system, and a large variety of applications for visual computing.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 624: Advanced Operating Systems

Students will study advanced operating system topics and be exposed to recent developments in operating systems research. In addition to being conversant in classic and recent research papers, this course aims to teach students to read research papers critically, formulate new research questions, and evaluate these questions experimentally. Topics to be covered typically include: distributed systems, cloud computing and data centers, operating system design, virtual machines, OS interaction with the hardware architecture, synchronization and communication, file systems, and security.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 625: Advanced Asynchronous Systems

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.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 626: Switching and Routing in Parallel and Distributed Systems

This course covers various switching and routing issues in parallel and distributed systems. Topics include message switching techniques, design of interconnection networks, permutation, multicast and all-to-all routing in various networking nonblocking, and rearrangable capability analysis and performance modeling.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 628: Natural Language Processing

The course offers computationally-oriented introduction to natural language processing (NLP). The focus is on modern quantitative techniques in NLP: algorithms and statistical approaches to word-level, syntactic, and semantic processing of natural language. The choice of topics includes practically motivated questions in NLP such as (1) can we teach computers to automatically detect authorship of a document? (2) can computers automatically suggest paraphrases (phrases with similar meaning) to help with writing? Prerequisite: Familiarity with either Artificial Intelligence or Machine Learning is strongly recommended, but not absolutely required. Limited to CSE Graduate Students

Fall and Spring, 3 credits, Letter graded (A, A-, B+, etc.)

CSE 633: Computability and Undecidability

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. Prerequisite: CSE 540 or consent of instructor.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 638: Advanced Algorithms

This is an advanced course in the design and analysis of combinatorial algorithms, focusing on recent material and special topics, including randomized algorithms, approximation algorithms for NP-complete problems, string algorithms, amortized analysis of data structures, and heuristic methods such as simulated annealing. Material will be selected to have little or no overlap with traditional introductory algorithms courses.

3 credits, Letter graded (A, A-, B+, etc.)

CSE 639: Seminar in Advanced Topics in Computer Science

May be repeated for credit.

CSE 641: Seminar in Logic in Computer Science

CSE 642: Seminar in Algorithms

May be repeated for credit.

CSE 643: Seminar in Concurrency

May be repeated for credit.

CSE 644: Seminar in Databases

May be repeated for credit.

CSE 645: Seminar in Languages

May be repeated for credit.

CSE 646: Seminar in Artificial Intelligence

CSE 648: Seminar in Graphics

May be repeated for credit.

CSE 649: Seminar in Operating Systems

May be repeated for credit.

CSE 650: Seminar in Architecture

May be repeated for credit.

CSE 651: Seminar in Secure Computation

May be repeated for credit.

CSE 652: Seminar in User Interfaces

May be repeated for credit.

CSE 653: Seminar in Virtual Reality

May be repeated for credit.

CSE 654: Seminar in Visualization

May be repeated for credit.

CSE 655: Seminar in Natural Language Processing

May be repeated for credit.

CSE 656: Seminar in Computer Vision

Current readings in computer vision and image understanding.

Prerequisite: Limited to CSE graduate students; others need instructor consent

Fall, 1 credit, S/U grading

May be repeated for credit.

CSE 657: Seminar in Design Analysis

Methods for constructing reliable and efficient computer systems. Topics include: modeling and specification, analysis and verification, design and optimization, code generation, simulation and testing. Tool support. Applications and case studies.

Prerequisite: Limited to CSE graduate students; others need instructor consent

Fall, 1 credit, S/U grading

May be repeated for credit.

CSE 658: Seminar on Mobile and Wireless Networking

This seminar course will draw topics from mobile and wireless networks of current interest. The main focus will be multi-hop wireless networks. It will cover topics on mobile routing, multiple access and transport protocols for such networks. It will also cover topics from micromobility architectures and pervasive computing.

Prerequisites: Limited to CSE graduate students; others permission of instructor.

Fall, 1 credit, S/U grading

May be repeated for credit.

CSE 659: Seminar in Computer Security

Seminar course, covering various research problems in computer security.

Spring, 1 credit, S/U grading

May be repeated for credit.

CSE 660: Seminar in Sustainable Computing

Seminar course which focuses on research in sustainable computing.

1 credit, S/U grading

May be repeated for credit.

CSE 660: Seminar in Media Networks

Graduate seminar that covers recent work on multimedia and networks.

Fall, 1 credit, S/U grading

May be repeated for credit.

CSE 661: Seminar in Data Privacy

Current research in Data Privacy.

Limited to CSE graduate students; others, permission of instructor.

Spring, 1 credit, S/U grading

May be repeated for credit.

CSE 662: Seminar in Medical Imaging

May be repeated for credit.

CSE 663: Cyber Physical Systems and Verification

Seminar course which focuses on research in Cyber-Physical Systems and Verification.

1 credit,

May be repeated for credit.

CSE 664: Distributed Systems

Seminar course which focuses on research in Distributed Systems.

1 credit,

May be repeated for credit.

CSE 665: Special Topics in Theory of Computing

May be repeated for credit.

CSE 669: Special Topics in Databases

May be repeated for credit.

CSE 670: Special Topics in Languages

May be repeated for credit.

CSE 671: Special Topics in Artificial Intelligence

May be repeated for credit.

CSE 672: Special Topics in Image Processing

May be repeated for credit.

CSE 674: Special Topics in Operating Systems

May be repeated for credit.

CSE 677: Special Topics in User Interfaces

May be repeated for credit.

CSE 681: Special Topics in Computer Vision

Advanced research topics course.

Prerequisite: Limited to CSE graduate students; others need instructor consent

Fall, 2 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 684: Special Topics in Computer Security

Special topics course, covering selected research areas in computer security.

Spring, 2 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 686: Special Topics in Data Privacy

Advanced research topics course.

Limited to CSE graduate students; others, permission of instructor.

Spring, 2 credits, S/U grading

May be repeated for credit.

CSE 687: Special Topics in Applied Cryptography

May be repeated for credit.

CSE 690: Advanced Topics in Computer Science

An advanced lecture course on a new topics in computer science. This course is primarily designed for PhD students, but can be taken by M.S. students as well. Semester supplements to this Bulletin contain specific description when course is offered. May be repeated for credit as the topic changes, but cannot be used more than twice to satisfy CSE major requirements for M.S. Limited to CSE graduate students; others permission of instructor

Spring, 3 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 691: Advanced Topics in Computer Science

An advanced course on a new topic in computer science. This course is primarily designed for Ph.D. students, but can be taken by M.S. students as well. Semester supplements to this Bulletin contain specific description when course is offered. may be repeated for credit as the topic changes, but cannot be used more than twice to satisfy CSE major requirements for M.S. Limited to CSE graduate students; others permission of instructor.

Spring, 3 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 692: Advanced Topics in Computer Science

An advanced lecture course on a new topic in computer science. This course is primarily designed for Ph.D. students, but can be taken by M.S. students as well. Semester supplements to this Bulletin contain specific description when course is offered. may be repeated for credit as the topic changes, but cannot be used more than twice to satisfy CSE major requirements for M.S. Limited to CSE graduate students; others permission of instructor.

Spring, 3 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 693: Advanced Topics in Computer Science

An advanced lecture course on a new topic in Computer Science. This course is primarily designed for Ph.D. students, but can be taken by M.S. students as well. Semester supplements to this Bulletin contain specific description when course is offered. May be repeated for credit as the topic changes, but cannot be used more than twice to satisfy CSE major requirements for M.S. Limited to CSE graduate students; others permission of instructor.

3 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 696: PhD Internship Project Off-Campus

Participation in internships at private corporations, public agencies, or non-profit institutions. Students will be required to have a faculty coordinator as well as a contact in the outside organization to participate with them in regular consultations on the project, and to submit a final report to both. This course is intended for PhD students interning off campus.

1-3 credits, S/U grading

May be repeated for credit.

CSE 697: PhD Internship Project On Campus

Participation in internships at private corporations, public agencies, or non-profit institutions. Students will be required to have a faculty coordinator as well as a contact in the outside organization to participate with them in regular consultations on the project, and to submit a final report to both. This course is intended for PhD students interning on campus.

1 credit, S/U grading

May be repeated for credit.

CSE 698: Practicum in Teaching

Supervised teaching in a course identified by the student and the Graduate Program Director.

0-3 credits, Letter graded (A, A-, B+, etc.)

May be repeated for credit.

CSE 699: Dissertation Research on Campus

Thesis research for PhD students who have advanced to candidacy (G5 status). This course is taken by students when a major portion of the research is done on campus, at Cold Spring Harbor, or at the Brookhaven National Lab.

0-9 credits, S/U grading

May be repeated for credit.

CSE 700: Dissertation Research off Campus - Domestic

Prerequisite: Must be advanced to candidacy (G5). Major portion of research will take place off-campus, but in the United States and/or U.S. provinces. Please note, Brookhaven National Labs and the Cold Spring Harbor Lab are considered on-campus. All international students must enroll in one of the graduate student insurance plans and should be advised by an International Advisor.

Fall, Spring, 0-9 credits, S/U grading

May be repeated for credit.

CSE 701: Dissertation Research off Campus - International

Prerequisite: Must be advanced to candidacy (G5). Major portion of research will take place outside of the United States and/or U.S. provinces. Domestic students have the option of the health plan and may also enroll in MEDEX. International students who are in their home country are not covered by mandatory health plan and must contact the Insurance Office for the insurance charge to be removed. International students who are not in their home country are charged for the mandatory health insurance. If they are to be covered by another insurance plan they must file a waiver be second week of classes. The charge will only be removed if other plan is deemed comparable.

All international students must received clearance from an International Advisor.

Fall, Spring, 0-9 credits, S/U grading

May be repeated for credit.

CSE 800: FT SUMMER RESEARCH

May be repeated for credit.