Department of Computer Science & Engineering > Graduate Programs > Complete Course List

Register for these courses on WebSTAC |

Dept | # | Course Name :
[Course Description On]
| Credits |

CSE | 500 | Independent Study | 3 |

CSE | 501N | Programming Concepts and Practice | 3 |

This introductory course assumes no prior programming background and is intended for graduate students who desire significant programming and program design experience within a modern programming paradigm. Exploration of the enterprise of software design, creation, maintenance, and reuse. Abstraction as a vehicle for reducing the complexity of problems. Concepts of object-oriented programming. Internet-related programming including threads. Design and implementation of nontrivial algorithms in selected application areas. Prerequisites none. Credit 3 units. No credit toward CSE graduate degree. | |||

CSE | 502N | Fundamentals of Computer Science | 3 |

This course, intended for graduate students without a computer science background, covers the core components seen in a computer science undergraduate curriculum on which our graduate level courses rely. Topics include fundamental algorithms, data structures, proof techniques, computational models, machine organization, and software design and implementation. Prerequisites: graduate standing; CSE 501N or prior programming experience; some mathematical sophistication highly desirable. No credit towards CSE graduate degree. | |||

CSE | 503N | Rapid Prototype Development and Creative Programming | 3 |

This course uses web development as a vehicle for developing skills in rapid prototyping. Students acquire the skills to build a Linux web server in Apache, to write a web site from scratch in PHP, to run an SQL database, to perform scripting in Python, to employ the Django web framework, and to develop modern web applications in client-side and server-side JavaScript. The course culminates with a creative project in which students are able to synthesize the course material into a project of their own interest. The course implements an interactive studio format: after a formal presentation of a topic, students develop a related project under the supervision of the instructor. Prerequisite: CSE 131 or an equivalent programming background. | |||

CSE | 503S | Rapid Prototype Development and Creative Programming | 3 |

This course uses web development as a vehicle for developing skills in rapid prototyping. Students acquire the skills to build a Linux web server in Apache, to write a web site from scratch in PHP, to run an SQL database, to perform scripting in Python, to employ the Django web framework, and to develop modern web applications in client-side and server-side JavaScript. The course culminates with a creative project in which students are able to synthesize the course material into a project of their own interest. The course implements an interactive studio format: after a formal presentation of a topic, students develop a related project under the supervision of the instructor. Prerequisite: CSE 131 or an equivalent programming background. | |||

CSE | 504N | Object-Oriented Software Development Laboratory | 3 |

Intensive focus on practical aspects of designing, implementing and debugging software, using object-oriented, procedural, and generic programming techniques. The course emphasizes familiarity and proficiency with a wide range of C++ language features through hands-on practice completing studio exercises and lab assignments, supplemented with readings and summary presentations for each session. Prerequisites: CSE 247 | |||

CSE | 506M | Principle and Methods of Micro- and Nanofabrication | 3 |

An introduction to the fundamentals of micro- and nano-fabrication processes with emphasis on cleanroom practices. The physical principles of optical lithography, electron-beam lithography, alternative nanolithography techniques, and thin film deposition and metrology methods. The physical and chemical processes of wet and dry etching. Cleanroom concepts and safety protocols. Sequential micro-fabrication processes involved in the manufacture of microelectronic and photonic devices. Imaging and characterization of micro- and nano-structures. Examples of practical existing and emerging micro- and nano-devices. Prereqs: Chem 111A or consent from instructor. | |||

CSE | 507A | Technology Entrepreneurship | 3 |

This is a course for students who plan to be, or work with, entrepreneurs. An entrepreneurial mindset is needed to create or grow economically viable enterprises, be they new companies, new groups within companies, or new University laboratories. This course aims to cultivate an entrepreneurial perspective with particular emphasis on information technology (IT) - related activities. The course is jointly offered for business and CSE students, allowing for acculturation between these disciplines. In addition to an introductory treatment of business and technology fundamentals, course topics will include: business ethics, opportunity assessment, team formation, financing, intellectual property, and University technology transfer. The course will feature significant participant and guest instruction from experienced practitioners. | |||

CSE | 509A | Digital Image Processing | 3 |

