Graduate

CSE 200 Research and Teaching in Computer Science and Engineering

Basic teaching techniques for teaching assistants, including responsibilities and rights of teaching assistants, resource materials, computer security, leading discussion or lab sessions, presentation techniques, maintaining class records, electronic handling of homework, and grading. The course examines research and professional training, including use of the library and online databases, technical typesetting, writing journal and conference papers, publishing in computer science and computer engineering, giving talks in seminars and conferences, and ethical issues in science and engineering. Required for all teaching assistants. Formerly CMPS 200 and CMPE 200.)

Credits

3

Instructor

The Staff, Katia Obraczka, Alex Pang, Suresh Loda, Chen Qian

Requirements

Enrollment is restricted to graduate students.

Quarter offered

Fall

CSE 201 Analysis of Algorithms

Rigorous analysis of the time and space requirements of important algorithms, including worst case, average case, and amortized analysis. Techniques include order-notation, recurrence relations, information-theoretic lower bounds, adversary arguments. Analysis of the key data structures: trees, hash tables, balanced tree schemes, priority queues, Fibonacci and binomial heaps. Algorithmic paradigms such as divide and conquer, dynamic programming, union-find with path compression, augmenting paths. Selected advanced algorithms. Introduction to NP-completeness. (Formerly Computer Science 201.)

Credits

5

Instructor

Sheldon Finkelstein, Patrick Tantalo, Allen Van Gelder, David Helmbold, Seshiri Comandur

Requirements

Enrollment is restricted to graduate students; undergraduate students may enroll in this course if they have completed CSE 102 or CSE 106 and have the consent of the instructor.

Quarter offered

Fall, Winter

CSE 202 Combinatorial Algorithms

Fundamental combinatorial algorithms, graph algorithms, flow problems, matching problems, linear programming, integer programming, NP-completeness, approximation algorithms for optimization problems. (Formerly Computer Science 211.)

Credits

5

Instructor

Allen Van Gelder, Phokion Kolaitis, Seshiri Comandur

Requirements

Prerequisite(s): CSE 201.

CSE 204 Computational Models and Complexity

Finite automata and regular expressions, universal models of computation, computability and unsolvability, relations between complexity classes, hierarchy theorems, reductions, complete problems for the major complexity classes (L, NL, P, NP, PSPACE). Other topics may include complexity of counting and enumeration problems, complexity of approximation, randomized complexity classes. (Formerly Computer Science 210.)

Credits

5

Instructor

Manfred Warmuth, Phokion Kolaitis, David Helmbold, Sesh Comandur, Allen Van Gelder

Requirements

Prerequisite(s): CSE 201.

Quarter offered

Spring

CSE 205 Logic in Computer Science

The applications and uses of formal systems to computer science. Covers the syntax and semantics of propositional logic and first-order logic, normal forms, soundness and completeness theorems, Herbrand's theorem, unification and resolution, foundations of logic programming, automated theorem proving. Other topics may include deductive databases, database query languages, nonmonotonic reasoning. (Formerly Computer Science 217.)

Credits

5

Instructor

Allen Van Gelder, Phokion Kolaitis

Requirements

Enrollment is restricted to graduate students.

Quarter offered

Spring

CSE 207 Graph Algorithms

Explores graph theory and algorithms for solving problems in engineering. A review of basic graph concepts and algorithms is followed by topics in network flow, partitioning, spectral analysis of graphs, graph isomorphism, and intractability. (Formerly Computer Engineering 277.)

Credits

5

Instructor

Martine Schlag

Requirements

Prerequisite(s): CSE 101 and CSE 102; or CSE 106; or CSE 201; or equivalent. Enrollment is restricted to graduate students.

CSE 210A Programming Languages

Covers current issues in programming languages. Language topics include object oriented, concurrent, functional, and logic programming, and other programmable applications such as symbolic manipulators and simulation. (Formerly Computer Science 203.)

Credits

5

Instructor

The Staff, Cormac Flanagan, Allen Van Gelder, Lindsey Kuper

Requirements

Enrollment is restricted to graduate students; undergraduate students may enroll for this course if they have completed CSE 112 and have the consent of the instructor.

Quarter offered

Winter

CSE 210B Advanced Programming Languages

Covers issues in the design, implementation, analysis, and specification of programming languages. Topics include formal semantics (including operational, axiomatic, and denotational semantics), advanced type systems, program analysis (including abstract interpretation and model checking), specification, and verification. (Formerly Computer Science 253.)

Credits

5

Instructor

Cormac Flanagan, Owen Arden

Requirements

Prerequisite(s): CSE 210A or equivalent.

Quarter offered

Spring

CSE 211 Compiler Design

Advanced study of compiler implementation. Topics include compiler structure back end, run-time environments, storage management, garbage collection, register allocation, code generation, basic blocks, control flow, data flow, local and global optimization, interpretation, machine code generation. Students may not receive credit for this course and CSE 110B. Taught in conjunction with CSE 110B. (Formerly Computer Science 204.)

Credits

5

Instructor

Wesley Mackey, Tyler Sorensen

Requirements

Prerequisite(s): CSE 110A or equivalent. Enrollment is restricted to graduate students.

Quarter offered

Fall

CSE 212A Software Engineering

Introduction to the general principles of software engineering. Covers current and classical topics from both practical and theoretical viewpoints. Topics include software evolution, project management, software inspections, design methods, requirements analysis and specification, software testing, maintenance, software implementation, human interfaces, and software engineering experimentation. (Formerly CMPS 276.)

Credits

5

Instructor

The Staff, Jim Whitehead, Luca De Alfaro, David Harrison

Requirements

Enrollment is restricted to graduate students; undergraduates may enroll in this course if they have completed CSE 115A.

CSE 212B Software Reuse and Component-Based Software Engineering

Detailed study of interlocking business, organizational, and technical issues in large-scale software reuse and component-based software engineering. Topics include architecture, design for reuse, domain engineering, model-driven development, domain-specific kits, components, frameworks, software agents, generators, problem-oriented languages, library design, reuse tools, patterns, and aspects. Assumes prior exposure to software engineering topics. (Formerly Computer Science 279.)

