CSE: Computer Science

CSE 500: Patterns in Programing

This course provides an introduction to programming patterns often encountered in software systems. It presents the role of patterns and introduces patterns used by computer scientists and software engineers. The course covers a wide breadth of program types including user interfaces, numerical computing, event handling, and use of varied data structures. Patterns developed during the course are predominantly object-oriented patterns, including factory, facade, and many others. Not accepted for credit toward M.S. degree Prerequisite: permission of instructor

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

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.

Prerequisite: CSE 345

Spring, 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.

Prerequisites: CSE 304 and CSE 307

Spring, 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. An undergraduate course in operating systems is a prerequisite. The course focuses on in-depth study of such important issues as virtual memory, file systems, networking, 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 operating system. Students study the source code for this operating system and do programming exercises and projects that involve modifying the operating system and measuring its performance.

Prerequisite: CSE 306

Spring, 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 progmatics. Special topics may include speech processing, dialog system 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.

Prerequisites: CSE 537; CSE 541 recommended

Spring, 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. Limited to CSE graduate students. Others; permission of instructor. Prerequisite: CSE/ISE 310, or CSE 346 or equivalent.

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 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 modeling, design and analysis of hybrid 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.

Offered Fall, Spring, 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 validation, classification, regression, clustering, component analysis and graphic models. Students are expected to have teh following background: � Working knowledge of probability theory and statistics � Working knowledge of linear algebra and algorithms � Working knowledge of basic computer science principles at a level sufficient to write a reasonably non-trivial computer program in a language of preference

Fall and Spring, 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. Fall

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 519: Data Science Fundamentals

Knowledge discovery in data is �the non-trivial process of identifying valid, novel, potentially useful, and ultimately understandable patterns in data� (Fayyad et al. 1996). Large-scale data generated by humans and machines is available everywhere. Acquiring the fundamental skills on how to 1) analyze and understand as well as 2) manage and process these large datasets are crucial in today�s date-driven world, for producing data products that solve real-world problems. This course will cover the fundamental concepts in date science, to equip students with the key skillset toward becoming good data scientists. Major topics include scoping projects, data preparation, statistics basics, visualization, statistical learning, data mining, various types of structured and

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

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

Second part of the advanced project undertaken in CSE523. Must be on the same project and under the same faculty advisor as CSE524.

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

May be repeated for credit.

CSE 525: Introduction to Robotics

This course introduces fundamental concepts in Robotics. In the first half of the course, basic concepts will be discussed, including 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. There will be homeworks for Matlab/Simulink and a final project, a midterm and a final.

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.

Prerequisite: CSE 307

Spring, 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.

Prerequisite: CSE 328

Fall, 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 FOUNDATNS

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

Prerequisites: CSE 328 and CSE 332

Spring, 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.

Fall and Spring, 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: Asynchronous 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, AI programming languages and techniques. Covers both theoretical methods and practical implementations.

Prerequisites: MAT 371 or CSE 541

Fall, 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.

Prerequisite: CSE 303

Fall, 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.

Pre- or co-requisite: MAT 313 and CSE 213

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

CSE 542: Speech Processing

Introductory speech processing course, surveying speech analysis, speech recognition and speech synthesis. Students will develop familiarity with speech processing tools (PRAAT, HTK, Festival.)

Prerequisite: CSE 526 or permission of instructor

Spring, 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 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.

Prerequisite for CSE 547: AMS 301

Spring, 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.

Prerequisite for CSE 548: CSE 373 recommended

Spring, 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 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.

Prerequisite for CSE 555: CSE 373 or CSE 548

Spring, 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 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.

Offered

Fall, 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 580: 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.

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

May be repeated for credit.

CSE 581: 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.

3 credits,

May be repeated for credit.

CSE 582: 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.

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

May be repeated for credit.

CSE 587: Proficiency Requirement in Computer Science