Formerly CS 554A. An introduction to the expanding fields of image processing and computer vision. Brief overview of the theoretical foundation of imaging, psychophysical properties of human vision, photometry and colorimetry. Image sampling, registration, quantization, transforms, enhancement, and compression. Segmentation, feature extraction and characterization, morphology. Feature pattern recognition and analysis. This offering of the course will be oriented towards extracting information from images (e.g. remote sensing, computer vision). Numerous images will be available and used for examples and exercises. There will be emphasis on design and analysis of algorithms. Prerequisites: CSE 240 (discrete math), CSE 241 (data structures), ESE 317 (engineering math); or equivalent courses. | |||

CSE | 511A | Introduction to Artificial Intelligence | 3 |

The discipline of artificial intelligence (AI) is concerned with building systems that think and act like humans or rationally on some absolute scale. This course is an introduction to the field, with special emphasis on sound modern methods. The topics include knowledge representation, problem solving via search, game playing, logical and probabilistic reasoning, planning, dynamic programming, and reinforcement learning. Programming exercises concretize the key methods. The course targets graduate students and advanced undergraduates. Evaluation is based on written and programming assignments, a midterm exam and a final exam. Prerequisites: CSE 347, ESE 326, Math 233 | |||

CSE | 513T | Theory of Artificial Intelligence and Machine Learning | 3 |

Mathematical foundations for Artificial Intelligence and Machine Learning. An introduction to the PAC-Semantics ("Probably Approximately Correct") as a common semantics for knowledge obtained from learning and declarative sources, and the computational problems underlying the acquisition and processing of such knowledge. We emphasize the design and analysis of efficient algorithms for these problems, and examine for which representations these problems are known or believed to be tractable. Prerequisites: CSE 347 | |||

CSE | 514A | Data Mining | 3 |

Many scientific computing problems are, by nature, statistical. Such problems appear in many domains, such as text analysis, data mining on the web, computational biology and various medical applications. Another source of the statistical nature of such problems is the lack of sufficient information of the problem domains as well as the specific problems at hand. What is available for a typical application is usually a set of data from observation or experiments. The main objective of this course is to gain experience of dealing with statistical data analysis problems by studying various statistical methods that can be used to make sense out of data, by reading and reviewing literature as well as by working on a specific statistical problem in a selected application domain. Prerequisites: CSE 241 and ESE 326 (or Math 320) or their equivalent, or permission of the instructor. | |||

CSE | 515T | BAYESIAN METHODS IN MACHINE LEARNING | 3 |

This course will cover machine learning from a Bayesian probabilistic perspective. Bayesian probability allows us to model and reason about all types of uncertainty. The result is a powerful, consistent framework for approaching many problems that arise in machine learning, including parameter estimation, model comparison, and decision making. We will begin with a high-level introduction to Bayesian inference, then proceed to cover more-advanced topics. These will include inference techniques (exact, MAP, sampling methods, the Laplace approximation, etc.), Bayesian decision theory, Bayesian model comparison, Bayesian nonparametrics, and Bayesian optimization. Prerequisites: a familiarity with machine learning (511A, 417A/517A), probability e.g., ESE 326, and mathematical maturity. | |||

CSE | 516A | Multi-Agent Systems | 3 |

This course introduces the fundamental techniques and concepts needed to study multi-agent systems, in which multiple autonomous entities with different information sets and goals interact. We will study algorithmic, mathematical, and game-theoretic foundations, and how these foundations can help us understand and design systems ranging from robot teams to online markets to social computing platforms. Topics covered may include game theory, distributed optimization, multi-agent learning and decision-making, preference elicitation and aggregation, mechanism design, and incentives in social computing systems. Prerequisites: CSE 240 and 241 and ESE 326 (or Math 320) or equivalents, or permission of instructor. Some prior exposure to artificial intelligence, machine learning, game theory, and microeconomics may be helpful, but is not required. | |||

CSE | 517A | Machine Learning | 3 |

This course assumes a basic understanding of machine learning and covers advanced topics at the frontier of the field in-depth. Topics to be covered include kernel methods (support vector machines, Gaussian processes), neural networks (deep learning), and unsupervised learning. Depending on developments in the field, the course will also cover some advanced topics, which may include learning from structured data, active learning, and practical machine learning (feature selection, dimensionality reduction). Prerequisites: CSE 247, CSE 417T, ESE 326, Math 233 and Math 309 | |||

CSE | 519T | Advanced Machine Learning | 3 |