Credits

5

Requirements

Prerequisite(s): CSE 212A or consent of instructor. Enrollment is restricted to graduate students.

CSE 214 Principles of Database Systems

Advanced course on principles of database systems. Main topics include overview of the relational data model and relational query languages; recursive queries, datalog, and fixed-points; query processing and optimization; database design, dependencies, normal forms, and the chase procedure. Additional topics may include information integration, complex objects, semistructured data, and XML. (Formerly Computer Science 277.)

Credits

5

Instructor

Faisal Nawab, Phokion Kolaitis, Sheldon Finkelstein, Narges Norouzi

Requirements

Prerequisite(s): CSE 201 or equivalent or consent of instructor. Enrollment is restricted to graduate students.

CSE 215 Design and Implementation of Database Systems

Advanced course in implementation techniques for database systems. For students who wish to do research in databases or to learn more about large-scale data processing. Topics include: indexing of complex data; techniques for high-volume concurrency control; query processing and optimization; database recovery; parallel database system architectures; database systems for streaming data; approximate query answering. Additional topics may include: self-managing database systems; advanced query optimization techniques; and query processing techniques for semi-structured data. (Formerly Computer Science 278.)

Credits

5

Instructor

The Staff, Phokion Kolaitis, Peter Alvaro, Sheldon Finkelstein

Requirements

Prerequisite(s): CSE 181 (or equivalent) or consent of instructor. Enrollment is restricted to graduate students.

Quarter offered

Winter

CSE 216 Formal Methods

Mathematical techniques for analyzing systems to prove rigorous guarantees about their behavior. Fundamental algorithms for and advanced topics in modeling, specification, verification, correct-by-construction synthesis, and testing. Applications to hardware/software design, cybersecurity, robotics, machine learning. Course includes a final project.

Credits

5

Instructor

Daniel Fremont

Requirements

Prerequisite(s): CSE 103 or equivalent recommended, but not required. Enrollment is restricted to graduate students; undergraduates may enroll by permission of instructor.

Quarter offered

Spring

CSE 220 Computer Architecture

Provides a thorough and fundamental treatment of the art of computer architecture. Topics include concepts of von Neumann architectures, methods of evaluating CPU performance, instruction-set design and examples, compiler issues, instruction pipelining, superscalar processors, methods for reduction of branch penalty, memory hierarchies, I/O systems, floating-point arithmetic, and current issues in parallel processing. (Formerly CMPE 202.)

Credits

5

Instructor

Scott Beamer, Jose Renau Ardevol, Heiner Litz

Requirements

Enrollment is restricted to graduate students; undergraduates may enroll if they have completed CSE 120 and with consent of instructor. A basic knowledge of computer architecture, similar to the content of CSE 120, is recommended.

Quarter offered

Fall, Spring

CSE 221 Advanced Microprocessor Design

Introduction to latest advances in computer architecture. Focuses on processor core design. Topics include simultaneous multithreading, thread level speculation, trace caches, novel out-of-order mechanisms, and energy-efficient processor core designs. Final project is modification/enhancement of an out-of-order processor on an FPGA development system. (Formerly Computer Engineering 221.)

Credits

5

Instructor

Jose Renau Ardevol

Requirements

Prerequisite(s): CSE 220; and CSE 125, CSE 225, or equivalent Verilog experience. Concurrent enrollment in CSE 221L is required. Enrollment restricted to graduate students.

Quarter offered

Winter

CSE 221L Advanced Microprocessor Design Laboratory

Laboratory sequence illustrating topics covered in course 221. (Formerly Computer Engineering 221L.)

Credits

3

Instructor

Jose Renau Ardevol

Requirements

Prerequisite(s): CSE 220; and CSE 125, CSE 225, or equivalent Verilog experience. Concurrent enrollment in CSE 221 is required. Enrollment restricted to graduate students.

CSE 222A VLSI Digital System Design

Advanced Very Large Scale Integrated (VLSI) custom integrated circuits. Topics include: semiconductors; field-effect transistors (FETs); circuits; and interconnect simulation, along with advanced material on manufacturability, variability, short-channel devices, and non-volatile memories. Students cannot receive credit for this course and CSE 122. (Formerly Computer Engineering 222.)

Credits

5

Instructor

Matthew Guthaus

Requirements

Prerequisite(s): CSE 122 or equivalent.

CSE 222B VLSI System-on-a-Chip Design

Design methodologies for Application Specific Integrated Circuits (ASICs). Topics include: behavioral specification; logic synthesis; standard-cell libraries; advanced timing analysis; and physical design automation tools. Familiarizes students with real-world tools during the design of a small system-on-a-chip project. Students are encouraged to fabricate and test their chips in an independent study. (Formerly Computer Engineering 223.)

Credits

5

Instructor

Matthew Guthaus

Requirements

Prerequisite(s): CSE 222A or permission of instructor. Enrollment is restricted to graduate students.

CSE 225 Introduction to ASIC Systems Design

Verilog digital logic design with emphasis on ASIC and FPGA design. Students design and verify large-scale systems. Assignments and project use the Verilog Hardware Description Language with emphasis on verification and high-frequency ASIC/FPGA targets. Course may be taught in conjunction with CSE 125.

Credits

7

Instructor

Matthew Guthaus

Requirements

Prerequisite(s): CSE 120 or CSE 220. Enrollment is restricted to graduate students; undergraduates may enroll with permission of instructor. Students with hardware background should consult instructor for permission to enroll.

Quarter offered

Winter

CSE 226 Advanced Parallel Processing

Introduction to programming advanced parallel computer architecture. Topics may include: SIMD massively parallel processor arrays; streaming parallel coprocessors, such as graphics cards used for general-purpose processing (GPGPU); or other hybrid MIMD/SIMD architectures. Course has programming lab component, a project, and student presentation on related topics. (Formerly Computer Engineering 220.)

Credits

5

Instructor

Jose Renau Ardevol, Heiner Litz, Scott Beamer

Requirements

Enrollment is restricted to graduate students; undergraduates may enroll with permission of instructor.

CSE 229 Field-Programmable Gate Arrays Computer-Assisted Design

