Graduate Course Descriptions

The following directory lists the graduate courses which the University expects to offer, although the University in no way guarantees that all such courses will be offered in any given academic year, and reserves the right to alter the list if conditions warrant. Click on the links below for a list of courses in that subject area. You may then click “View Classes” to see scheduled classes for individual courses.

5095. Special Topics in Computer Science and Engineering

3.00 credits | May be repeated for credit.

Prerequisites: Open to graduate students in the CSE program, others with permission. (RG 5600)

Grading Basis: Graded

Classroom courses in special topics as announced in advance for each semester.

View Classes »

5097. Seminar

1.00 credits | May be repeated for a total of 8 credits.

Prerequisites: Open to graduate students in the CSE program, others with permission. (RG 5600)

Grading Basis: Satisfactory/Unsatisfactory

Presentation and discussion of advanced computer science problems.

View Classes »

5099. Independent Study in Computer Science and Engineering

1.00 - 6.00 credits | May be repeated for a total of 24 credits.

Prerequisites: Open to graduate students in the CSE program, others with permission. (RG 5600)

Grading Basis: Graded

Individual exploration of special topics as arranged by the student with an instructor.

View Classes »

5102. Advanced Programming Languages

3.00 credits

Prerequisites: Recommended Preparation: CSE 4102 and 3502 or the equivalent. Open to graduate students in the CSE program, others with permission.(RG 5397)

Grading Basis: Graded

The theory and pragmatics of modern programming languages. Topics include syntax, semantics, type systems and control mechanisms. Key contributions from Functional and Logic Programming including first-order functions, closures, continuations, non-determinism and unification are studied. Study of declarative and operational semantics of recent entries in the field like Constraint Programming and Aspect Oriented Programming.

View Classes »

5103. Performance Engineering

3.00 credits

Prerequisites: Recommended Preparation: CSE 3504 and 4500 or the equivalent. Open to graduate students in the CSE program, others with permission. (RG 5398)

Grading Basis: Graded

Study of performance engineering techniques for the development of software systems to meet performance objectives. Software performance principles, hierarchical performance modeling, and current research trends related to Software Performance Engineering. Methods for computer performance evaluation and analysis with emphasis on direct measurement and analytic modeling, including queuing networks, computation structure models, state charts, probabilistic languages, and Petri-nets. Case studies for the evaluation and analysis of software architecture and design alternatives.

View Classes »

5105. Software Reliability Engineering

3.00 credits

Prerequisites: Recommended Preparation: CSE 3504 and 4500 or the equivalent. Open to graduate students in the CSE program, others with permission. (RG 5399)

Grading Basis: Graded

State-of-the-art as well as emerging reliability assessment techniques. Topics covered will include reliability modeling paradigms, software reliability growth models, software metrics and reliability, software testing and reliability, and architecture-based reliability assessment. Hands-on experience in the application of these techniques.

View Classes »

5300. Advanced Computer Networks

3.00 credits

Prerequisites: This course and ECE 6431 may not both be taken for credit. Recommended Preparation: CSE 3300 or the equivalent. Open to graduate students in the CSE program, others with permission.(RG5905)

Grading Basis: Graded

Advanced fundamental principles of computer networks. Topics include network design and optimization, protocol design and implementation, network algorithms, advanced network architectures, network simulation, performance evaluation, and network measurement.

View Classes »

5302. Computer Architecture

3.00 credits

Prerequisites: Recommended preparation: CSE 4302 or the equivalent. Open to graduate students in the CSE program, others with permission. (RG 5401)

Grading Basis: Graded

Provides an in-depth understanding of the inner workings of modern digital computer systems. Traditional topics on uniprocessor systems such as performance analysis, instruction set architecture, hardware/software pipelining, memory hierarchy design and input-output systems will be discussed. Modern features of parallel computer systems such as memory consistency models, cache coherence protocols, and latency reducing/hiding techniques will also be addressed. Some experimental and commercially available parallel systems will be presented as case studies.

View Classes »

5304. High-Performance Parallel Computing

3.00 credits

Prerequisites: Recommended Preparation: CSE 4302 and 4500. Open to graduate students in the CSE program, others with permission. (RG 5402)

Grading Basis: Graded