Students can get credit for a 300-level undergraduate course by registering for CSE 587. The syllabus of the undergraduate course must specify additional work that graduate students must do in order to pass the course. Graduate students taking an undergraduate course under CSE 587 number must be graded separately from the undergraduate students. See Graduate Student Handbook for restrictions on the use of this course.

Fall and Spring, 2 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

Students can register for this course in order to conduct or participate in a project under the supervision of a Computer Science faculty member. The student must prepare a description of the project or the course to be taken and submit it before the add/drop deadline to the project sponsor. The description will reside in the student's file. Both M.S. and Ph.D. students can take this course. This course cannot be taken as part of M.S. Thesis research --- use CSE 599 in this case. Ph.D. students take CSE 593 for any kind of research or project work prior to advancement to candidacy (G5 status). After the advancement, CSE 699 should be used to conduct Dissertation Research. Prerequisite: Limited to CSE Graduate Students; others, permission of instructor.

Spring, 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: Special Topics in Convergence Research

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: M.S. Internship in Research

Participation in 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. At most 1 credit can be accepted towards the M.S. degree.

Prerequisite: Permission of graduate program director.

Fall and Spring, 1-3 credits, S/U grading

May be repeated for credit.

CSE 599: M.S. Thesis Research

This course can be used only for M.S. Thesis research; non-thesis research should be done under the designation of CSE 593: Independent Study. M.S. students who wish to enroll in CSE 599 for any number of credits must prepare a 1-2 page description of the work to be completed. The description must be approved by the research advisor, signed by both student and advisor, and will reside in the student's file. Amendments to the proposal must be approved by the advisor. Up to 9 credits of CSE 599 can be counted towards the 31 credits that are required for graduation.

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

Fall, 1-12 credits, S/U grading

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

1 credit, S/U grading

May be repeated for credit.

CSE 601: Advanced Image Processing

Modern approaches to Image Processing, Statistical Image Formation and Image Models, Image Restoration, Reconstruction and Segmentation, Applications to Medical Imaging. Crosslisted with ESE 559

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

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

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

Fall, 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 611: Transaction Processing

An advanced course in transaction processing systems covering the latest developments in the area. Topics include stable storage, distributed database systems, commitment protocols, failures, replication and advanced models of transactions.

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

CSE 612: Advanced Visualization and Volume Graphics

This course discusses advanced concepts in the area of volumetric data modeling and visualization. Topics included are: visual exploration of multi-variate and multi-dimensional datasets on regular and irregular grids, modeling of natural phenomena and simulation of realistic illumination, volumes as magic clay for sculpting and deformation effects, non-photorealistic rendering for illustration and artistic works, information-centric exploration of large datasets and exploitation of hardware for acceleration. The course strives to provide a snapshot on the current state of the art and will be supported mostly by recent research papers. Students will expand on a topic of their choice by completing an individual project.

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

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

CSE 613: Parallel Programming

Algorithms and technique 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 616: Digital Multimedia Systems

In-depth survey of multimedia computing, including media conversion, data compression, multimedia data representation and modeling, authoring techniques, audio and video editing, 2D and 3D animation, media synchronization, distributed multimedia, and advanced application development.

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 618: Advanced Computer Graphics

Advanced topics in rendering and modeling realistic 3D imagery including texture mapping and synthesis, radiosity, amorphous phenomena, artificial life, and animation. Further contents include introductions to free-form curves and surfaces, volume rendering, and image-based rendering. Limited to CSE graduate students; others, permission of instructor.

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

May be repeated 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 622: Advanced Database Systems

The course covers selected 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 advanced transaction models.

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 630: Theory of Computational Complexity

Machine-based polynomial-time complexity theory, including nondeterministic computation, probabilistic computation, time and space trade-off, and complexity hierarchy; applications to related areas such as combinatorial algorithms and cryptography.

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

CSE 631: Advanced Logic in Computer Science