Design methods for Field-Programmable Gate Arrays (FGPAs), including algorithms for technology mapping, routability estimation, placement, and routing. The relationship between FPGA architectures and their computer-aided design tools. Course project involves the modification and analysis of an FPGA tool. (Formerly Computer Engineering 229.)

Credits

5

Instructor

Martine Schlag

Requirements

Enrollment is restricted to graduate students or by consent of instructor. CSE 100, CSE 125, CSE 222A, CSE 225, or other digital design experience recommended.

CSE 231 Advanced Operating Systems

A detailed study of the issues involved in operating systems design and implementation. Readings cover current research topics and systems of historical significance. Topics include (but are not restricted to) process and memory management, protection, security, synchronization, performance evaluation, file systems, distributed systems. (Formerly Computer Science 221.)

Credits

5

Instructor

Ethan Miller, Darrell Long, Andrew Quinn

Requirements

Enrollment is restricted to graduate students; undergraduates by interview only.

Quarter offered

Fall

CSE 232 Distributed Systems

Overview of research topics in distributed computer systems. Topics may include communication paradigms, process management, naming, synchronization and coordination, consistency and replication, fault tolerance, and security. Examples include distributed operating systems, distributed file and object systems, distributed document systems, and peer-to-peer systems. (Formerly Computer Science 232.)

Credits

5

Instructor

Ethan Miller, Darrell Long, Carl Maltzahn, Peter Alvaro, Lindsey Kuper

Requirements

Enrollment is restricted to graduate students.

Quarter offered

Spring

CSE 233 Advanced Computer Security

Overview of research topics in computer and network security. Topics may include cryptographic operations, security properties and policies, authentication and access control, attacks on computer systems and defenses against them, security in programming languages, and network protocols for security. (Formerly CMPS 223.)

Credits

5

Instructor

Ethan Miller, Darrell Long, Owen Arden, Alvaro Cardenas, The Staff

Requirements

Enrollment is restricted to graduate students or consent of instructor.

CSE 234 Understanding Cryptography

Cryptography has become ubiquitous, from light bulbs to atomic weapons. This course provides both a comprehensive introduction to applied cryptography and an additional focus on the human issues caused by bad implementations, bad processes, and broken algorithms. Knowledge of C Programming, Linux, and Virtual machines is required. (Formerly Computer Engineering 236 and Computer Science 236.)

Credits

5

Instructor

Darrell Long, The Staff

Requirements

Prerequisite(s): CSE 201. Enrollment is restricted to graduate students.

Quarter offered

Spring

CSE 235 Cyber-Physical Systems Security

Cyber-physical systems now permeate our lives; they include autonomous vehicles, the Internet of things, and modern control of our critical infrastructure such as the power grid. Learning about the threats against these systems and the possible defenses is essential for computer security practitioners. In this course, students read and analyze the latest published research in this area, and work on projects to address new problems.

Credits

5

Instructor

Alvaro Cardenas

Requirements

Enrollment is restricted to graduate students.

Quarter offered

Spring

CSE 237 Storage Systems

Topics include storage devices, storage architectures, local file systems, high-performance file systems, and next-generation storage devices and architectures; covers issues of performance, reliability, scalability, robustness, and security. (Formerly Computer Science 229.)

Credits

5

Instructor

Ethan Miller, Darrell Long, Carl Maltzahn

Requirements

Enrollment is restricted to graduate students.

CSE 240 Artificial Intelligence

Prepares students for doing research in artificial intelligence. Major topics covered are search and heuristics, knowledge representation, planning, deduction and inference, reinforcement learning, associative pattern retrieval, and adaptive search. Discussion includes current research issues in AI problem-solving methods. Individualized projects. (Formerly Computer Science 240.)

Credits

5

Instructor

The Staff, Marilyn Walker, Narges Norouzi, Leilani Gilpin

Quarter offered

Winter

CSE 241 Knowledge Engineering

Introduction to the acquisition, representation, and application of knowledge in expert systems. Topics include production systems, backward and forward chaining, dependency-directed backtracking, reasoning with uncertainty, certainty factors, fuzzy systems, knowledge representation (rules, frames, and semantic nets), inference engines, and metaknowledge. Discussion includes current research issues in adaptive expert systems. Involves one major project. Undergraduates may enroll in this course if they have completed CSE 140. (Formerly Computer Science 241.)

Credits

5

CSE 242 Machine Learning

Introduction to machine learning algorithms. Covers learning models from fields of statistical decision theory and pattern recognition, artificial intelligence, and theoretical computer science. Topics include classification learning and the Probably Approximately Correct (PAC) learning framework, density estimation and Bayesian learning, EM, regression, and online learning. Provides an introduction to standard learning methods such as neural networks, decision trees, boosting, nearest neighbor, and support vector machines. Requirements include one major experimental learning project or theoretical paper. Students may not receive credit for both this course and CSE 142. (Formerly CMPS 242.)

Credits

5

Instructor

Narges Norouzi, M Warmuth, David Helmbold, Yang Liu

Requirements

Enrollment is restricted to graduate students in the computer science and engineering, computer engineering and computer science master's programs; and students in the following doctoral programs: computer science and engineering, computer engineering, computer science, applied mathematics, applied mathematics and statistics, biomolecular engineering and bioinformatics, electrical and computer engineering, electrical engineering, statistical science, and technology information management. Others may enroll by permission of the instructor.

Quarter offered

Fall

CSE 243 Data Mining

Covers the principles, algorithms, and applications of data mining, including mining sequential data, structured data, stream data, text data, spatiotemporal data, biomedical data, and other forms of complex data. Formerly TIM 245.)

Credits

5

Instructor

Yi Zhang

Requirements

Enrollment is restricted to graduate students.

CSE 244A Foundations of Deep Learning

Provides foundations of deep learning algorithms and principles. Topics include neural networks, deep learning principles, deep learning architectures such as convolutional neural networks and recurrent neural networks, autoencoders, generative adversarial networks, and reinforcement learning. (CSE 244A and CSE 244B formerly offered as one course, CSE 244.)

Credits

5

Instructor

Narges Norouzi

Requirements