Topics in high-performance computing such as the following (1) Parallel Algorithms and Parallel Computation: including programming models (Circuits and PRAMs), complexity analysis, modern parallel platforms and programming libraries; (2) Shared- and Distributed-Memory Parallel Architectures: including cache coherence, Memory consistency, processor synchronization, latency tolerance and hiding; (3) Interconnection Networks: including quantitative measures, topologies, switch architectures, routing strategies; as well as (4) Contemporary and Future HPC Systems.

View Classes »

5306. Advanced Operating Systems

3.00 credits

Prerequisites: Recommended Preparation: CSE 4300 or the equivalent. Open to graduate students in the CSE program, others with permission.(RG 5403)

Grading Basis: Graded

Topics in modern operating systems with the focus on distributed computing, communication, and concurrency. Selected topics from current research in the theory, design, implementation, and verification of operating systems.

View Classes »

5309. Networked Embedded Systems

3.00 credits

Prerequisites: Recommended preparation: CSE2300W, CSE3300 and CSE3666. Open to graduate students in the CSE program, others with permission. (RG 6000)

Grading Basis: Graded

Introduction to the design, analysis and implementation of networked embedded systems that interact with the physical environment. Applications of such systems include environmental monitoring, consumer electronics, medical devices, automotive systems, industrial process control, distributed robotics, and smart structures. Topics covered include concepts, technologies and protocols for low-power and resource-restricted wireless networks; models of computation and physical systems; embedded system architectures; and real-time system concepts, theory and design principles.

View Classes »

5500. Algorithms

3.00 credits

Prerequisites: Prerequisite: Open to graduate students in the CSE program, others with permission. Recommended Preparation: CSE 3500 or the equivalent. (RG5907)

Grading Basis: Graded

Introduction to the design and analysis of algorithms. The course will discuss fundamental design techniques and related issues such as amortized analysis, linear programming, network flow, NP-Completeness, approximation algorithms, randomized algorithms, advanced data structures, and parallel algorithms.

View Classes »

5506. Computational Complexity

3.00 credits

Prerequisites: Prerequisite: Open to graduate students in the CSE program, others with permission. Recommended preparation: CSE 3502 and 3500; MATH 3160 or the equivalent. (RG5908)

Grading Basis: Graded

Systematic study of resource-bounded computation, including time and space complexity, hierarchy theorems, nondeterministic and randomized computation, and reduction and completeness. Advanced topics may be introduced such as relativized computation, derandomization, communication complexity, lower bounds on circuit complexity, and probabilistically checkable proofs.

View Classes »

5510. Distributed Computing and Fault Tolerance

3.00 credits

Prerequisites: Recommended Preparation: CSE4300 and/or CSE4500. Open to graduate students in the CSE program, others with permission. (RG 5145)

Grading Basis: Graded

Topics in the design and analysis of robust distributed algorithms that combine efficiency and fault tolerance. Models of distributed computation and failures. Inherent limitation in achieving fault tolerance in distributed systems. Basic problems considered include communication services, robust cooperation, agreement, consistent distributed memory.

View Classes »

5512. Introduction to Quantum Computing

3.00 credits

Prerequisites: Recommended Preparation: CSE 3500, CSE 3502, and MATH 2420Q. Open to graduate students in the CSE program, others with permission. (RG 5146)

Grading Basis: Graded

Introduction to quantum computing, quantum algorithms, and quantum information theory. Quantum mechanics including elementary aspects of its mathematical formalism; quantum circuit model and quantum complexity theory; development and analysis of several fundamental quantum algorithms, focusing on Grover?s algorithm for database search and Shor?s number-theoretic algorithms. Second half covers the density matrix formalism of quantum mechanics, von Neumann entropy, quantum channels, and quantum error-correction. If time permits, some implementations of quantum computers and current progress will be discussed.

View Classes »

5514. Computational Geometry

3.00 credits

Prerequisites: Recommended Preparation: MATH 2110Q and 2210Q or the equivalent. Open to graduate students in the CSE program, others with permission. (RG 5406)

Grading Basis: Graded

Algorithms and data structures for constructing geometric objects, computing geometric properties, and answering geometric queries as well as techniques for the analysis of their correctness and complexity.

View Classes »

5600. Computer Science and Engineering Research Laboratory

3.00 credits | May be repeated for a total of 9 credits.

Prerequisites: Open to graduate students in the CSE program, others with permission. (RG 5600)

Grading Basis: Graded