This course provides a close look at advanced machine learning algorithms -- their theoretical guarantees (computational learning theory) and tricks to make them work in practice. In addition, this course focuses on more specialized learning settings, including unsupervised learning, semi-supervised learning, domain adaptation, multi-task learning, structured prediction, metric learning and learning of data representations. Learning approaches may include graphical models, non-parametric Bayesian statistics, and technical topics such as sampling, approximate inference and non-linear function optimization. Mathematical maturity and general familiarity of machine learning is required. Prerequisites: CSE 517A or 511A or 7100 and approval by instructor | |||

CSE | 520S | Real-Time Systems | 3 |

This course covers software technologies for real-time systems and networking such as distributed multimedia, telecommunication management, automobiles, avionics, and smart manufacturing. Topics include real-time scheduling, distributed embedded middleware, adaptive performance management and real-time wireless sensor networks. Prior knowledge on embedded and real-time systems is not required. Prerequisites: CSE 422S or equivalent. | |||

CSE | 521S | Wireless Sensor Networks | 3 |

Dense collections of smart sensors networked to form self-configuring pervasive computing systems provide a basis for a new computing paradigm that challenges many classical approaches to distributed computing. Naming, wireless networking protocols, data management, and approaches to dependability, real-time, security, and middleware services all fundamentally change when confronted with this new environment. Embedded sensor networks and pervasive computing are among the most exciting research areas with many open research questions. This class will study a large number of research papers that deal with various aspects of wireless sensor networks. Students will perform a project on a real wireless sensor network comprised of tiny devices each consisted of sensors, a radio transceiver, and a microcontroller. Prerequisites: CSE 422S. | |||

CSE | 522S | Advanced Operating Systems | 3 |

This course explores core OS abstractions, mechanisms and policies and how they impact support for general purpose, embedded and real-time operating environments. How to evaluate, modify, and optimize the use of kernel-level resources is covered hands-on and in detail, including CPU and I/O scheduling, memory management, and interprocess communication. Prerequisites: CSE 422S | |||

CSE | 523S | Systems Security | 3 |

This course examines the intersection between computer design and information security. While performance and efficiency in digital systems have improved markedly in recent decades, computer security has worsened overall in this time frame. To understand why, we will explore the role that design choices play in the security characteristics of modern computer and network systems. Students will use and write software to illustrate mastery of the material. Projects will include identifying security vulnerabilities, exploiting vulnerabilities, and detecting and defending against exploits. Prerequisites: CSE 361S or permission of instructor. | |||

CSE | 530A | Database Management Systems | 3 |

A study of data models and the database management systems that support these data models. The design theory for databases is developed and various tools are utilized to apply the theory. General query languages are studied and techniques for query optimization are investigated. Integrity and security requirements are studied in the context of concurrent operations on a database, where the database may be distributed over one or more locations. The unique requirements for engineering design databases, image databases, and long transaction systems are analyzed. Prerequisite: CSE 241. | |||

CSE | 530S | Database Management Systems | 3 |

A study of data models and the database management systems that support these data models. The design theory for databases is developed and various tools are utilized to apply the theory. General query languages are studied and techniques for query optimization are investigated. Integrity and security requirements are studied in the context of concurrent operations on a database, where the database may be distributed over one or more locations. The unique requirements for engineering design databases, image databases, and long transaction systems are analyzed. Prerequisite: CSE 247. | |||

CSE | 532S | Advanced Multiparadigm Software Development | 3 |

Intensive focus on advanced design and implementation of distributed object computing (DOC) software. Topics covered include reuse of design patterns and software architectures, and developing representative applications using object-oriented and generic frameworks in C++. Design and implementation based on design patterns and frameworks are central themes to enable the construction of reusable, extensible, efficient, and maintainable DOC software. Prerequisites: CSE 332S or graduate standing and familiarity with C++. | |||

CSE | 538S | Modeling and Performance Evaluation of Interconnected Computer Systems | 3 |

The increasing pervasiveness of networks, from chip-level to Internet-scale, means that modern computer systems are designed and built from interconnected components. Understanding the design trade-offs this involves and predicting performance under different operating conditions calls for rapidly and effectively evaluating the performance of multiple design combinations. The course reviews a number of analytical tools of relevance in this context (from queueing theory, to algorithms, to optimization, and possibly game theory if time permits). It explores their use in modeling resources sharing in interconnected systems, and estimating various performance metrics of relevance. Pre-requisite: Basic knowledge of probability theory. | |||