Prerequisite(s): CSE 201 and familiarity with basic machine learning concepts. Enrollment is restricted to computer science and engineering graduate students.

CSE 244B Machine Learning for Natural Language Processing

Introduction to machine learning models and algorithms for Natural Language Processing. Covers deep learning approaches and traditional machine learning models. Topics include an introduction to standard neural network learning methods such as feed-forward neural networks, recurrent neural networks, convolutional neural networks, and encoder-decoder models with applications to natural language processing problems such as utterance classification and sequence tagging. Requirements include a midterm, final, programming assignments, and a project. (CSE 244A and CSE 244B formerly offered as one course, CSE 244.)

Credits

5

Instructor

Xin "Eric" Wang

Requirements

Prerequisite: CSE 244A.

Quarter offered

Winter

CSE 245 Computational Models of Discourse and Dialogue

Focuses on classic and current theories and research topics in the computational modeling of discourse and dialogue, with applications to human-computer dialogue interactions; dialogue interaction in computer games and interactive story systems; and processing of human-to-human conversational and dialogue-like language such as e-mails. Topics vary depending on the current research of the instructor(s) and the interests of the students. Students read theoretical and technical papers from journals and conference proceedings and present class lectures. A research project is required.

Credits

5

Cross Listed Courses

LING 245, CMPM 245

Instructor

Marilyn Walker

Requirements

Enrollment is restricted to graduate students. Undergraduates may enroll with permission of instructor.

Repeatable for credit

Yes

CSE 246 Responsible Data Science

Graduate course covering basics of data science literacy and data science ethics. Topics include algorithmic discrimination, fairness, interpretability, privacy, and reproducibility. Key statistical topics such as generalization, causality, curse of dimensionality, and sampling bias are covered.

Credits

5

Instructor

Leilani Gilpin

Requirements

Enrollment is restricted to graduate students.

Quarter offered

Fall

CSE 247 Projects in Artificial Intelligence

Overview of artificial intelligence (AI) and machine learning (ML) and principles, implementation and deployment pipeline, and approaches in solving domain-related problems. Topics covered through direct instruction, invited guest speakers, reviews of state-of-art research papers, and a team project. Students are given an opportunity to work on a quarter-long AI/ML project to be counted toward their master's degree project requirements. Enrollment is by instructor consent. Prior experience in machine learning and deep learning is required. (Formerly AI: Problem Solving and Intelligent Search.)

Credits

5

Instructor

Narges Norouzi

Quarter offered

Spring

CSE 248 Foundations of Data Science

Examines the mathematical and algorithmic foundations of data science including high dimensional data, probabilistic inequalities, dimensionality reduction, correlation detection, streaming algorithms, and clustering. (Formerly Computer Science 218.)

Credits

5

Instructor

The Staff, Yang Liu

Requirements

Prerequisite(s): CSE 201. Enrollment is restricted to graduate students.

Quarter offered

Spring

CSE 249 Large-Scale Web Analytics and Machine Learning

Provides a systematic methodology and corresponding set of methods and analytical tools in stochastic models; reinforcement learning; stochastic (neuro-)dynamic programming; Bayesian graphical models; inference; and social networks used for web analytics and machine learning to achieve business intelligence (BI) and support research and applications in computer science, computer engineering, and electrical engineering, applied mathematics and statistics, business, management, and economics. Includes exposure to Hadoop for large-scale computation. Students should have solid background in probability equivalent to statistics, stochastic, methods, calculus, (and preferably) stochastic processes and optimization, or mathematical maturity and exposure to business intelligence and algorithms. (Formerly TIM 251.)

Credits

5

Instructor

The Staff

Requirements

Prerequisite(s): CSE 107 or STAT 131 or permission of instructor. Enrollment is restricted to graduate students.

CSE 250A Computer Networks

Issues resulting from organizing communication among autonomous computers. Includes network models and switching techniques; medium access control protocols and local area networks; error control and retransmission strategies; routing algorithms and protocols; congestion control mechanisms and end-to-end protocols; application-level protocols; and application of concepts to wireless and wireline networks, with emphasis on the Internet. (Formerly Computer Engineering 252A.)

Credits

5

Instructor

Jose Garcia-Luna-Aceves, Katia Obraczka, Chen Qian

Requirements

Enrollment is restricted to graduate students.

Quarter offered

Fall

CSE 250B Principles of Computer Communication

Focuses on the design and analysis of protocols for computer communication. Topics include: the safety, liveliness, and performance of communication protocols for medium access control (MAC); link control; routing and switching; multicasting; and end-to-end transport. Students cannot receive credit for this course and CSE 152. (Formerly CMPE 252B.)

Credits

5

Instructor

Jose Garcia-Luna-Aceves

Requirements

Prerequisite(s): CSE 250A. Enrollment is restricted to graduate students.

Quarter offered

Winter

CSE 250C High Speed Computer Networks

Fiber-optic technology; fiber-optic link design; network protocol concepts; coding and error control; high-speed local area and metropolitan area networks; gigabit networks; error and congestion control; photonic networks; research topics. (Formerly Computer Engineering 254.)

Credits

5

Instructor

Anujan Varma

Requirements

Prerequisite(s): CSE 250B.

CSE 253 Network Security

Fundamental mechanisms for network security and their application in widely deployed protocols. In-depth treatment of security mechanism at the data-link, network, and transport layers for both wired and wireless networks. Covers mechanisms for privacy and integrity, and methods for intrusion detection. (Formerly CMPE 253.)

Credits

5

Instructor

Anujan Varma, Chen Qian

Requirements

Prerequisite(s): CSE 250A and CSE 201. Enrollment restricted to graduate students.

CSE 257 Wireless and Mobile Networks

An interdisciplinary course on wireless communication and mobile computing. Covers the physical aspects of wireless communication but emphasizes higher protocol layers. Topics include cellular networks, packet radio and ad hoc networks, wireless transport protocols, security, and application-level issues. (Formerly Computer Engineering 257.)

Credits

5

Instructor

Jose Garcia-Luna-Aceves, Katia Obraczka, Chen Qian

Requirements

Prerequisite(s): CSE 250A or permission of instructor.

Quarter offered

