CSE Graduate Courses
Graduate Courses
CSE 504: Advanced Topics In Software Engineering
Topics vary but may include software design and evolution, formal methods, requirements specifications, software and system safety, reverse engineering, real-time software, metrics and measurement, programming environments, and verification and validation. Prerequisite: CSE major or permission of instructor.
CSE 506: Advanced Topics In Programming Languages
May include functional, object-oriented, parallel, and logic programming languages; semantics for languages of these kinds; type declaration, inference, and checking (including polymorphic types); implementation issues, such as compilation, lazy evaluation, combinators, parallelism, various optimization techniques. Implementation project required. Prerequisite: CSE major, CSE 501 which may be taken concurrently, and CSE 505.
E E 511: Introduction to Statistical Learning
Covers classification and estimation of vector observations, including both parametric and nonparametric approaches. Includes classification with likelihood functions and general discriminant functions, density estimation, supervised and unsupervised learning, feature reduction, model selection, and performance estimation. Prerequisite: either E E 505 or CSE 515.
E E 512: Graphical Models in Pattern Recognition
Bayesian networks, Markov random fields, factor graphs, Markov properties, standard models as graphical models, graph theory (e.g., moralization and triangulation), probabilistic inference (including pearl' s belief propagation, Hugin, and Shafer-Shenoy), junction threes, dynamic Bayesian networks (including hidden Markov models), learning new models, models in practice. Prerequisite: E E 508; E E 511.
CSE 515: Statistical Methods In Computer Science
Introduction to the probabilistic and statistical techniques used in modern computer systems. Graphical models, probabilistic inference, statistical learning, sequential models, decision theory. Prerequisite: either STAT 341 or STAT 391, and graduate standing in computer science, or permission of instructor.
CSE 521: Design And Analysis Of Algorithms I
Principles of design of efficient algorithms: recursion, divide and conquer, balancing, dynamic programming, greedy method, network flow, linear programming. Correctness and analysis of algorithms. NP-completeness. Prerequisite: CSE major and CSE 326 or equivalent. CSE majors only.
CSE 522: Design And Analysis Of Algorithms Ii
Analysis of algorithms more sophisticated than those treated in 521. Content varies and may include such topics as algebraic algorithms, combinational algorithms, techniques for proving lower bounds on complexity, and algorithms for special computing devices such as networks or formulas. Prerequisite: CSE major and CSE 521.
CSE 523: Computational Geometry
Algorithms for discrete computational geometry. Geometric computation, range searching, convex hulls, proximity, Vornoi diagrams, intersection. Application areas include VLSI design and computer graphics. Prerequisite: CSE major and CSE 521; recommended: CSE 457 or equivalent.
CSE 524: Parallel Algorithms
Design and analysis of parallel algorithms: fundamental parallel algorithms for sorting, arithmetic, matrix and graph problems and additional selected topics. Emphasis on general techniques and approaches used for developing fast and efficient parallel algorithms and on limitations to their efficacy. Prerequisite: CSE major and CSE 521.
CSE 525: Randomized Algorithms And Probablisitc Analysis
Examines algorithmic techniques: random selection, random sampling, backwards analysis, algebraic methods, Monte Carlo methods, and randomized rounding; random graphs; the probabilistic method; Markov chains and random walks; and analysis tools: random variables, moments and deviations, Chernoff bounds, martingales, and balls in bins. Prerequisite: CSE 521 or equivalent; CSE majors only. Offered: WSp.
CSE 527: Computational Biology
Introduces computational methods for understanding biological systems at the molecular level. Problem areas such as network reconstruction and analysis, sequence analysis, regulatory analysis and genetic analysis. Techniques such as Bayesian networks, Gaussian graphical models, structure learning, expectation-maximization. Prerequisite: graduate standing in biological, computer, mathematical or statistical science, or permission of instructor.
CSE 528: Computational Neuroscience
Introduction to computational methods for understanding nervous systems and the principles governing their operation. Topics include representation of information by spiking neurons, information processing in neural circuits, and algorithms for adaptation and learning. Prerequisite: elementary calculus, linear algebra, and statistics, or by permission of instructor. Offered: jointly with NEUBEH 528.
CSE 529: Neural Control Of Movement: A Computational Perspe
Systematic overview of sensorimotor function on multiple levels of analysis, with emphasis on the phenomenology amenable to computational modeling. Topics include musculoskeletal mechanics, neural networks, optimal control and Bayesian inference, learning and adaptation, internal models, and neural coding and decoding. Prerequisite: vector calculus, linear algebra, MATLAB, or permission of instructor. Offered: jointly with AMATH 533; W.
CSE 531: Computational Complexity I
Deterministic and nondeterministic time and space complexity, complexity classes, and complete problems. Time and space hierarchies. Alternation and the polynomial-time hierarchy. Circuit complexity. Probabilistic computation. Exponential complexity lower bounds. Interactive proofs. Prerequisite: CSE majors only; CSE 322 or equivalent.
CSE 532: Computational Complexity Ii
Advanced computational complexity including several of the following: circuit complexity lower bounds, #p and counting classes, probabilistically-checkable proofs, de-randomization, logical characteristics of complexity, communication complexity, time-space tradeoffs, complexity of data structures. Prerequisite: CSE majors only; Recommended: CSE 531.
STAT 535: Statistical Learning: Modeling, Prediction, and Computing I
Covers statistical learning over discrete multivariate domains, exemplified by graphical probability models. Emphasizes the algorithmic and computational aspects of these models. Includes additional topics in probability and statistics of discrete structures, general purpose discrete optimization algorithms like dynamic programming and minimum spanning tree, and applications to data analysis. Prerequisite: experience with programming in a high level language.
CSE 536: Theory Of Distributed Computing
Formal approaches to distributed computing problems. Topics vary, but typically include models of distributed computing, agreement problems, impossibility results, mutual exclusion protocols, concurrent reading while writing protocols, knowledge analysis of protocols, and distributed algorithms. Prerequisite: CSE major.
STAT 538: Statistical Learning: Modeling, Prediction, and Computing II
Reviews optimization and convex optimization in its relation to statistics. Covers the basics of unconstrained and constrained convex optimization, basics of clustering and classification, entropy, KL divergence and exponential family models, duality, modern learning algorithms like boosting, support vector machines, and variational approximations in inference. Prerequisite: experience with programming in a high level language.
CSE 540: Discrete System Simulation
Principles of simulation of discrete, event-oriented systems. Model construction, simulation and validation. Distributed and parallel simulation techniques. Basic statistical analysis of simulation inputs and outputs. Use of C, an object-oriented language, and S, a statistical analysis package. Prior familiarity with the concepts of probability and statistics desirable.
CSE 544: Principles Of Database Systems
The relational data model: SQL, Relational Algebra, Relational Calculus, discussion of other data models. Database systems: indexes, query execution and optimization, database statistics, parallel databases, MapReduce. Database theory: datalog and extensions with negation, query complexity, query containment and equivalence, bounded tree width. Miscellaneous: transactions, data provenance, data privacy, probabilistic databases.
CSE 546: Machine Learning
Explores methods for designing systems that learn from data and improve with experience. Supervised learning and predictive modeling; decision trees, rule induction, nearest neighbors, Bayesian methods, neural networks, support vector machines, and model ensembles. Unsupervised learning and clustering. Prerequisite: either STAT 341, STAT 391, or equivalent, or permission of instructor.
CSE 548: Computer Systems Architecture
Notations for computer systems. Processor design (single chip, look-ahead, pipelined, data flow). Memory hierarchy organization and management (virtual memory and caches). Microprogramming. I/O processing. Multiprocessors (SIMD and MIMD). Prerequisite: CSE major and CSE 451.
CSE 549: High-performance Computer Architectures
Algorithm design, software techniques, computer organizations for high-performance computing systems. Selected topics from: VLSI complexity for parallel algorithms, compiling techniques for parallel and vector machines, large MIMD machines, interconnection networks, reconfigurable systems, memory hierarchies in multiprocessors, algorithmically specialized processors, data flow architectures. Prerequisite: CSE major and CSE 548 or permission of instructor.
CSE 550: Computer Systems
Explores computer system design, implementation, and evaluation. Covers principles, techniques, and examples related to the construction of computer systems, including concepts that span network systems, operating systems, web servers, parallel computing, and databases. Prerequisite: CSE 451.
CSE 551: Operating Systems
Operating system design and construction techniques. Concurrent programming, operating system kernels, correctness, deadlock, protection, transaction processing, design methodologies, comparative structure of different kinds of operating systems, and other topics. Prerequisite: CSE major and CSE 451.
CSE 553: Real-time Systems
Design and construction of software for real-time computer systems. Software architectures. Requirements and specification methods. Scheduling algorithms and timing analysis. Real-time operating systems. Real-time programming languages. Selected case studies. Prerequisite: CSE major and CSE 451.
CSE 557: Computer Graphics
Introduction to image synthesis and computer modeling, emphasizing the underlying theory required for undertaking computer graphics research. Topics include color theory, image processing, affine and projective geometry, hidden-surface determination, photorealistic image synthesis, advanced curve and surface design, dynamics, realistic character animation. Prerequisite: CSE major, solid knowledge of linear algebra.
CSE 567: Principles Of Digital Systems Design
Principles of logic design, combinational and sequential circuits, minimization techniques, structured design methods, CMOS technology, complementary and ratioed gates, delay estimation and performance analysis, arithmetic circuits, memories, clocking methodologies, synthesis and simulation tools, VLSI processor architecture. Prerequisite: CSE major and basic knowledge of logic design.
CSE 568: Introduction To Vlsi Systems
Introduction to CMOS technology and circuit design; combinational logic-design alternatives; register-design and system-clocking methodologies; datapath and subsystem design; VLSI system-design methodologies; CAD tools for synthesis, layout, simulation, and validation; design of a complex VLSI chip. Prerequisite: CSE 567 or permission of instructor. CSE majors only.
CSE 571: Probabilistic Robotics
This course introduces various techniques for Bayesian state estimation and its application to problems such as robot localization, mapping, and manipulation. The course will also provide a problem-oriented introduction to relevant machine learning and computer vision techniques.
CSE 573: Artificial Intelligence
Intensive introduction to artificial intelligence: Problem solving and search, game playing, knowledge representation and reasoning, uncertainty, machine learning, natural language processing. Prerequisite: CSE 421 or equivalent; exposure to logic, probability and statistics; CSE major.
CSE 576: Computer Vision
Overview of computer vision, emphasizing the middle ground between image processing and artificial intelligence. Image formation, preattentive image processing, boundary and region representations, and case studies of vision architectures. Prerequisite: Solid knowledge of linear algebra, good programming skills, CSE or E E major or permission of instructor. Offered: jointly with E E 576.
CSE 577: Special Topics In Computer Vision
Topics vary and may include vision for graphics, probabilistic vision and learning, medical imaging, content-based image and video retrieval, robot vision, or 3D object recognition. Prerequisite: CSE/E E 576 or permission of instructor. Offered: jointly with E E 577.
CSE 579: Intelligent Control Through Learning &optimization
Design or near-optimal controllers for complex dynamical systems, using analytical techniques, machine learning, and optimization. Topics from deterministic and stochastic optimal control, reinforcement learning and dynamic programming, numerical optimization in the context of control, and robotics. Prerequisite: vector calculus; linear algebra, and Matlab. Recommended: differential equations; stochastic processes, and optimization. Offered: jointly with AMATH 579.
CSE 581: Parallel Computation In Image Processing
Parallel architectures, algorithms, and languages for image processing. Cellular array, pipelined and pyramid machines, instruction sets, and design issues. Parallel implementations of filtering, edge detection, segmentation, shape, stereo, motion, relaxation algorithms, multiresolution methods, and iconic-to-symbolic transforms. Students write and debug programs for parallel computers. Prerequisite: permission of instructor.
CSE 586: Introduction To Synthetic Biology
Studies mathematical modeling of transcription, translation, regulation, and metabolism in cell; computer aided design methods for synthetic biology; implementation of information processing, Boolean logic and feedback control laws with genetic regulatory networks; modularity, impedance matching and isolation in biochemical circuits; and parameter estimation methods. Prerequisite: either MATH 136 or MATH 307, AMATH 351, or CSE 321 and MATH 308 or AMATH 352. Offered: jointly with BIOEN 523/E E 523.
CSE 587: Advanced Systems And Synthetic Biology
Introduces advanced topics in systems and synthetic biology. Topics include advanced mathematical modeling; computational standards; computer algorithms for computational analysis; and metabolic flux analysis, and protein signaling pathways and engineering. Prerequisite: either BIOEN 523,E E 523, or CSE 586. Offered: jointly with BIOEN 524/E E 524; W.
CSE 591e: Reading Seminar in CSE Education & Technology
CSE591E is an informal quarterly seminar focused on Computer Science Education & Technology. Primarily, it consists of reading and discussing papers in this field and related fields. It is open to all students interested in education. (Formerly CSE590ED.)
CSE 591q: Quantum Computing Journal Club
Our group studies many aspects of quantum computing, from ideas about how to build a quantum computer, to the quantum algorithms that will run on these future devices, as well as the greater implications that this intersection of physics and computer science has for both subjects.
CSE 597: Performance Analysis
Broad introduction to computer system performance evaluation techniques and their application. Includes measurement/benchmarking, stochastic and trace driven simulation, stochastic queuing networks, and timed Petri nets. Applications of the techniques are studied using case study papers. CSE majors only. Not open for credit to students who have completed CSE 543.
Graduate Seminars
CSE 590c: Reading and Research in Computational Biology
CSE 590 C is an informal quarterly seminar in Computational Biology. It is open to all graduate students in the computer, biological, and mathematical sciences. See the web pages at left for an outline of activities this quarter and in the recent past. (Was CSE 590 CB.)
CSE 590es: Special Topics in Embedded Systems
Seminar or project course where students investigate different aspects of embedded systems. Topics change with each offering. The objective is to expose students to the different nature of task-specific computing devices and their communication methods as opposed to general-purpose computing systems and networks.
CSE 590nc: Neural Computation Seminar
Neural computation and learning. Discussions of classic as well as recent papers in neural computing and neuroscience. Participants select one or more papers from a reading list and will lead the corresponding discussion meetings. Specific topics covered include:
- Supervised and unsupervised learning
- Reinforcement learning and imitation learning
- Bayesian inference and relationship to neural networks
- Recurrent and hierarchical networks
- Applications in computer vision, robotics, and brain-computer interfaces
CSE 590z: Theory Seminar
These are the two regular CS theory seminars. CSE 590Z is the main theory seminar. It often has talks by invited speakers as well as presentations of recent research papers by graduate students. CSE 590ZZ is usually more casual and often discusses work in progress, or other theory research by people in the department.
CSE 590zpl: High Performance Scientific Computing in ZPL
ZPL is a new scientific programming language suitable for computations previously written in Fortran, C, etc. CSE590-ZPL is a class designed for scientists and engineers who are NOT computer scientists, but who want to learn how to use modern languages and supercomputers effectively for scientific computation.
- Advising
- Graduate Student Affairs
- Courses
- The Ph.D. Process
- Qualifying Evaluation (Quals)
- General Evaluation (Generals)
- Dissertation and Defense
- Graduation
- Policies and Procedures
- FAQs

cs.