Experimental investigation of current research topics in computer science.

View Classes »

5707. Discrete Optimization

3.00 credits

Prerequisites: Prerequisites: Open to graduate students in the CSE program, others with permission. Recommended preparation: CSE3500 and MATH2210. (RG5910)

Grading Basis: Graded

Methods and techniques used to solve combinatorial optimization problems with examples drawn from industry such as scheduling, resource allocation, and routing. Features a mix of theory and practice using state-of-the-art tools to solve classic problems.

View Classes »

5713. Data Mining

3.00 credits

Prerequisites: Open to graduate students in the CSE program, others with permission. (RG 5600)

Grading Basis: Graded

Introduction to data mining algorithms and their analysis. Application of and experimentation with data mining algorithms on real-world problems and domains, with a dual focus on addressing the solution quality issue and the time efficiency issue.

View Classes »

5717. Big Data Analytics

3.00 credits

Prerequisites: Prerequisites: Open to graduate students in the CSE program, others with permission. Recommended preparation: CSE3500 and MATH2210. (RG5910)

Grading Basis: Graded

Focuses on data science and big data analytics. Introduces basic concepts of data science and analytics. Different algorithmic techniques employed to process data will be discussed. Specific topics include: Parallel and out-of-core algorithms and data structures, Rules mining, Clustering algorithms, Text mining, String algorithms, Data reduction techniques, and Learning algorithms. Applications such as motif search, k-locus association, k-mer counting, error correction, sequence assembly, genotype-phenotype correlations, etc. will be investigated.

View Classes »

5800. Bioinformatics

3.00 credits

Prerequisites: Open to graduate students in the CSE program, others with permission. (RG 5600)

Grading Basis: Graded

Advanced mathematical models and computational techniques in bioinformatics. Topics covered include genome mapping and sequencing, sequence alignment, database search, gene prediction, genome rearrangements, phylogenetic trees, and computational proteomics.

View Classes »

5810. Introduction to Biomedical Informatics

3.00 credits

Prerequisites: Recommended Preparation: CSE 4102, CSE 4701 or CSE 4300. Open to graduate students in the CSE program, others with permission. (RG 5144)

Grading Basis: Graded

Introduction to biomedical informatics theory and practice with an emphasis on data management for information classification (ontologies), collection, storage, analysis, dissemination, etc., applied to medical, clinical, and public health domains. Topics include: software architectures, security and privacy, interoperabilty and data exchange, standards and the semantic web, health care systems, clinical decision support, data mining, health care systems, monitoring and sensor devices, and cloud/grid computing.

View Classes »

5815. Systems Biology: Constructing Biological Knowledgebase

3.00 credits

Prerequisites: Open to graduate students in the CSE program, others with permission. (RG 5600)

Grading Basis: Graded

Design and architecture of biological knowledge base. Topics covered include biological/biomedical data modeling, knowledge representation techniques of biological and biomedical information, review of existing inference methods, methods of assessing evidence quality, design of inference-enabling genomics annotation system, various meta-data analysis methods involving genomics and biomedical data.

View Classes »

5820. Machine Learning

3.00 credits

Prerequisites: Prerequisite: Open to graduate students in the CSE program, others with permission. Recommended preparation: CSE3500, MATH2110, MATH2210, and MATH3160 or the equivalent. (RG5909)

Grading Basis: Graded

The objective of the course is to enable students to understand and use machine learning methods across a wide range of settings. The course will be a mixture of theory, algorithms, and hands-on projects with real data. Besides traditional machine learning topics, e.g., supervised learning, unsupervised learning and semi-supervised learning, the course will also introduce advanced topics such as dimension reduction; structured data learning; kernel learning; imprecisely supervised learning; longitudinal data analysis; causal inference, etc.

View Classes »

5840. String Algorithms and Applications in Bioinformatics

3.00 credits

Prerequisites: Open to graduate students in the CSE program, others with permission. (RG 5600)

Grading Basis: Graded

Classic string matching algorithms (e.g. Knuth-Morris-Pratt, Karp-Rabin, suffix tree and arrays) and more advanced string algorithms (e.g. Burrows-Wheeler transform). With a particular focus on rigorous treatment of string processing algorithms and their analysis. Applications of string algorithms to bioinformatics problems. Students are expected to have basic prior knowledge of algorithm design and analysis.

View Classes »