Spring

CSE 259 Sensor Networks

Focuses on the networking aspects of sensor networks: protocols at the various layers and how they answer the specific requirements posed by these networks (e.g., data driven, energy efficient, etc.) and their applications (monitoring, tracking, etc.). Explores how physical layer and hardware issues may influence protocol design. (Formerly Computer Engineering 259.)

Credits

5

Instructor

Katia Obraczka, Chen Qian

Requirements

Prerequisite(s): CSE 250A. CSE 257 is recommended as a prerequisite.

CSE 260 Computer Graphics

Introduces current research and techniques of modeling, 2D/3D transformation, matrix composition, shading algorithms, and rendering to obtain computer-generated imagery. Programming assignments and major project required. Students cannot receive credit for both this course and CSE 160. (Formerly Computer Science 260.)

Credits

5

Instructor

Alex Pang, James Davis

Requirements

Enrollment is restricted to graduate students; undergraduates by interview only.

Quarter offered

Winter

CSE 261 Advanced Visualization

Covers advanced topics in visualization, e.g., tensor-field visualization, uncertainty visualization, information visualization. Topics vary with differing offerings of the course. Course includes lectures, exam, research paper reading/presentation, and projects. Final project is expected to be at a sufficiently advanced level for submission to a conference. Students work individually or in pairs. (Formerly Computer Science 261.)

Credits

5

Instructor

Alex Pang

Requirements

Enrollment is restricted to graduate students.

Quarter offered

Fall

CSE 262 Computer Animation

An in-depth treatment of computer animation, including its origins in conventional animation, 2-D animation, inbetweening, motion control, morphing, graphical motion editors, animation languages, motion blur, simulation of articulated body motion, real-time animation, and special-purpose animation hardware. (Formerly Computer Science 262.)

Credits

5

Instructor

Alex Pang, James Davis

Requirements

Enrollment is restricted to graduate students.

CSE 263 Data Driven Discovery and Visualization

Explores high-quality interdisciplinary research using socio-economic data and software available on the Internet, and data curation, computation, and visualization to strengthen scientific inquiry to bear on large-scale societal problems. Applications include inequality, poverty, water, energy, environment, health, education, and democracy. Enrollment restricted to graduate students. Enrollment by instructor consent. (Formerly Computer Science 263.)

Credits

5

Instructor

Suresh Lodha

CSE 264 Computer Vision

Introduces general concepts in computer vision, with an emphasis on geometric 3D reconstruction. Topics include radiometry, photometry, projective geometry, geometric camera model, epipolar geometry, stereo depth reconstruction, corner and edge features, point descriptors and matching, and optical flow. (Formerly Computer Engineering 264.)

Credits

5

Instructor

Roberto Manduchi

Requirements

Enrollment is restricted to graduate students. Undergraduate students who are interested in enrolling should meet with the instructor first.

Quarter offered

Spring

CSE 265 Human-Computer Interaction

Theory and hands-on practice to understand what makes user interfaces usable and accessible to diverse individuals. Covers human senses and memory and their design implications, requirement solicitation, user-centered design and prototyping techniques, and expert and user evaluations. Individual research project. Interdisciplinary course for art, social science and engineering graduate students. Students cannot receive credit for this course and CSE 165.

Credits

5

Cross Listed Courses

DANM 231

Requirements

Enrollment is restricted to graduate students.

CSE 272 Information Retrieval

Course covers major topics of information retrieval including: characteristics and representation of text, several important retrieval and ranking models, content recommendation and classification; distributed or federated search, AI semantics and dialog for information access; human factors and interfaces; and evaluation, and domain-specific applications. A research project is required. (Formerly TIM 260.)

Credits

5

Instructor

Yi Zhang

Requirements

Enrollment is restricted to graduate students. Undergraduates may enroll with permission of instructor.

CSE 276 Optimization Theory and Applications

A first graduate course in optimization with an emphasis on problems arising in management and engineering applications. Objectives are to become experts in problem formulation, comfortable with software for solving these problems, and familiar with analytical methods behind these solver technologies. (Formerly TIM 206.)

Credits

5

Instructor

John Musacchio

Requirements

Prerequisite(s): calculus and linear algebra. Enrollment is restricted to graduate students.

Quarter offered

Fall

CSE 277 Random Process Models in Engineering

A first graduate course in stochastic process modeling and analysis with an emphasis on applications in technology management, information systems design, and engineering. (Formerly TIM 207.)

Credits

5

Instructor

John Musacchio

Requirements

Enrollment is restricted to graduate students. Prerequisite: CSE 107 or other undergraduate probability course recommended.

CSE 279 Data Mining and Business Analytics in Knowledge Services

Provides students with systematic methodology and analytical tools in data and text mining and business analytics. Also provides an integrated perspective and examines use of these methods in the field of knowledge services, such as online marketing, sponsored search, health care, financial services, recommender systems, etc. Includes training in the basic elements of stochastic optimization and other algorithmic approaches, such as stochastic dynamic programming, statistics, constrained optimization, and machine learning with exposure to software tools. These methods enable firms to achieve rapid, effective, and profitable optimization of knowledge-services management. (Formerly TIM 209.)

Credits

5

Requirements

Enrollment is restricted to graduate students. Students are expected to have undergraduate preparation in probability and statistics. Undergraduates may enroll with instructor approval.

CSE 280A Seminar in Computer Science and Engineering

Weekly seminar covering topics of current research in computer science. Enrollment by permission of instructor. (Formerly CMPS 280A, Seminar in Computer Science Research.)

Credits

2

Instructor

The Staff, Marilyn Walker

Repeatable for credit

Yes

CSE 280D Seminar in Database Systems

Covers advanced research topics from the recent literature in database systems and related fields. Involves presentations from UCSC students and faculty, and guest talks from researchers in industry and other academic institutions. Enrollment by permission of instructor. (Formerly 280D.)

Credits

2

Instructor

Peter Alvaro, Faisal Nawab

Repeatable for credit

Yes

Quarter offered

Fall, Winter

CSE 280F Seminar on Software Engineering

Weekly seminar covering topics of current research in software engineering. (Formerly CMPS 280G.)