CSE | 538T | Modeling and Performance Evaluation of Interconnected Computer Systems | 3 |

The increasing pervasiveness of networks, from chip-level to Internet-scale, means that modern computer systems are designed and built from interconnected components. Understanding the design trade-offs this involves and predicting performance under different operating conditions calls for rapidly and effectively evaluating the performance of multiple design combinations. The course reviews a number of analytical tools of relevance in this context (from queueing theory, to algorithms, to optimization, and possibly game theory if time permits). It explores their use in modeling resources sharing in interconnected systems, and estimating various performance metrics of relevance. Pre-requisite: Basic knowledge of probability theory. | |||

CSE | 539S | Concepts in Multicore Computing | 3 |

Nowadays, the vast majority of computer systems are built using multicore processor chips. This fundamental shift in hardware design impacts all areas of computer science --- one must write parallel programs in order to unlock the computational power provided by modern hardware.The goal of this course is to study concepts in multicore computing. We will examine the implications of the multicore hardware design, discuss challenges in writing high performance software, and study emerging technologies relevant to developing software for multicore systems. Topics include memory hierarchy, cache coherence protocol, memory models, scheduling, high-level parallel language models, concurrent programming (synchronization and concurrent data structures), algorithms for debugging parallel software, and performance analysis. Prerequisites: CSE 241 and either CSE 332S or CSE 361S and being comfortable with writing efficient programs in C/C++. | |||

CSE | 541T | Advanced Algorithms | 3 |

Provides a broad coverage of fundamental algorithm design techniques with the focus on developing efficient algorithms for solving combinatorial and optimization problems. The topics covered include: greedy algorithms, dynamic programming, linear programming, NP-completeness, approximation algorithms, lower bound techniques, and on-line algorithms. Throughout this course there is an emphasis on correctness proofs and the ability to apply the techniques taught to design efficient algorithms for problems from a wide variety of application areas. Prerequisites: CSE 247 and 347. | |||

CSE | 543T | Algorithms for Nonlinear Optimization | 3 |

The course will provide an in-depth coverage of modern algorithms for the numerical solution of multidimensional optimization problems. Unconstrained optimization techniques including Gradient methods, Newton's methods, Quasi-Newton methods, and conjugate methods will be introduced. The emphasis is on constrained optimization techniques: Lagrange theory, Lagrangian methods, penalty methods, sequential quadratic programming, primal-dual methods, duality theory, nondifferentiable dual methods, and decomposition methods. The course will also discuss applications in engineering systems and use of state-of-the-art computer codes. Special topics may include large-scale systems, parallel optimization, and convex optimization. Prerequisites: Calculus I and Math 309 | |||

CSE | 546T | Computational Geometry | 3 |

Computational geometry is the algorithmic study of problems that involve geometric shapes such as points, lines, and polygons. Such problems appear in computer graphics, vision, robotics, animation, visualization, molecular biology, and geographic information systems. This course covers data structures that are unique to geometric computing, such as convex hull, Voronoi diagram, Delaunay triangulation, arrangement, range searching, KD-trees, and segment trees. Also covered are algorithms for polygon triangulation, shortest paths, the post office problem, and the art gallery problem. Prerequisite: CSE 247. | |||

CSE | 547T | Introduction to Formal Languages and Automata | 3 |

An introduction to the theory of computation, with emphasis on the relationship between formal models of computation and the computational problems solvable by those models. Specifically, this course covers finite automata and regular languages; Turing machines and computability; and basic measures of computational complexity and the corresponding complexity classes. Prerequisite: CSE 240 | |||

CSE | 549T | Theory of Parallel Systems | 3 |

The course will cover parallel programming models, languages and algorithms. We will cover both classic and recent results in parallel computing. The list of topics includes scheduling theory, parallel algorithms (in various models such as PRAM, log P, etc.), cache-coherence protocols and external memory algorithms. The focus will be on design and performance analysis of algorithms. | |||

CSE | 550S | Mobile Robotics | 3 |

An introduction to the design and implementation of intelligent mobile robot systems. This course will cover the fundamental elements of mobile robot systems from a computational standpoint. Issues such as software control architectures, sensor interpretation, map building and navigation will be covered, drawing from current research in the field. Students will also design and build a small mobile robot and program it to perform simple tasks in real-world environments. Prerequisites: CSE 241 and either ESE 326 or Math 320. | |||