The course may include the following: deductive theorem proving (resolution, sequent-style calculi, natural deduction), inductive theorem proving, equational reasoning (rewrite systems), non-classical logics (modal logics, intuitionistic logic).

3 credits, S/U grading

May be repeated for credit.

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 634: 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. Prerequisite: Database course

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

May be repeated for credit.

CSE 636: Analysis and Synthesis of Computer Communication Networks

Topics include analysis of message queuing and buffering in computer networks; survey of OSI layered architecture; network topology; local, metropolitan, and wide area networks; circuit and packet switching techniques; high-speed and lightwave network concepts: Synchronous Optical Network (SONET), Fiber Distributed Data Interface (FDDI), Distributed Queue Dual Bus (DQDB-QPSX), Integrated Services Digital Networks (ISDN), Broadband-ISDN, and Asynchronous Transfer Mode (ATM).

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

May be repeated for credit.

CSE 637: Program Semantics and Verification

Topics include formal approaches to defining semantics of programming languages: denotational, operational, axiomatic, and transformational semantics; formal systems for program verification; logics of program, type theory, lambda calculus; further topics selected from term rewriting approach to proving properties of data types, and semantics and verification of languages with concurrent and parallel constructs.

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 640: Seminar in Theory of Computing

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 647: Seminar in Image Processing

May be repeated for credit.

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 Applications

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 Modeling and Simulation

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 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 Applied Cryptography

May be repeated for credit.

CSE 665: Special Topics in Theory of Computing

May be repeated for credit.

CSE 666: Special Topics in Logic in Computer Science

May be repeated for credit.

CSE 667: Special Topics in Algorithms

May be repeated for credit.

CSE 668: Special Topics in Concurrency

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 673: Special Topics in Graphics

May be repeated for credit.

CSE 674: Special Topics in Operating Systems

May be repeated for credit.

CSE 675: Special Topics in Architecture

May be repeated for credit.

CSE 676: Special Topics in Applications

May be repeated for credit.

CSE 677: Special Topics in User Interfaces

May be repeated for credit.

CSE 678: Special Topics in Virtual Reality

May be repeated for credit.

CSE 679: Special Topics in Visualization

May be repeated for credit.

CSE 680: Special Topics on Modeling and Simulation

This is an advanced modeling and simulation course on selected research topics. This application-oriented course tries to address issues of modeling and simulation from graphics, animation, CAD/CAM, medicine, artificial life, and virtual environments. Primary areas covered by this course include visual modeling, mathematical methods for geometry, shape design technology, computational physics for simulation, and scientific computing techniques. New topics will be added each year to reflect the latest state-of-the-art. Prerequisite: graphics/visualization background or permission of the instructor.

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

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 682: Special Topics 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, instructor consent

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

May be repeated for credit.

CSE 683: Special Topics on Mobile and Wireless Networking

This 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 and Spring, 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 685: Special Topics in Media Networks

Current topics in mdeia networks.

Limited to CSE graduate students.

Fall and 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: Internship in Research

See CSE 596 for similar description.

Fall and Spring, 1 credit, S/U grading

May be repeated for credit.

CSE 698: Practicum in Teaching

Normally taken by PhD students in their first year in conjunction with a TA.

Fall, Spring and

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

May be repeated for credit.

CSE 699: Dissertation Research on Campus

This course is normally taken by advanced Ph.D. students when they conduct research towards their thesis. Only Ph.D. students who have been advanced to candidacy (G5 status) can take this course. Students who have the G3 and G4 status and participate in a research project with their advisor can register for CSE 593: Independent Study.

Prerequisite: Must be advanced to candidacy (G5). Major portion of research must take place on SBU campus, at Cold Spring Harbor, or at the Brookhaven National Lab. Limited to CSE graduate students; others, permission of instructor.

Fall, Spring, and Summer, 1-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, 1-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, 1-9 credits, S/U grading

May be repeated for credit.

CSE 800: FT SUMMER RESEARCH

May be repeated for credit.