Credits

2

Instructor

Cormac Flanagan, Luca De Alfaro

Requirements

Prerequisite(s): Enrollment is restricted to graduate students.

Repeatable for credit

Yes

CSE 280G VLSI/CAD Seminar

Weekly seminar on advanced topics in VLSI and computer-aided design (CAD). Students present and discuss modern issues in semiconductor design, fabrication, and CAD. Frequent guest speakers present pertinent results from industry and academia. (Formerly Computer Engineering 280G.)

Credits

2

Instructor

Matthew Guthaus

Repeatable for credit

Yes

Quarter offered

Fall, Winter, Spring

CSE 280H Seminar in Human Computation Systems

Covers advanced topics and current research in the general area of human computation. Material is drawn from several disciplines that involve or deal with human computation, including computer vision, human-computer interaction, databases, and machine learning. The course comprises presentations from faculty, enrolled students, and external visitors. (Formerly CMPS 280H.)

Credits

2

Instructor

James Davis

Requirements

Enrollment is restricted to graduate students.

Repeatable for credit

Yes

CSE 280I Seminar on Information Retrieval and Knowledge Management

Seminar series discussing advanced topics in information retrieval and knowledge management. Current research and literature are presented during each meeting. (Formerly 280I.)

Credits

2

Instructor

The Staff, Ramakrishna Akella

Requirements

Enrollment is restricted to graduate students.

Repeatable for credit

Yes

CSE 280J Seminar on Computer Graphics

Weekly seminar covering topics of current research in computer graphics. Enrollment restricted to graduate students and by permission of instructor. (Formerly CMPS 280J.)

Credits

2

Instructor

James Davis, Alex Pang, Suresh Lodha

Repeatable for credit

Yes

Quarter offered

Fall, Winter, Spring

CSE 280K Sales and Marketing for Technologists and Engineers

Perspective on the theory, plus examples, and tools useful to technologists and engineers for successfully guiding and supporting sales and marketing endeavors and, thereby, ensuring funding, staffing, product appeal, positive customer relationships, and marketplace success. (Formerly TIM 280M.)

Credits

2

CSE 280L Seminar on Logic in Computer Science

Covers advanced research topics from the recent literature in the uses of logic in computer science with particular emphasis on the applications of logic to the representation and the management of data. Involves presentations from UCSC students and faculty, and guest talks from researchers in other academic institutions or industrial research labs. Enrollment is by permission of the instructor and is restricted to graduate students. (Formerly CMPS 280L.)

Credits

2

Instructor

Phokion Kolaitis

Repeatable for credit

Yes

CSE 280M Seminar on Machine Learning

Weekly seminar covering topics of current interest in machine learning. Enrollment is by permission of the instructor. Enrollment is restricted to graduate students. (Formerly CMPS 280M.)

Credits

2

Instructor

Manfred Warmuth, David Helmbold, Lise Getoor, Luca De Alfaro, Narges Norouzi, Yang Liu

Repeatable for credit

Yes

Quarter offered

Fall, Winter, Spring

CSE 280N Seminar on Networks

Weekly seminar series covering topics of current research in networks and networked systems. Current research work and literature in these areas are discussed. Prerequisite(s): permission of instructor. Enrollment is restricted to graduate students. (Formerly Computer Engineering 280N.)

Credits

2

Instructor

Jose Garcia-Luna-Aceves, Katia Obraczka, Chen Qian

Repeatable for credit

Yes

Quarter offered

Fall, Winter, Spring

CSE 280O Seminar in Applied Programming Languages

Covers current research in language-based approaches to security, distributed systems, databases, and formal verification. Students read and present papers from academic journals and conferences.

Credits

2

Instructor

Owen Arden, Lindsey Kuper

Requirements

Enrollment is restricted to graduate students, or by permission of the instructor.

Repeatable for credit

Yes

Quarter offered

Fall, Winter, Spring

CSE 280P Seminar on Parallel Processing

Weekly seminar series covering topics of current research in parallel systems, architectures, and algorithms. Current research work and literature in these areas are discussed. (Formerly Computer Engineering 280P.)

Credits

2

Instructor

Jose Renau Ardevol

Requirements

Enrollment is restricted to graduate students.

Repeatable for credit

Yes

Quarter offered

Fall, Winter, Spring

CSE 280S Seminar on Computer Systems

Weekly seminar series covering topics of current research in computer systems. Enrollment by permission of instructor. (Formerly CMPS 280S AND CMPE 280S.)

Credits

2

Instructor

Ethan Miller, Darrell Long, Carlos Maltzahn, Heiner Litz

Repeatable for credit

Yes

Quarter offered

Fall, Winter, Spring

CSE 280T Seminar on New Technologies

Weekly seminar series in which distinguished speakers from industry, universities, and government discuss current developments in networking and computer technology. The emphasis is on open research questions that may lead to collaborative work with faculty and graduate students. (Formerly Computer Engineering 280T.)

Credits

2

CSE 280V Seminar on Computer Vision

Weekly graduate-level seminar series discussing advanced topics in computer vision and image analysis. Current research and literature presented during each meeting. Enrollment is by permission of the instructor. Enrollment is restricted to graduate students. (Formerly Computer Engineering 280V.)

Credits

2

Instructor

Roberto Manduchi

Repeatable for credit

Yes

Quarter offered

Fall, Winter, Spring

CSE 280X Seminar in Distributed Systems

Covers advanced research topics from the recent literature in distributed systems and related fields. Involves presentations from UCSC students and faculty. Enrollment is restricted to graduate students and by permission of the instructor.

Credits

2

Instructor

Peter Alvaro

Repeatable for credit

Yes

Quarter offered

Fall, Winter, Spring

CSE 280Z Seminar in Natural Language Processing and Dialogue

Covers advanced topics and current research in natural language processing. Focuses on student presentations and seminar participation. Enrollment is restricted to graduate students. Enrollment is by permission of the instructor. (Formerly CMPS 280Z.)

Credits

2

Instructor

Marilyn Walker

Repeatable for credit

Yes

CSE 285 Technical Writing for Engineering Graduates