CSE | 554A | Geometric Computing for Biomedicine | 3 |

With the advance of imaging technologies deployed in medicine, engineering and science, there is a rapidly increasing amount of spatial data sets (images, volumes, point clouds, etc.) that need to be processed, visualized, and analyzed. This course will focus on a number of geometry-related computing problems that are essential in the knowledge discovery process in various spatial-data-driven biomedical applications. These problems include visualization, segmentation, mesh construction and processing, shape representation and analysis. The course consists of lectures that cover theories and algorithms, and a series of hands-on programming projects using real-world data collected by various imaging techniques (CT, MRI, electron cryo-microscopy, etc.). Prerequisite: CSE332 or approval by instructor. Suggested: CSE452A | |||

CSE | 555A | Computational Photography | 3 |

Computational Photography describes the convergence of computer graphics, computer vision, and the Internet with photography. Its goal is to overcome the limitations of traditional photography using computational techniques to enhance the way we capture, manipulate, and interact with visual media. In this course we will study many interesting, recent image based algorithms and implement them to the degree that is possible. Topics may include: cameras and image formation, human visual perception, image processing (filtering, pyramids), image blending and compositing, image retargeting, texture synthesis and transfer, image completion / inpainting, super-resolution, deblurring, denoising, image based lighting and rendering, high dynamic range, depth and defocus, flash / no flash photography, coded aperture photography, single / multi view reconstruction, photo quality assessment, non photorealistic rendering, modeling and synthesis using Internet data, and others. Pre-requisites: CSE 452A, CSE 554A, or CSE 559A. Permission of instructor required to enroll. | |||

CSE | 556A | Human-Computer Interaction Methods | 3 |

An introduction to user centered design processes. The course covers a variety of HCI techniques for use at different stages in the software development cycle, including techniques that can be used with and without users. Students will gain experience using these techniques through in-class exercises and then apply them in greater depth through a semester long interface development project. Students who enroll in this course are expected to be comfortable with building user interfaces in at least one framework and be willing to learn whatever framework is most appropriate for their project. Over the course of the semester, students will be expected to present their interface evaluation results through written reports and in class presentations. Prerequisites:3xxS or 4xxS | |||

CSE | 559A | Computer Vision | 3 |

Computer vision is the process of automatically extracting information from images and video. This course covers imaging geometry (camera calibration, stereo, and panoramic image stitching), and algorithms for video surveillance (motion detection and tracking), segmentation and object recognition. Final projects for the course will explore challenges in analysis of real-world data. Students with non-standard backgrounds (such as video art, or the use of imaging in physics and biology) are encouraged to contact the instructor. Projects in the course will utilize the C++ programming language. Prerequisites: CSE 241 and linear algebra. | |||

CSE | 560M | Computer Systems Architecture I | 3 |

An exploration of the central issues in computer architecture: instruction set design, addressing and register set design, control unit design, microprogramming, memory hierarchies (cache and main memories, mass storage, virtual memory), pipelining, bus organization, RISC (Reduced Instruction Set Computers), and CISC (Complex Instruction Set Computers). Architecture modeling and evaluation using VHDL and/or instruction set simulation. Prerequisites: CSE 361S and CSE 260M. | |||

CSE | 561M | Computer Systems Architecture II | 3 |

Advanced techniques in computer system design. Selected topics from: processor design (multithreading, VLIW, data flow, chip-multiprocessors, application specific processors, vector units, large MIMD machines), memory systems (topics in locality, prefetching, reconfigurable and special-purpose memories), system specification and validation, and interconnection networks. Prerequisites: CSE 560M or permission of instructor. | |||

CSE | 562M | Analog Integrated Circuits | 3 |

This course will focus on fundamental and advanced topics in analog and mixed-signal VLSI techniques. The first part of the course will cover graduate level materials in the area of analog circuit synthesis and analysis. The second part of the course will cover applications of the fundamental techniques for designing analog signal processors and data converters. Several practical aspects of mixed-signal design, simulation and testing will be covered in this course. This will be project oriented course and it is expected that the students apply the concepts learned in the course to design, simulate and explore different circuit topologies. Prerequisite: CSE 260 and ESE 232 | |||

CSE | 563M | Digital Integrated Circuit Design and Architecture | 3 |