5850. Information and Data Security

3.00 credits

Prerequisites: Recommended Preparation: CSE 4701 and 4300 or the equivalent. Open to graduate students in the CSE program, others with permission. (RG 5407)

Grading Basis: Graded

Introduction to computer security and the design of secure systems. Security and threat modeling. Entity authentication and privacy, data integrity and confidentiality. Crypto-graphic tools: symmetric and asymmetric encryption, digital signatures, message authentication codes, hash functions. Security at the operating system level, access control, security enforcement, memory protection. Network security, firewalls, internet worms and viruses, intrusion detection. Digital rights management, software security, program obfuscation, implementation flaws, buffer overflow attacks. Case studies in topical areas.

View Classes »

5852. Modern Cryptography: Foundations

3.00 credits

Prerequisites: rerequisite: Open to graduate students in the CSE program, others with permission. Recommended Preparation: MATH3160, CSE 3500, and CSE3502 or the equivalent. (RG 5906)

Grading Basis: Graded

The foundations of modern cryptography introducing basic topics such as one-way functions, pseudorandom generators, and computational hardness assumptions based on number theory. Fundamental cryptographic constructions such as hard-core predicates, secure symmetric encryption and message-authentication codes, and public-key cryptography.

View Classes »

5854. Modern Cryptography: Primitives and Protocols

3.00 credits

Prerequisites: Prerequisite: Open to graduate students in the CSE program, others with permission. Recommended Preparation: MATH3160, CSE 3500, CSE3502, and CSE4702 or the equivalent. (RG5919)

Grading Basis: Graded

This course covers modern cryptography emphasizing provable security and concrete constructions based on the hardness of specific computational problems. After surveying some basic cryptographic primitives and associated number-theoretic constructions, the course focuses on public-key infrastructure and protocols: it will cover such topics as digital signatures, identification and key-exchange schemes, distributed key generation, blind signatures, zero-knowledge proofs, and private function computation.

View Classes »

5860. Computational Problems in Evolutionary Genomics

3.00 credits

Prerequisites: Prerequisite: CSE 5800. Open to graduate students in the CSE program, others with permission.(RG 5159)

Grading Basis: Graded

Computational and algorithmic approaches for problems arising in evolutionary genomics. Topics may include phylogenetic trees inference, population evolutionary models and theory, understanding complex evolutionary processes and other related topics. Both combinatorial optimization and stochastic approaches will be covered.

View Classes »

6300. Research Topics in Computer Networks

3.00 credits

Prerequisites: Prerequisite: CSE 5300. Open to graduate students in the CSE program, others with permission. (RG252).

Grading Basis: Graded

Current research issues in the Internet, wireless and mobile networks, as well as emerging concepts such as sensor networks. Overview of the fundamental design principles underlying these networks. Discussion and exploration of the advanced research topics in these and other areas.

View Classes »

6512. Randomization in Computing

3.00 credits

Prerequisites: Prerequisite: CSE 5500. Open to graduate students in the CSE program, others with permission. (RG 3877)

Grading Basis: Graded

Introduction to the theory and practice of randomization and randomized algorithms as a technique for science and engineering problem solving. Topics to be covered include: probability theory, types of randomization, sorting and selection, hashing and skip list, finger-printing, packet routing, geometry and linear programming, graph algorithms, combinatorial optimization, and external memory algorithms.

View Classes »

6514. Computational Topology

3.00 credits

Prerequisites: Prerequisite: MATH 5310 and 5311. Open to graduate students in the CSE program, others with permission. (RG3085)

Grading Basis: Graded

Topology has traditionally generalized concepts of real analysis to metric spaces and set axioms. The new field of computational topology has great potential for encompassing abstractions to unify domain-specific techniques now used in computational geometry, geometric modeling, visualization, image processing, engineering analyses and molecular simulation. The course will include perspectives from traditional topology and show how these need to be modified for realistic use in modern computing environments. Topics and emphases will vary.

View Classes »

6800. Computational Genomics

3.00 credits

Prerequisites: Prerequisite: CSE 5800 or BME 5800. Open to graduate students in the CSE program, others with permission. (RG3876)

Grading Basis: Graded

Advanced computational methods for genomic data analysis. Topics covered include motif finding, gene expression analysis, regulatory network inference, comparative genomics, genomic sequence variation and linkage analysis

View Classes »