Writing skills development for graduate engineers. Students produce a major writing project with many subtasks. Exercises includes fellowship application; mathematical and algorithmic description; use of tables and graphs; experiment description; and producing technical web sites, presentations, and posters. Enrollment is restricted to graduate students in biomolecular engineering, computer science and engineering, computer science, and electrical and computer engineering and by permission of the instructor. (Formerly CMPE 285.)

Credits

5

Instructor

Tracy Larrabee

CSE 290A Topics in Algorithms and Complexity Theory: Probabilistic Algorithms and Average Case Analysis

Graduate seminar in algorithms and complexity theory on topics from recently published research journal articles and conference proceedings. Topics vary from year to year depending on the current research of the instructor(s) and interests of students. Students read technical papers from relevant journals and conference proceedings and present class lectures. Guest lectures may supplement the student presentations. A research project and/or paper may be required. (Formerly Computer Science 290A.)

Credits

5

Instructor

The Staff, Seshadhri Comandur, Evangelos Chatziafratis

Requirements

Enrollment is restricted to graduate students.

Repeatable for credit

Yes

Quarter offered

Fall

CSE 290C Advanced Topics in Machine Learning

In-depth study of current research topics in machine learning. Topics vary from year to year but include multi-class learning with boosting and SUM algorithms, belief nets, independent component analysis, MCMC sampling, and advanced clustering methods. Students read and present research papers; theoretical homework in addition to a research project. (Formerly Computer Science 290C.)

Credits

5

Instructor

David Helmbold, Lise Getoor, Xin "Eric" Wang, Cihang Xie

Requirements

Prerequisite(s): CSE 242.

Repeatable for credit

Yes

Quarter offered

Winter, Spring

CSE 290D Neural Computation

An introduction to the design and analysis of neural network algorithms. Concentrates on large artificial neural networks and their applications in pattern recognition, signal processing, and forecasting and control. Topics include Hopfield and Boltzmann machines, perceptions, multilayer feed forward nets, and multilayer recurrent networks. (Formerly Computer Science 290D.)

Credits

5

Instructor

Manfred Warmuth, Yuyin Zhou

Requirements

Enrollment is restricted to graduate students.

Repeatable for credit

Yes

Quarter offered

Fall

CSE 290E Object-Oriented Programming Methodology

Object-oriented programming methodology is the application of abstract-data types and polymorphism to coding solution. Topics geared to beginning thesis research in this field. (Formerly Computer Science 290E.)

Credits

5

Requirements

Prerequisite(s): CSE 201 and CSE 210A. Enrollment is restricted to graduate students.

Repeatable for credit

Yes

CSE 290F Applications of Combinatorics

Combinatorial mathematics, including summation methods, working with binomial coefficients, combinatorial sequences (Fibonacci, Stirling, Eulerian, Harmonic, Bernoulli numbers), generating functions and their uses, Bernoulli processes, and other topics in discrete probability. Oriented toward problem solving, applications mainly to computer science, but also physics. (Formerly Computer Science 290F.)

Credits

5

Requirements

Prerequisite(s): CSE 16 and AM 10. Enrollment is restricted to graduate students and upper-division undergraduates.

Repeatable for credit

Yes

CSE 290G Topics in Software Engineering

Research seminar on current topics in software engineering. Topics vary from year to year depending on the current research of the instructor(s) and interests of students. Students read technical papers from relevant journals and conference proceedings. Synthesis and understanding of materials is demonstrated by a required research project. (Formerly Computer Science 290G.)

Credits

5

Instructor

Jim Whitehead, Cormac Flanagan, Luca De Alfaro

Requirements

Prerequisite(s): CSE 212A recommended. Enrollment is restricted to graduate students; undergraduates may enroll with permission of instructor.

Repeatable for credit

Yes

CSE 290H Topics in Database Systems

Focuses on current research topics in database systems. Different offerings cover different topics depending on current research of instructor(s) and the interests of students. Students read technical papers from journals and conference proceedings and present class lectures. A research project is required. (Formerly Computer Science 290H.)

Credits

5

Instructor

Phokion Kolaitis

Requirements

Prerequisite(s): CSE 180 (or equivalent) or CSE 214 or consent of instructor. Enrollment is restricted to graduate students.

Repeatable for credit

Yes

CSE 290J Advanced Topics in Computer Graphics and Visual Computing

A graduate seminar in computer graphics on topics from recently published research journal articles and conference proceedings. Topics vary from year to year depending on interests of students. Primary areas of interest are likely to be scientific visualization, modeling, rendering, scattered data techniques, wavelets, and color and vision models. Students read technical papers and present class lectures. Guest lecturers supplement the student presentations. A research project is required. (Formerly Computer Science 290B.)

Credits

5

Instructor

Alex Pang, Suresh Lodha, James Davis

Repeatable for credit

Yes

CSE 290K Advanced Topics in Natural Language Processing

Teaches participants about current methods and directions in active areas of Natural Language Processing research and applications. Students perform independent research and hone skills with state-of-the-art NLP tools and techniques.

Credits

5

Instructor

Snigdha Chaturvedi

Requirements

Enrollment is restricted to computer science and engineering, computer engineering, computer science, and technology management graduate students.

Repeatable for credit

Yes

CSE 290L Topics in Crowdsourcing and Collaboration

Explores the foundations of crowdsourcing and computer-mediated collaboration. Covers the algorithmic and statistical foundations of crowdsourcing, introducing and analyzing algorithms, and experimenting with concrete systems. Also, provides an introduction to computational systems for mediating user interaction and collaboration. (Formerly Computer Science 290L.)

Credits

5

Instructor

Luca De Alfaro

Requirements

Enrollment is restricted to graduate students.

CSE 290M Topics in Parallel Computation

Investigates selected topics in applied parallel computation. Topics may include numerical methods, artificial intelligence and machine learning algorithms, graphics and image processing, systolic algorithms, and the interplay between hardware and algorithms. Students are encouraged to investigate and discuss the parallelization of their own research. (Formerly Computer Engineering 290M.)

Credits

5

Requirements

Enrollment is restricted to graduate students.

CSE 290N Topics in Computer Performance