This is a project oriented course on digital VLSI design. The course material will focus on bottom up design of digital integrated circuits, starting from CMOS transistors, CMOS inverters, combinational circuits and sequential logic designs. Important design aspect of digital integrated circuits such as propagation delay, noise margins and power dissipation will be covered in the class, as well as design challenges in submicron technology will be addressed. The students will design combinational and sequential circuits at various levels of abstraction using state-of-the-art CAD environment provided by Cadence Design Systems. The goal of the class is to design a microprocessor in 0.5micron technology that can be fabricated by a semiconductor foundry. Prerequisites: CSE260 and ESE 232 | |||

CSE | 566S | High Performance Computer Systems | 3 |

Many applications make substantial performance demands upon the computer systems upon which those applications are deployed. In this context, performance is frequently multidimensional, including resource efficiency, power, execution speed (which can be quantified via elapsed run time, data throughput, or latency), etc. Modern computing platforms exploit parallelism and architectural diversity (e.g., co-processors such as graphics engines and/or reconfigurable logic) to achieve the desired performance goals. This course addresses the practical aspects of achieving high performance on modern computing platforms. This includes questions ranging from how the computing platform is designed to how are applications and algorithms expressed to exploit the platform's properties. Particular attention is given to the role of application development tools. Prerequisite: graduate standing or permission of instructor. | |||

CSE | 567M | Computer Systems Analysis | 3 |

Comparing systems using measurement, simulation, and queueing models. Common mistakes and how to avoid them, selection of techniques and metrics, art of data presentation, summarizing measured data, comparing systems using sample data, introduction to experimental design, fractional factorial designs, introduction to simulation, common mistakes in simulations, analysis of simulation results, random number generation, random variate generation, commonly used distributions, introduction to queueing theory, single queues, and queueing networks. The techniques of the course can be used to analyze and compare any type of systems including algorithms, protocols, network, or database systems. Students do a project involving application of these techniques to a problem of their interest. Prerequisites: CSE 131 and CSE 260M. | |||

CSE | 568M | Imaging Sensors | 3 |

This course will cover topics on digital imaging sensors including basic operations of silicon photodetectors; CCD and CMOS passive and active sensor operation; temporal and spatial noise in CMOS sensors; spatial resolution and MTF; SNR and dynamic range; high dynamic range architectures and application specific imaging sensors such as polarization imaging and fluorescent imaging sensors. | |||

CSE | 570S | Recent Advances in Networking | 3 |

This course will cover the latest advances in networking. The topics include Networking Trends, Data Center Network Topologies, Data Center Ethernet, Server Virtualization, Storage Virtualization, Carrier Ethernet, Application Delivery Networking, Virtual Bridging, Big Data, Networking Issues for Big Data, LAN Extension and Virtualization using Layer 3 Protocols, Multi-Tenant Isolation and Network Virtualization in Cloud Data Centers, OpenFlow, OpenFlow Controllers and Tools, Software Defined Networking (SDN), Network Function Virtualization (NFV), Internet of Things (IoT), Networking Protocols for IoT. Pre-requisite: CSE 473 or equivalent. | |||

CSE | 571S | Network Security | 3 |

A comprehensive treatment of network security. Topics include virus, root kits, malware, TCP/IP security attacks, operating systems security, secret key cryptography, modes of operation, hashes and message digests, public key algorithms, authentication systems, Kerberos, Public Key Infrastructures (PKI), IPsec, Internet Key Exchange (IKE), Secure Socket Layer (SSL), Transport Layer Security (TLS), e-mail security, virtual private networks, authentication, authorization, accounting (AAA), WiFi security, Domain Name System security (DNSSEC), intrusion detection systems. Prerequisite: CSE 473S. | |||

CSE | 573S | Protocols for Computer Networks | 3 |

An introduction to the design, performance analysis, and implementation of existing and emerging computer network protocols. Protocols include multiple access protocols (e.g., CSMA/CD, token ring), internetworking with the Internet Protocol (IP), transport protocols (e.g., UDP, TCP), high-speed bulk transfer protocols, and routing protocols (e.g., BGP, OSPF). General topics include error control, flow control, packet switching, mechanisms for reliable, ordered and bounded-time packet delivery, host-network interfacing and protocol implementation models. Substantial programming exercises supplement lecture topics. Prerequisite: CSE 473S or permission of the instructor. | |||

