°®¶¹ÉçÇø

 Search | Directories |
UW Home > Discover UW > Student Guide 
UW Bothell Course Descriptions UW Tacoma Course Descriptions  | Glossary

COLLEGE OF ENGINEERING
COMPUTER SCIENCE AND ENGINEERING
COMP SCI & ENGR PROFESSIONAL MASTERS PRG

Detailed course offerings (Time Schedule) are available for

CSE P 501 Compiler Construction (4)
Principles and practice of building efficient implementations of modern programming languages. Lexical, syntactic, and semantic analysis of programs. Intermediate program representations. Intra- and interprocedural analysis and optimization. Run-time system techniques. Related programming environment facilities such as source-level debuggers and profilers.

CSE P 503 Principles of Software Engineering (4)
Study of major developments in software engineering over the past three decades. Topics may include design (information hiding, layering, open implementations), requirements specification (informal and formal approaches), quality assurance (testing, verification and analysis, inspections), reverse and re-engineering (tools, models, approaches).

CSE P 504 Advanced Topics in Software Systems (4)
Topics include software architecture, software tools, programming language analysis, type systems, formal reasoning, and other pertinent topics in software engineering and programming languages research.

CSE P 505 Programming Languages (4)
A study of non-imperative programming paradigms such as functional, object-oriented, logic, and constraint programming. Programming language semantics and type theory.

CSE P 510 Human Computer Interaction (4)
Topics in human-computer interaction, including tools and skills for user interface design, user interface software architecture, rapid prototyping and iterative design, safety and critical systems, evaluation techniques, and computer supported cooperative work.

CSE P 517 Natural Language Processing (4)
Provides an overview of modern approaches for natural language processing. Topics include language models, text classification, tagging, parsing, machine translation, semantics, and discourse analysis.

CSE P 521 Applied Algorithms (4)
Principles of design of efficient algorithms with emphasis on algorithms with real world applications. Examples drawn from computational geometry, biology, scientific computation, image processing, combinatorial optimization, cryptography, and operations research.

CSE P 524 Parallel Computation (4)
Survey of parallel computing including the processing modes of pipelining, data parallelism, thread parallelism, and task parallelism; algorithmic implications of memory models; shared memory and message passing; hardware implementations; bandwidth and latency; synchronization, consistency, interprocessor communication; programming issues including implicit and explicit parallelism, locality, portability.

CSE P 527 Computational Biology (4)
Introduction to the use of computational methods for understanding biological systems at the molecular level. Problem areas such as mapping and sequencing, sequence analysis, structure prediction, phylogenic inference, motif discovery, expression analysis, and regulatory analysis. Techniques such as dynamic programming, Markov models, MCMC, expectation-maximization, and local search.

CSE P 531 Computability and Complexity Theory (4)
Survey of the theory of computation including Turing Machines, Churche's Thesis, computability, incompleteness, undecidability, complexity classes, problem reductions, Cook's theorem, NP-completeness, randomized computation, cryptography, parallel computation, and space complexity. Some emphasis placed on historical and philosophical aspects of the theory of computation.

CSE P 544 Database Management System (4)
Introduction to the principles of database management systems. Topics include database system architecture, data models, theory of database design, query optimization, concurrency control, crash recovery, and storage strategies.

CSE P 545 Transaction Processing (4)
Technology supporting reliable large-scale distributed computing, including transaction programming models, TP monitors, transactional communications, persistent queuing, software fault tolerance, concurrency control and recovery algorithms, distributed transactions, two-phase commit, data replication.

CSE P 546 Machine Learning (4)
Methods for designing systems that learn from data and improve with experience. Supervised learning and predictive modeling; decision trees, rule induction, nearest neighbors, Bayesian methods, neural networks, support vector machines, and model ensembles. Unsupervised learning and clustering.

CSE P 548 Computer Architecture (4)
Architecture of the single-chip microprocessor: instruction set design and processor implementation (pipelining, multiple issue, speculative execution). Memory hierarchy: on-chip and off-chip caches, TLBs and their management, virtual memory from the hardware viewpoint. I/O devices and control: buses, disks, and RAIDs.

CSE P 551 Computer Operating Systems (4)
A study of developments in operating systems from the 1960s to the present. Topics include operating system structure, protection, virtual memory, communication mechanisms, concurrency, lightweight threads, object-oriented systems, distributed systems, and transaction support in operating systems.

CSE P 552 Distributed Systems (4)
Principles, techniques, and examples related to the design, implementation, and analysis of distributed computer systems. Course overlaps with: TECE 514.

CSE P 557 Current Trends in Computer Graphics (4)
Introduction to computer image synthesis, modeling, and animation emphasizing the state-of-the-art algorithm applications. Topics may include visual perception, image processing, geometric transformations, hierarchical modeling, hidden-surface elimination, shading, ray-tracing, anti-aliasing, texture mapping, curves, surfaces, particle systems, dynamics, realistic character animation, and traditional animation principles.

CSE P 561 Network Systems (4)
Current choices and challenges in network systems. Fundamental concepts combined with emphasis on evaluation of design/operations alternatives. Topics include alternative link, network, and transport-layer technologies, topologies, routing, congestion control multimedia, Ipv6, aTM v. IP, network management and policy issues.

CSE P 564 Computer Security and Privacy (4)
Examines the fundamental of computer security including: human factors; attack detection, measurements, and models; cryptography and communications security; system design and implementation; and side channels.

CSE P 567 Design and Implementation of Digital Systems (4)
Overview of current implementation technologies for digital systems including custom integrated circuits, field-programmable logic, and embedded processors. Systems components such as buses and communications structures, interfaces, memory architectures, embedded systems, and application-specific devices. Focus on the design of large systems using modern CAD tools. Course overlaps with: TECE 523 and TECE 567.

CSE P 573 Applications of Artificial Intelligence (4)
Introduction to the use of Artificial Intelligence tools and techniques in industrial and company settings. Topics include foundations (search, knowledge representation) and tools such as expert systems, natural language interfaces, and machine learning techniques.

CSE P 576 Computer Vision (4)
Provides an overview of computer vision, emphasizing the middle ground between image processing and artificial intelligence. Image formation, pre-attentive image processing, boundary and region representations, and case studies of vision architectures.

CSE P 589 Software Entrepreneurship (4)
A case- and project-based course, focusing on starting a software or hardware company. Guest entrepreneurs, lawyers, and financiers discuss market identification and analysis, planning the business, financing, and typical operating and administrative problems. Offered: jointly with CSE 589/ENTRE 532.

CSE P 590 Special Topics in Computer Science (1-4, max. 20)

CSE P 595 Software Entrepreneurship (4)
Provides an overview of the major elements of entrepreneurial activity in software, including market identification and analysis, evaluation and planning of the business, financing, typical operating and administrative problems, and alternatives for growth or sale.

CSE P 596 Business Basics Computer Science Professionals (4)
Business principles relevant to the software industry in four areas: competitive strategy, finance, accounting, and human resources. Organized as a series of case studies and lectures. Progresses from an emphasis on tools to a more high-level look at competitive dynamics in high-tech industries.

CSE P 600 Independent Study or Research ([1-4]-)