Selected topics of current interest in the area of computer system performance. Subjects may include aspects of large systems, performability, computer networks, storage subsystems, and nontraditional approaches and are subject to periodic revision. (Formerly Computer Engineering 290N.)

Credits

5

Instructor

Chen Qian

Requirements

Enrollment is restricted to graduate students.

CSE 290O Algorithmic Foundations of Convex Optimization

Focuses on some of the foundational aspects of convex and its relationship to modern machine learning. Discusses positive results--how can you solve convex optimization problems--and negative ones with statements like This family of problems is too hard to be solved in reasonable time. Course is divided into three parts, each exploring a different aspect of convex optimization: 1) algorithmic frameworks; 2) Oracle complexities; 3) the power of randomness. Through this course students are exposed to general concepts of convex geometry, learning theory, and rigorous proofs. (formerly CMPS 290O.)

Credits

5

Instructor

Abhradeep Guha Thakurta

Requirements

Prerequisite(s): CSE 201 and CSE 242. Enrollment is restricted to computer engineering and computer science graduate students.

CSE 290P Data Privacy Via Machine Learning, and Back

Helps students achieve both expository knowledge and expertise in the field of data privacy. Focuses on fundamental techniques used in designing privacy-preserving, machine-learning systems in both academia and in the industry. Students are expected to read and understand recent research papers in the topic. (Formerly Computer Science 290P.)

Credits

5

Instructor

Abhradeep Guha Thakurta

Requirements

Prerequisite(s): CSE 201 and CSE 242 or equivalent. Enrollment is restricted to graduate students.

Repeatable for credit

Yes

CSE 290Q Topics in Programming Languages

Current research topics on computer programming languages. Topics vary year to year. Students read papers from current conferences and journals, and present class lectures. A research project is required. (Formerly Computer Science 290Q.)

Credits

5

Instructor

Cormac Flanagan, Lindsey Kuper

Requirements

Prerequisite(s): CSE 210A. Enrollment is restricted to graduate students.

Repeatable for credit

Yes

CSE 290S Advanced Topics in Computer Systems

Focuses on current research topics in computer systems. Topics vary from year to year depending on the current research of the instructor(s) and the interests of the students. Students read technical papers from current journals and conference proceedings, and present class lectures. A research project is required. (Formerly Computer Science 290S.)

Credits

5

Instructor

The Staff, Ethan Miller, Darrell Long, Carl Maltzahn, Peter Alvaro, Faisal Nawab, Lindsey Kuper

Requirements

Prerequisite(s): CSE 231 recommended. Enrollment is restricted to graduate students; qualified undergraduates may enroll with instructor's consent.

Repeatable for credit

Yes

Quarter offered

Winter

CSE 290T Topics in Computing for Society

Current research topics on computer technology that is intentionally targeted to benefiting society. Topics vary year to year. Students read papers from current conferences and journals, and present class lectures. A research project is required. (Formerly Computer Science 290T.)

Credits

5

Instructor

James Davis

Requirements

Enrollment is restricted to graduate students.

Repeatable for credit

Yes

CSE 290X Cryptography and Computer Security

Research seminar on encryption and related technologies. Topics include theory of codes, random sequences and generators, public key cryptosystems, private key cyphers, key exchange protocols, quantum computing and cryptography. Major project required. Prerequisite: interview with instructor. (Formerly Computer Science 290X.)

Credits

5

Instructor

Ioannis Demertzis

Repeatable for credit

Yes

Quarter offered

Winter

CSE 293 Advanced Topics in Computer Science & Engineering

A graduate seminar on a research topic in computer engineering which varies according to instructor. Possible topics include, but are not limited to, communication networks, data compression, special-purpose architectures, computer arithmetic, software reliability and reusability, systolic arrays. (Formerly Computer Engineering 293.)

Credits

5

Instructor

The Staff, Ethan Miller, Matthew Guthaus, Scott Beamer

Quarter offered

Spring

CSE 296 Masters Project

Independent completion of a masters project under faculty supervision. Students submit petition to sponsoring agency.

Credits

2

Repeatable for credit

Yes

Quarter offered

Fall, Winter, Spring

CSE 297A Individual Study or Research

Independent study or research under faculty supervision. Although this course may be repeated for credit, not every degree program will accept a repeated course towards degree requirements. Students submit petition to sponsoring agency.

Credits

5

Repeatable for credit

Yes

Quarter offered

Fall

CSE 297B Individual Study or Research

Independent study or research under faculty supervision. Although this course may be repeated for credit, not every degree program will accept a repeated course towards degree requirements. Students submit petition to sponsoring agency.

Credits

10

Repeatable for credit

Yes

Quarter offered

Winter

CSE 297C Individual Study or Research

Independent study or research under faculty supervision. Although this course may be repeated for credit, not every degree program will accept a repeated course towards degree requirements. Students submit petition to sponsoring agency.

Credits

15

Repeatable for credit

Yes

Quarter offered

Spring

CSE 297F Independent Study or Research

Independent study or research under faculty supervision. Although this course may be repeated for credit, not every degree program will accept a repeated course toward degree requirements.

Credits

2

Repeatable for credit

Yes

Quarter offered

Fall, Winter, Spring

CSE 299A Thesis Research

Thesis research conducted under faculty supervision. Although the course may be repeated for credit, not every degree program will accept a repeated course towards degree requirements. Students submit petition to sponsoring agency.

Credits

5

Repeatable for credit

Yes

CSE 299B Thesis Research

Thesis research conducted under faculty supervision. Although the course may be repeated for credit, not every degree program will accept a repeated course towards degree requirements. Students submit petition to sponsoring agency.

Credits

10

Repeatable for credit

Yes

CSE 299C Thesis Research

Thesis research conducted under faculty supervision. Although the course may be repeated for credit, not every degree program will accept a repeated course towards degree requirements. Students submit petition to sponsoring agency.

Credits

15

Repeatable for credit

Yes

CSE 299F Thesis Research

Independent study or research under faculty supervision. Enrollment is restricted to graduate students. Recommended for part-time students. Students submit petition to sponsoring agency.

Credits

2

Repeatable for credit

Yes

Quarter offered

Fall, Winter, Spring