CSE | 574S | Wireless and Mobile Networking | 3 |

First course in wireless networking providing a comprehensive treatment of wireless data and telecommunication networks. Topics include recent trends in wireless and mobile networking, wireless coding and modulation, wireless signal propagation, IEEE 802.11a/b/g/n/ac wireless local area networks, 60 GHz millimeter wave gigabit wireless networks, vehicular wireless networks, white spaces, IEEE 802.22 regional area networks, Bluetooth and Bluetooth Smart, wireless personal area networks, wireless protocols for Internet of Things, ZigBee, cellular networks: 1G/2G/3G, LTE, LTE-Advanced, and 5G. Prerequisites: CSE 473S or permission of the instructor. | |||

CSE | 581T | Approximation Algorithms | 3 |

Numerous optimization problems are intractable to solve optimally. The intractability of a problem could come from the problem's computational complexity, for instance the problem is NP-Hard, or other computational barriers. To cope with the inability to find an optimal algorithm, one may desire an algorithm that is guaranteed to return a solution that is comparable to the optimum. Such an algorithm is known as an approximation algorithm. Approximation algorithms are a robust way to cope with intractability and they are widely used in practice or are used to guide the development of practical heuristics. The area of approximation algorithms has developed a vast theory, revealing the underlying structure of problems as well as their different levels of difficulty. The majority of this course will focus on fundamental results and widely applicable algorithmic and analysis techniques for approximation algorithms.Prerequisite: CSE241 | |||

CSE | 582T | Complexity Theory | 3 |

An introduction to the quantitative theory of computation with limited resources. The course examines the relative power of limited amounts of basic computational resources, such as time, memory, circuit size, and random bits, as well as parallel, nondeterministic, alternating, and interactive machine models. Models that capture special kinds of computational problems, such as counting problems or approximate solutions, will also be introduced and related to the standard models. This examination will emphasize surprising relationships between seemingly disparate resources and kinds of computational problems. The course will also discuss some meta-theory, illuminating the weaknesses of standard mathematical techniques of the field against its notorious open conjectures. Prerequisites: CSE 241 and mathematical maturity. | |||

CSE | 584A | Algorithms for Biosequence Comparison | 3 |

This course surveys fundamental algorithms for comparing and organizing biological sequences. Emphasis is placed on techniques that are useful for implementing biosequence databases and comparing long sequences, such as entire genomes. Many of these techiques are also of interest for more general string processing and for building and mining of textual databases. Algorithms will be presented rigorously, including proofs of correctness and running time where feasible. Topics include classical string matching, suffix trees, exclusion methods, multiple alignments and an the design of BLAST and related biosequence comparison tools. Students will complete written assignments and will implement advanced comparison algorithms to address problems in bioinformatics. This course does not require a biology background. Prerequisites: CSE 241, graduate standing, or permission of instructor. | |||

CSE | 587A | Algorithms for Computational Biology | 3 |

This course focuses on mathematical and algorithmic issues in systems biology and biological sequence analysis. The essential mathematics is introduced first. Systems biology topics include synthetic biology, dynamical systems modeling, mapping and modeling gene regulatory networks, constraint based approaches to predictive modeling of metabolic networks, and the integration of regulatory and metabolic models. Sequence analysis topics include, Hidden Markov Models, parameter inference, sequence alignment, and modeling transcription factor binding sites. This course will include a combination of paper and pencil homework assignments and programming labs. Prereqs: An introductory course in computer programming or equivalent experience and at least two semesters of calculus. | |||

CSE | 591 | Introduction to Graduate Study in CSE | 3 |

Introduces students to the different areas of research conducted in the department. Provides an introduction to research skills, including literature review, problem formulation, presentation, and research ethics. Lecture and discussion are supplemented by exercises in the different research areas and in critical reading, idea generation, and proposal writing. Prerequisites: standing as a doctoral student in CSE, or permission of the instructor. | |||

CSE | 598 | Masters Project | 6 |

Students electing the project option for their master's degree perform their project work under this course. Prerequisite: permission of adviser. | |||

CSE | 599 | Masters Research | 6 |

Prerequisite: permission of adviser. | |||

CSE | 699 | Doctoral Research | 9 |

CSE | 7100 | Research Seminar on Machine Learning | 1 |

