录取要求
The following are the minimum requirements for applying to the Allen School's
Combined Bachelor's/Master's program:
You are an Allen School CS or CE undergraduate major.
You have junior standing or beyond (90 or more credits).
Your GPA is 3.0 or higher.
You have completed all required 300-level CSE courses.
Competitive applicants will exceed these minimums, typically showing higher
grades, CSE coursework beyond the minimum required, and strong written
application materials.
申请材料清单
Your application requires the following components:
Statement of Purpose. Your statement should be no longer than one page.
Topics to address include: (1) Why are you interested in pursuing a combined
BS/MS? (2) What specific aspects of the program interest you, such as areas of
study? (3) What makes you a good candidate for this program?
References. List 2-3 CSE faculty members or affiliate faculty as references.
You must have at least 2 references who can speak to your classwork and/or
research abilities. A third reference is strongly encouraged, and could either
be a faculty member for whom you were a TA or another reference who knows you
from classwork or research. It is courteous to ask faculty members before
listing them as references.
Transcripts: Upload a copy of your UW unofficial transcript (use the
"printer-friendly" version from MyUW).
Resume: You have the option to upload a current resume.
MyCSE: Confirm that your MyCSE profile is up-to-date, including scholarships,
co-ops/internships, and research.
There is no fee for students completing the initial CSE BS/MS application.
Students admitted to the BS/MS program must complete the UW Grad School
application and pay an application fee as well as an enrollment fee once they
become a graduate student (due before tuition).
专业介绍
The Combined Bachelor's/Master's (B.S./M.S.) program is designed so that
students may complete both their Bachelor's of Science in CS or CE and their
Master's of Science in CSE degrees in approximately five years of study. The
program is intended to allow increased breadth and depth of study to better
prepare students for their careers and was designed with feedback from faculty,
industry affiliates, and CSE students themselves.
Allen School B.S./M.S. students earn a master's degree in approximately one
year of courses beyond standard bachelor's requirements. Most students are
admitted after finishing 300-level requirements in their junior year so they can
plan their CSE senior and graduate requirements as a coherent two-year plan. The
application process for the BS/MS program is extremely competitive, and roughly
30 applicants are admitted each fall. The Allen School intends to expand the
program when budgets allows.
The program accepts only currently enrolled UW Seattle CS/CE majors or UW
Seattle CS/CE alumni who graduated within the previous year.
课程设置
- CSE 501: Programming Language Analysis And Implementation Design and
implementation of compilers and run-time systems for imperative,
object-oriented, and functional languages. Intra- and interprocedural analyses
and optimizations. Prerequisite: CSE major and CSE 341; recommended CSE
401.
- CSE 503: Software Engineering Specification, implementation, and testing of
large, multiperson, software systems. Topics include abstraction, information
hiding, software development environments, and formal specifications.
Prerequisite: CSE major and CSE 322, CSE 326, and CSE 378 or
equivalents.
- CSE 504: Advanced Topics In Software Engineering Topics vary but may include
software design and evolution, formal methods, requirements specifications,
software and system safety, reverse engineering, real-time software, metrics and
measurement, programming environments, and verification and validation.
Prerequisite: CSE major or permission of instructor.
- CSE 505: Principles Of Programming Languages Design and formal semantics of
modern programming languages, includes functional and object-oriented languages.
Prerequisite: CSE major and CSE 341.
- CSE 506: Advanced Topics In Programming Languages May include functional,
object-oriented, parallel, and logic programming languages; semantics for
languages of these kinds; type declaration, inference, and checking (including
polymorphic types); implementation issues, such as compilation, lazy evaluation,
combinators, parallelism, various optimization techniques. Implementation
project required. Prerequisite: CSE major, CSE 501 which may be taken
concurrently, and CSE 505.
- CSE 507: Computer-Aided Reasoning for Software Covers theory, implementation,
and applications of automated reasoning techniques, such as satisfiability
solving, theorem proving, model checking, and abstract interpretation. Topics
include concepts from mathematical logic and applications of automated reasoning
to the design, construction, and analysis of softwar
- CSE 510: Advanced Topics In Human-computer Interaction Content varies,
including interface issues for networks, embedded systems, education
applications, safety and critical systems, graphics and virtual reality,
databases, and computer-supported cooperative work.
- E E 511: Introduction to Statistical Learning Covers classification and
estimation of vector observations, including both parametric and nonparametric
approaches. Includes classification with likelihood functions and general
discriminant functions, density estimation, supervised and unsupervised
learning, feature reduction, model selection, and performance estimation.
Prerequisite: either E E 505 or CSE 515.
- CSE 512: Data Visualization Techniques and algorithms for creating effective
visualizations based on principles from graphic design, visual art, perceptual
psychology and cognitive science. Topics: data and image models, visual
encoding, graphical perception, color, animation, interaction techniques, graph
layout, automated design. Lectures, reading and project. Prerequisites: CSE 332
or 373 or equivalent.
- E E 512: Graphical Models in Pattern Recognition Bayesian networks, Markov
random fields, factor graphs, Markov properties, standard models as graphical
models, graph theory (e.g., moralization and triangulation), probabilistic
inference (including pearl' s belief propagation, Hugin, and Shafer-Shenoy),
junction threes, dynamic Bayesian networks (including hidden Markov models),
learning new models, models in practice. Prerequisite: E E 508; E E
511.
- CSE 515: Statistical Methods In Computer Science Introduction to the
probabilistic and statistical techniques used in modern computer systems.
Graphical models, probabilistic inference, statistical learning, sequential
models, decision theory. Prerequisite: either STAT 341 or STAT 391, and graduate
standing in computer science, or permission of instructor.
- CSE 517: Natural Language Processing Overview of modern approaches for
natural language processing. Topics include language models, text
classification, tagging, parsing, machine translation, semantics, and discourse
analysis.
- CSE 519: Current Research In Computer Science Weekly presentations on current
research activities by members of the department. Only Computer Science graduate
students may register, although others are encouraged to attend. Credit/no
credit only.
- CSE 520: Computer Science Colloquium Weekly public presentations on topics of
current interest by visiting computer scientists. Credit/no credit only
- CSE 521: Design And Analysis Of Algorithms I Principles of design of
efficient algorithms: recursion, divide and conquer, balancing, dynamic
programming, greedy method, network flow, linear programming. Correctness and
analysis of algorithms. NP-completeness. Prerequisite: CSE major and CSE 326 or
equivalent. CSE majors only.
- CSE 522: Design And Analysis Of Algorithms Ii Analysis of algorithms more
sophisticated than those treated in 521. Content varies and may include such
topics as algebraic algorithms, combinational algorithms, techniques for proving
lower bounds on complexity, and algorithms for special computing devices such as
networks or formulas. Prerequisite: CSE major and CSE 521.
- CSE 523: Computational Geometry Algorithms for discrete computational
geometry. Geometric computation, range searching, convex hulls, proximity,
Vornoi diagrams, intersection. Application areas include VLSI design and
computer graphics. Prerequisite: CSE major and CSE 521; recommended: CSE 457 or
equivalent.
- CSE 524: Parallel Algorithms Design and analysis of parallel algorithms:
fundamental parallel algorithms for sorting, arithmetic, matrix and graph
problems and additional selected topics. Emphasis on general techniques and
approaches used for developing fast and efficient parallel algorithms and on
limitations to their efficacy. Prerequisite: CSE major and CSE 521.
- CSE 525: Randomized Algorithms And Probablisitc Analysis Examines algorithmic
techniques: random selection, random sampling, backwards analysis, algebraic
methods, Monte Carlo methods, and randomized rounding; random graphs; the
probabilistic method; Markov chains and random walks; and analysis tools: random
variables, moments and deviations, Chernoff bounds, martingales, and balls in
bins. Prerequisite: CSE 521 or equivalent; CSE majors only. Offered:
WSp.
- CSE 527: Computational Biology Introduces computational methods for
understanding biological systems at the molecular level. Problem areas such as
network reconstruction and analysis, sequence analysis, regulatory analysis and
genetic analysis. Techniques such as Bayesian networks, Gaussian graphical
models, structure learning, expectation-maximization. Prerequisite: graduate
standing in biological, computer, mathematical or statistical science, or
permission of instructor.
- STAT 527: Nonparametric Regression and Classification Covers techniques for
smoothing and classification including spline models, kernel methods,
generalized additive models, and classification and regression trees. Describes
measures of predictive performance, along with methods for balancing bias and
variance. Bayesian nonparametric methods for regression and density estimation
(e.g., Gaussian processes and Dirichlet processes) are also covered.
- CSE 528: Computational Neuroscience Introduction to computational methods for
understanding nervous systems and the principles governing their operation.
Topics include representation of information by spiking neurons, information
processing in neural circuits, and algorithms for adaptation and learning.
Prerequisite: elementary calculus, linear algebra, and statistics, or by
permission of instructor. Offered: jointly with NEUBEH 528.
- CSE 529: Neural Control Of Movement: A Computational Perspe Systematic
overview of sensorimotor function on multiple levels of analysis, with emphasis
on the phenomenology amenable to computational modeling. Topics include
musculoskeletal mechanics, neural networks, optimal control and Bayesian
inference, learning and adaptation, internal models, and neural coding and
decoding. Prerequisite: vector calculus, linear algebra, MATLAB, or permission
of instructor. Offered: jointly with AMATH 533; W.
- CSE 531: Computational Complexity I Deterministic and nondeterministic time
and space complexity, complexity classes, and complete problems. Time and space
hierarchies. Alternation and the polynomial-time hierarchy. Circuit complexity.
Probabilistic computation. Exponential complexity lower bounds. Interactive
proofs. Prerequisite: CSE majors only; CSE 322 or equivalent.
- CSE 532: Computational Complexity Ii Advanced computational complexity
including several of the following: circuit complexity lower bounds, #p and
counting classes, probabilistically-checkable proofs, de-randomization, logical
characteristics of complexity, communication complexity, time-space tradeoffs,
complexity of data structures. Prerequisite: CSE majors only; Recommended: CSE
531.
- CSE 533: Advanced Topics In Complexity Theory An in-depth study of advanced
topics in computational complexity. Prerequisite: CSE major.
- STAT 535: Statistical Learning: Modeling, Prediction, and Computing I Covers
statistical learning over discrete multivariate domains, exemplified by
graphical probability models. Emphasizes the algorithmic and computational
aspects of these models. Includes additional topics in probability and
statistics of discrete structures, general purpose discrete optimization
algorithms like dynamic programming and minimum spanning tree, and applications
to data analysis. Prerequisite: experience with programming in a high level
language.
- CSE 536: Theory Of Distributed Computing Formal approaches to distributed
computing problems. Topics vary, but typically include models of distributed
computing, agreement problems, impossibility results, mutual exclusion
protocols, concurrent reading while writing protocols, knowledge analysis of
protocols, and distributed algorithms. Prerequisite: CSE major.
- STAT 538: Statistical Learning: Modeling, Prediction, and Computing II
Reviews optimization and convex optimization in its relation to statistics.
Covers the basics of unconstrained and constrained convex optimization, basics
of clustering and classification, entropy, KL divergence and exponential family
models, duality, modern learning algorithms like boosting, support vector
machines, and variational approximations in inference. Prerequisite: experience
with programming in a high level language.
- STAT 539: Statistical Learning: Modeling, Prediction and Computing III
Supervised, applied project in statistical modeling, prediction, and computing.
Prerequisite: STAT 535; STAT 538: computer programming a intermediate
level.
- CSE 540: Discrete System Simulation Principles of simulation of discrete,
event-oriented systems. Model construction, simulation and validation.
Distributed and parallel simulation techniques. Basic statistical analysis of
simulation inputs and outputs. Use of C, an object-oriented language, and S, a
statistical analysis package. Prior familiarity with the concepts of probability
and statistics desirable.
- CSE 543: Computer System Performance Emphasizes the use of analytic models as
tools for evaluating the performance of centralized, distributed, and parallel
computer systems. Prerequisite: CSE major and CSE 451.
- CSE 544: Principles Of Database Systems The relational data model: SQL,
Relational Algebra, Relational Calculus, discussion of other data models.
Database systems: indexes, query execution and optimization, database
statistics, parallel databases, MapReduce. Database theory: datalog and
extensions with negation, query complexity, query containment and equivalence,
bounded tree width. Miscellaneous: transactions, data provenance, data privacy,
probabilistic databases.
- CSE 546: Machine Learning Explores methods for designing systems that learn
from data and improve with experience. Supervised learning and predictive
modeling; decision trees, rule induction, nearest neighbors, Bayesian methods,
neural networks, support vector machines, and model ensembles. Unsupervised
learning and clustering. Prerequisite: either STAT 341, STAT 391, or equivalent,
or permission of instructor.
- CSE 547: Machine Learning for Big Data Machine Learning and statistical
techniques for analyzing datasets of massive size and dimensionality.
Representations include regularized linear models, graphical models, matrix
factorization, sparsity, clustering, and latent factor models. Algorithms
include sketching, random projections, hashing, fast nearest-neighbors,
large-scale online learning, and parallel (Map-reduce, GraphLab). Prerequisite:
either STAT 535 or CSE 546. This course is cross-listed as STAT 548.
- CSE 547: Machine Learning for Big Data Machine Learning and statistical
techniques for analyzing datasets of massive size and dimensionality.
Representations include regularized linear models, graphical models, matrix
factorization, sparsity, clustering, and latent factor models. Algorithms
include sketching, random projections, hashing, fast nearest-neighbors,
large-scale online learning, and parallel (Map-reduce, GraphLab). Prerequisite:
either STAT 535 or CSE 546.
- CSE 548: Computer Systems Architecture Notations for computer systems.
Processor design (single chip, look-ahead, pipelined, data flow). Memory
hierarchy organization and management (virtual memory and caches).
Microprogramming. I/O processing. Multiprocessors (SIMD and MIMD). Prerequisite:
CSE major and CSE 451.
- CSE 549: High-performance Computer Architectures Algorithm design, software
techniques, computer organizations for high-performance computing systems.
Selected topics from: VLSI complexity for parallel algorithms, compiling
techniques for parallel and vector machines, large MIMD machines,
interconnection networks, reconfigurable systems, memory hierarchies in
multiprocessors, algorithmically specialized processors, data flow
architectures. Prerequisite: CSE major and CSE 548 or permission of
instructor.
- CSE 550: Computer Systems Explores computer system design, implementation,
and evaluation. Covers principles, techniques, and examples related to the
construction of computer systems, including concepts that span network systems,
operating systems, web servers, parallel computing, and databases. Prerequisite:
CSE 451.
- CSE 551: Operating Systems Operating system design and construction
techniques. Concurrent programming, operating system kernels, correctness,
deadlock, protection, transaction processing, design methodologies, comparative
structure of different kinds of operating systems, and other topics.
Prerequisite: CSE major and CSE 451.
- CSE 552: Distributed And Parallel Systems Principles, techniques, and
examples related to the design, implementation, and analysis of distributed and
parallel computer systems. Prerequisite: CSE major and CSE 551.
- CSE 553: Real-time Systems Design and construction of software for real-time
computer systems. Software architectures. Requirements and specification
methods. Scheduling algorithms and timing analysis. Real-time operating systems.
Real-time programming languages. Selected case studies. Prerequisite: CSE major
and CSE 451.
- CSE 557: Computer Graphics Introduction to image synthesis and computer
modeling, emphasizing the underlying theory required for undertaking computer
graphics research. Topics include color theory, image processing, affine and
projective geometry, hidden-surface determination, photorealistic image
synthesis, advanced curve and surface design, dynamics, realistic character
animation. Prerequisite: CSE major, solid knowledge of linear algebra.
- CSE 558: Special Topics In Computer Graphics Advanced topics in computer
graphics not treated in CSE 557. Topics vary from year to year but typically
include advanced aspects of image synthesis, animation, and 3D photography.
Prerequisite: CSE major and CSE 557 or permission of instructor.
- CSE 561: Computer Communications And Networks Fundamentals of data
transmission: coding, message formats, and protocols. Organization of computer
networks. Examples of network implementations. Prerequisite: CSE or E E major
and CSE 451 or equivalent.
- CSE 564: Computer Security And Privacy 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 567: Principles Of Digital Systems Design Principles of logic design,
combinational and sequential circuits, minimization techniques, structured
design methods, CMOS technology, complementary and ratioed gates, delay
estimation and performance analysis, arithmetic circuits, memories, clocking
methodologies, synthesis and simulation tools, VLSI processor architecture.
Prerequisite: CSE major and basic knowledge of logic design.
- CSE 568: Introduction To Vlsi Systems Introduction to CMOS technology and
circuit design; combinational logic-design alternatives; register-design and
system-clocking methodologies; datapath and subsystem design; VLSI system-design
methodologies; CAD tools for synthesis, layout, simulation, and validation;
design of a complex VLSI chip. Prerequisite: CSE 567 or permission of
instructor. CSE majors only.
- CSE 571: Probabilistic Robotics This course introduces various techniques for
Bayesian state estimation and its application to problems such as robot
localization, mapping, and manipulation. The course will also provide a
problem-oriented introduction to relevant machine learning and computer vision
techniques.
- CSE 573: Artificial Intelligence Intensive introduction to artificial
intelligence: Problem solving and search, game playing, knowledge representation
and reasoning, uncertainty, machine learning, natural language processing.
Prerequisite: CSE 421 or equivalent; exposure to logic, probability and
statistics; CSE major.
- CSE 574: Artificial Intelligence II Advanced topics in artificial
intelligence. Subjects include planning, natural language understanding,
qualitative physics, machine learning, and formal models of time and action.
Students are required to do projects. Prerequisite: CSE major and CSE
573.
- CSE 576: Computer Vision Overview of computer vision, emphasizing the middle
ground between image processing and artificial intelligence. Image formation,
preattentive image processing, boundary and region representations, and case
studies of vision architectures. Prerequisite: Solid knowledge of linear
algebra, good programming skills, CSE or E E major or permission of instructor.
Offered: jointly with E E 576.
- CSE 577: Special Topics In Computer Vision Topics vary and may include vision
for graphics, probabilistic vision and learning, medical imaging, content-based
image and video retrieval, robot vision, or 3D object recognition. Prerequisite:
CSE/E E 576 or permission of instructor. Offered: jointly with E E 577.
- CSE 579: Intelligent Control Through Learning &optimization Design or
near-optimal controllers for complex dynamical systems, using analytical
techniques, machine learning, and optimization. Topics from deterministic and
stochastic optimal control, reinforcement learning and dynamic programming,
numerical optimization in the context of control, and robotics. Prerequisite:
vector calculus; linear algebra, and Matlab. Recommended: differential
equations; stochastic processes, and optimization. Offered: jointly with AMATH
579.
- CSE 581: Parallel Computation In Image Processing Parallel architectures,
algorithms, and languages for image processing. Cellular array, pipelined and
pyramid machines, instruction sets, and design issues. Parallel implementations
of filtering, edge detection, segmentation, shape, stereo, motion, relaxation
algorithms, multiresolution methods, and iconic-to-symbolic transforms. Students
write and debug programs for parallel computers. Prerequisite: permission of
instructor.
- CSE 583: Software Development for Data Scientists Provides students outside
of CSE with a practical knowledge of software development that is sufficient to
do graduate work in their discipline. Modules include Python basics, software
version control, software design, and using Python for machine learning and
visualization.
- CSE 586: Introduction To Synthetic Biology Studies mathematical modeling of
transcription, translation, regulation, and metabolism in cell; computer aided
design methods for synthetic biology; implementation of information processing,
Boolean logic and feedback control laws with genetic regulatory networks;
modularity, impedance matching and isolation in biochemical circuits; and
parameter estimation methods. Prerequisite: either MATH 136 or MATH 307, AMATH
351, or CSE 321 and MATH 308 or AMATH 352. Offered: jointly with BIOEN 523/E E
523.
- CSE 587: Advanced Systems And Synthetic Biology Introduces advanced topics in
systems and synthetic biology. Topics include advanced mathematical modeling;
computational standards; computer algorithms for computational analysis; and
metabolic flux analysis, and protein signaling pathways and engineering.
Prerequisite: either BIOEN 523,E E 523, or CSE 586. Offered: jointly with BIOEN
524/E E 524; W.
- CSE 597: Performance Analysis Broad introduction to computer system
performance evaluation techniques and their application. Includes
measurement/benchmarking, stochastic and trace driven simulation, stochastic
queuing networks, and timed Petri nets. Applications of the techniques are
studied using case study papers. CSE majors only. Not open for credit to
students who have completed CSE 543.
- CSE 599: Molecular Biology as a Computational Science Molecular biology for
computer science students interested in computational research in the Life
Sciences, such as bioinformatics and bioengineering.
- CSE 599a1: Special Topics In Computer Science (Entrepreneurship) This course
is about entrepreneurship and specifically about starting, growing, managing,
leading, and ultimately exiting a new venture.
- CSE 599F1: Constraint Programming Design, implementation, and use of
constraint programming languages.
- CSE 600: Independent Study Or Research Credit/no credit only.
- CSE 700: Masters Thesis Credit/no credit only.
- CSE 800: Doctoral Dissertation Credit/no credit only.