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 |

Study of fundamental algorithms, data structures, and their effective use in a variety of applications. Emphasizes importance of data structure choice and implementation for obtaining the most efficient algorithm for solving a given problem. A key component of this course is worst-case asymptotic analysis, which provides a quick and simple method for determining the scalability and effectiveness of an algorithm. Other topics covered generally include: divide-and-conquer algorithms, sorting algorithms, decision tree lower bound technique, hashing, binary heaps, skip lists, B-trees, basic graph algorithms. Prerequisites: CSE 131, CSE 240 (or some basic discrete mathematics background) is strongly recommended. | |||

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 132 or an equivalent programming background. | |||

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

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

Intensive focus on practical aspects of designing, implementing and debugging object-oriented software. Topics covered include developing, documenting, and testing representative applications using object-oriented and generic frameworks and C++. Design and implementation based on frameworks are central themes to enable the construction of reusable, extensible, efficient, and maintainable software. Prerequisites: CSE 132 and 241. | |||

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, machine learning (decision trees, neural nets, reinforcement learning, and genetic algorithms) and machine vision. Programming exercises will 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. Prerequisite: CSE 132, CSE 240, and CSE 241, or permission of the instructor. | |||

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 will 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 240, 241 and mathematical maturity. Any of the following related courses may be helpful, but are not required: CSE 511A, 417A, 517A, 441T/541T. | |||

CSE | 514A | Data Mining | 3 |

With the vast advancement in science and technology, data acquisition in large quantities are routinely done in many fields. Examples of large data include various types of data on the internet, high-throughput sequencing data in biology and medicine, extraterrestrial data from telescopes in astronomy, and images from surveillance camera in security. Mining a large amount of data through data mining has become an effective means to extracting knowledge from data. This course introduces the basic concepts and methods for data mining and provides hands-on experience for processing, analyzing and modeling structured and unstructured data. Homework problems, examines and programming assignments will be administrated throughout the course to enhance the learning. Prerequisites: CSE 247 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 |

The field of machine learning is concerned with the question of how to construct computer programs that automatically improve with experience. Recently, many successful machine learning applications have been developed, ranging from data-mining programs that learn to detect fraudulent credit card transactions, to information-filtering systems that learn users' reading preferences, to autonomous vehicles that learn to drive. There have also been important advances in the theory and algorithms that form the foundation of this field. This course will provide a broad introduction to the field of machine learning. Prerequisites: CSE 241 and sufficient mathematical maturity (Matrix Algebra, probability theory / statistics, multivariate calculus). There is no enrollment limit, but the instructor will hold a take-home placement exam (on basic mathematical knowledge) that is due on the first day of class. You can download the exam from http://www.cse.wustl.edu/~kilian/resources/quiz0.pdf Only students who pass the placement exam will be enrolled in the course. Students interested in preparing for the exam are advised to work through the first three weeks of Andrew Ng's online course on machine learning ( https://www.coursera.org/course/ml ). | |||

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 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++, and CSE 432S, and CSE 422S or CSE 522S. | |||

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

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

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 |

This course is designed to introduce tools and methods from Human-Computer Interaction that will enable you to create effective user interfaces. We will cover techniques that can be used at different stages in the software development cycle and techniques that can be used both with and without involving users. We will study how to maximize interface usability and efficiency as well as how to design for, and measure, things like fun and persuasiveness. You will gain experience applying HCI techniques through a group design, development, and evaluation project. Prerequisites: CSE 132 and at least one additional systems course. Students who enroll in this course are expected to be comfortable with the process of building user interfaces using Java JFC/Swing. | |||

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. Prerequisites: CSE 247 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 filters and sigma-delta modulators. Several practical aspects of mixed-signal design, simulation, layout and testing will be covered in this course and will be used for implementing a VLSI prototype. It is expected that the students complete the design and simulation of a prototype by the end of the course. Prerequisite: ESE 232 | |||

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

This is a project-oriented course on digital VLSI design. The course material focuses 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 are covered in the class, as well as design challenges in sub-micron technology are addressed. The students 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.5 micron technology that will be fabricated by a semiconductor foundry. Prerequisites: CSE 260 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 Wireless Networking Trends, Key Wireless Physical Layer Concepts, Wireless Local Area Networks, Wireless Personal Area Networks, WiMAX (Physical layer, Media access control, Mobility and Networking), IEEE 802.22 Wireless Regional Area Networks, IEEE 802.21 Media Independent Handover, Wireless Cellular Networks: 1G and 2G, 2.5G, 3G, and 4G, Mobile IPv4, Mobile IPv6, TCP over Wireless Networks, Ad Hoc Networks - Issues and Routing, Wireless Sensor Networks, Wireless Mesh and Multi-Hop Relay Networks, Radio Frequency Identification (RFID). 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 algorithms for comparing and organizing discrete sequential data, especially nucleic acid and protein sequences. Emphasis is on tools to support search in massive biosequence databases and to perform fundamental comparison tasks such as DNA short-read alignment. These techniques are also of interest for more general string processing and for building and mining textual databases. Algorithms are presented rigorously, including proofs of correctness and running time where feasible. Topics include classical string matching, suffix array string indices, space-efficient string indices, rapid inexact matching by filtering (including BLAST and related tools), and multiple alignment. Students complete written assignments and implement advanced comparison algorithms to address problems in bioinformatics. This course does not require a biology background. Prerequisites: CSE 347, 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 |

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

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 |

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 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 | 7800 | Research Seminar on Computational Systems Biology | 1 |

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 |