This seminar will focus on recent advances in the field of machine learning. Students will read, present, discuss, and implement recent work from the research literature. Emphasis will be placed on parallel ML algorithms, time series data, multi-task and transfer learning and others. Prereqs: CSE 517A or permission of instructor. | |||

CSE | 7200 | Research Seminar on Robotics and Human-Computer Interaction | 1 |

Research seminars examine publications, techniques, approaches, and strategies within an area of computer science and engineering. Seminars are highly participational: students are expected to take turns presenting material, to prepare for seminar by reading any required material, and to contribute to the group's discussions. The actual topics covered in a seminar will vary by semester and instructor. Interested students are encouraged to obtain a syllabus from the instructor's web page or by contacting the instructor. | |||

CSE | 7300 | Research Seminar on Software Systems | 1 |

Research seminars examine publications, techniques, approaches, and strategies within an area of computer science and engineering. Seminars are highly participational: students are expected to take turns presenting material, to prepare for seminar by reading any required material, and to contribute to the group's discussions. The actual topics covered in a seminar will vary by semester and instructor. Interested students are encouraged to obtain a syllabus from the instructor's web page or by contacting the instructor. Section 01 focuses on the area of wireless sensor networks and systems. Section 02 focuses on the area of real-time systems. | |||

CSE | 7500 | Research Seminar on Graphics and Vision | 1 |

Research seminars examine publications, techniques, approaches, and strategies within an area of computer science and engineering. Seminars are highly participational: students are expected to take turns presenting material, to prepare for seminar by reading any required material, and to contribute to the group's discussions. The actual topics covered in a seminar will vary by semester and instructor. Interested students are encouraged to obtain a syllabus from the instructor's web page or by contacting the instructor. Section 01 will focus on Graphics. Section 02 will focus on Vision. | |||

CSE | 7600 | Research Seminar on Computer Engineering | 1 |

This seminar explores contemporary topics in computer engineering. Each week, the seminar will focus on a selected topic or reading from the research literature; student-led presentations will summarize important contributions and guide the discussion. Particular emphasis will be placed on future research directions and opportunities. Section 01 will focus on computer systems architecture; section 02 will focus on polarization imaging. | |||

CSE | 7700 | Research Seminar on Networking and Communications | 1 |

In this research seminar we study the design of modern data networks, concentrating on new and emerging research topics. Broad topics of interest include router design, packet scheduling, network control, multimedia applications, extensible networking and optical switching. Participants are expected to present recent papers on research topics of current interest and/or present results from their own research activities. | |||

CSE | 7800 | Research Seminar on Computational Systems Biology | 1 |

Research seminars examine publications, techniques, approaches, and strategies within an area of computer science and engineering. Seminars are highly participational: students are expected to take turns presenting material, to prepare for seminar by reading any required material, and to contribute to the group's discussions. The actual topics covered in a seminar will vary by semester and instructor. Interested students are encouraged to obtain a syllabus from the instructor's web page or by contacting the instructor. | |||

CSE | 7800 | Research Seminar in Computational and Systems Biology | 1 |

This seminar focuses on papers from the recent literature in computational biology, bioinformatics, and systems biology. Students read, present, and discuss recent works of interest in areas such as comparative genomics, proteomics, gene regulation, motif finding, and network reconstruction and modeling. Paper selection emphasizes new computational approaches and analysis of results from high-throughput experimental technologies. | |||

CSE | 7900 | Research Seminar on Parallel Computing | 1 |

This seminar will focus on classic and recent papers on parallel computing. Students will read, present, and discuss papers on parallel models, algorithms, and architectures from top conferences and journals. Focus will be placed on fundamental advances and theoretical models and algorithms, rather than on implementation papers. No prerequisites. | |||

CSE | 801 | Pedagogy | 3 |

A student taking this course studies the fundamentals of teaching in the discipline of computer science and computer engineering. A student enrolled in this course staffs some other course taught by our department, serving as its primary instructor or co-instructor. That student receives frequent mentoring and feedback on his or her preparation and delivery. This course is recommended especially for doctoral students who seek a career in computer science and engineering education. | |||

CSE | 883 | Masters Continuing Student Status | 0 |

CSE | 884 | Doctoral Continuing Student Status | 0 |

CSE | 885 | Masters Nonresident | 0 |

CSE | 886 | Doctoral Nonresident | 0 |