|
My UW
|
UW Search
Computer Science Home Page
> Course Information
> All CS Course Offerings
|
 |
| |
Courses Offered
Courses numbered 399 and below may be taken for undergraduate credit only.
Courses numbered 400 through 699 may be taken by either undergraduate or
graduate students. Courses numbered 700 or above are intended for
graduate students. Undergraduates are allowed to take courses numbered 700 or
above, but must consult with the course instructor and then obtain permission
from the dean's office.
Courses offered less than once every two years are marked as ``infrequently
offered'' in the course description. Students should check on the
availability of courses before including them in their schedules.
See:
tentative timetables for upcoming semesters.
Course Numbers, Titles, and Credit Hours
Basic concepts of logic, sets, partial order and other
relations, and functions. Fundamental principles of counting. Basic
algebraic structures: modulo arithmetic, group, ring, and field
structures, Boolean algebra. Introduction to graph theory: trees,
depth first search, matching, max-flow min-cut, and other optimization
algorithms. Applications. Prereq: Math 221.
Introduction to computers in the digital society; social changes they
influence, and choices they present. Topics include: digital divide, role of
computers in improving quality of life, electronic voting and governance,
digital intellectual property rights, privacy, computers and the environment.
Logic components built with transistors, rudimentary Boolean
algebra, basic combinational logic design, basic synchronous sequential logic
design, basic computer organization and design, introductory machine-and
assembly-language programming.
Instruction and experience in the use of an
object-oriented programming language. Program design; development of
good programming style; preparation for other Computer Science
courses.
Prereq: Problem solving skills such as those acquired
in a statistics, logic, or advanced high school algebra course; or
consent of instructor. Open to Fr.
Small group meetings for Wisconsin Emerging Scholars--Computer Science
(WES-CS) students. Meet for two hours each week in
small groups to work together on problems related to the CS 302 course
material. Co-req: CS 302 and WES-CS membership.
Open to Fr.
Prereq: No prerequisites. Co-requisites include enrollment in CS 302 and membership in the WES-CS (WSCS) student group.
Gives engineering students an introduction to computer and analytical skills to
use in their subsequent course work and professional development. Discusses
several methods of using computers to solve problems, including elementary
Fortran and C programming techniques, the use of spreadsheets, symbolic
manipulation languages, and software packages. Techniques will be illustrated
using sample problems drawn from elementary engineering. Emphasis on
introduction of algorithms with the use of specific tools to illustrate the
methods.
Prereq: Math 222.
Logic components, Boolean algebra, combinational logic analysis and synthesis,
synchronous and asynchronous sequential logic analysis and design, digital
subsystems, computer organization and design.
Prereq: CS 252 or
equivalent. Not open to students with EGR classification.
An introduction to current system structures of control, communication,
memories, processors and I-O devices. Projects involve detailed study and use
of a specific small computer hardware and software system.
Prereq: CS 302 and ECE/CS 252 or consent of
instructor. Open to Fr.
Study of data structures (including stacks,
queues, trees, graphs, and hash tables) and their applications.
Development, implementation, and analysis of efficient data structures
and algorithms (including sorting and searching). Experience in use of
an object-oriented programming language.
Prereq: CS 302 or
consent of instructor. Students are strongly encouraged to take
CS 367 within two semesters of having taken
CS 302.
This course is for students who are familiar with Java programming
language and are interested in learning C++.
Prereq: CS 302 or consent of instructor.
Covers web application development end-to-end: languages and frameworks for
client- and server-side programming, database access, and other topics.
Involves hands-on programming assignments. Students attain a thorough
understanding of and experience with writing web applications using tools
popular in industry.
Prereq: CS 367 or substantial programming experience and
consent of instructor.
Overview of computers, their attendant technology, and the implications of
this technology for large-scale, computer-based information systems. Topics
include hardware, system software, program development, files, and data
communications.
Prereq: Bus 370 and CS 302, or equivalent
experience with consent of instructor.
Interpolation, solution of linear and nonlinear systems of equations,
approximate integration and differentiation, numerical solution of ordinary
differential equations.
Prereq: Math 222 and either CS 240 or Math 234, and
CS 302, or equivalent, and knowledge of matrix algebra.
Basic techniques for scientific computing, including fundamentals of linear
algebra and numerical linear algebra, rootfinding, floating-point arithmetic,
interpolations and splines, linear and quadratic programming.
Exact and heuristic methods for key combinatorial optimization problems such
as: shortest path, maximum flow problems, and the traveling salesman problem.
Techniques include problem-specific methods and general approaches such as
branch-and-bound, genetic algorithms, simulated annealing, and neural
networks.
Prereq: Math 221 or CS 302 or consent of instructor.
Cryptography is the art and science of transmitting digital information in a
secure manner. This course will provide an introduction to its technical
aspects.
Prereq: Math 320 or 340 or consent of instructor.
Symbolic computation; Lisp programming; Prolog programming; knowledge
representation languages based on logic, objects, frames, rules; symbolic
pattern matching; automatic inferencing and reasoning techniques;
special-purpose languages and computer architectures for artificial
intelligence applications.
Prereq: CS 367.
(Last taught: Spring 92)
Problems of enumeration, distribution and arrangement. Inclusion-exclusion
principle. Generating functions and linear recurrence relations.
Combinatorial identities. Graph coloring problems. Finite designs. Systems
of distinct representatives and matching problems in graphs. Potential
applications in the social, biological, and physical sciences. Puzzles.
Emphasis on problem solving.
Prereq: Math 320 or 340 and consent of instructor.
Direct and iterative solution of linear and nonlinear systems and of
eigenproblems. LU and symmetric LU factorization. Complexity, stability, and
conditioning. Nonlinear systems. Iterative methods for linear
systems. QR-factorization and least squares. Eigenproblems: local and global
methods.
Prereq: Math 340 or equivalent; CS 302 or equivalent.
Polynomial forms, divided differences. Polynomial interpolation. Polynomial
approximation: uniform approximation and Chebyshev polynomials, least-squares
approximation and orthogonal polynomials. Splines, B-splines and spline
approximation. Numerical differentiation and integration. Numerical methods
for solving initial and boundary value problems for ordinary differential
equations.
Prereq: Math 340 or equivalent; CS 302 or equivalent.
Introduction to Fourier series and Fourier transform; time-frequency
localization; wavelets and frames; applications: denoising and compression of
signals and images. Interpolation and approximation by splines:
interpolation, least-squares approximation, smoothing, knot insertion and
subdivision; splines in CAGD.
Prereq: Math 340 or equivalent; CS 302 or equivalent.
Survey of the basic concepts of theory, including context-free and
context-sensitive languages, regular sets, finite and pushdown automata,
Turing machines, undecidable problems, complexity with respect to time and
space, NP-completeness, and reducibilities.
Prereq: CS 367, Math 222, and CS 240, or consent of instructor.
Real linear algebra over polyhedral cones, theorems of the alternative for
matrices. Formulation of linear programs. Duality theory and solvability.
The simplex method and related methods for efficient computer solution.
Perturbation and sensitivity analysis. Applications and extensions, such as
game theory, linear economic models and quadratic programming.
Prereq: Math 443 or 320 or 340 or consent of instructor.
Review of linear programming. Polynomial time methods for linear
programming. Quadratic programs and linear complementarity problems and
related solution techniques. Solution sets and their continuity
properties. Error bounds for linear inequalities and programs. Parallel
algorithms for linear and quadratic programs.
Prereq: CS 525 or equivalent,
CS 302 or equivalent, or consent of instructor.
(Last taught: Spring 92)
532 Theory and Applications of Pattern Recognition 3 cr. (also ECE
& ME)
Pattern recognition systems and components; decision theories and
classification; discriminant functions; supervised and unsupervised training;
clustering; feature extraction and dimensional reduction; sequential and
hierarchical classification; applications of training, feature extraction, and
decision rules to engineering problems.
Prereq: ECE 331 or Math 431 or consent of instructor.
533 Image Processing 3 cr. (also ECE)
Mathematical representation of continuous and digital images; models of image
degradation; picture enhancement, restoration, segmentation, and coding;
pattern recognition, tomography.
Prereq: ECE 330 or consent of instructor; Math 320 or 340 or equiv. recommended.
Introduction to the theory and practice of compiler design. Comparison of
features of several programming languages and their implications for
implementation techniques. Several programming projects required.
Prereq: CS 367 and either CS 354 or 552.
Input-output hardware, interrupt handling, properties of magnetic tapes, discs
and drums, associative memories and virtual address translation techniques.
Batch processing, time sharing and real-time systems, scheduling resource
allocation, modular software systems, performance measurement and system
evaluation.
Prereq: CS 354 and CS 367.
Design and theory of programming languages: procedural, object-oriented,
functional and logic paradigms. Serial and concurrent programming. Execution
models and formal specification techniques.
Prereq: CS 354 and CS 367.
Theory and applications of artificial neural networks and fuzzy logic:
multi-layer perceptrons, self-organizing maps, radial basis networks,
Hopfield networks, recurrent networks, fuzzy-set theory, fuzzy logic
control, adaptive fuzzy neural networks, genetic algorithms, and
evolutionary computing. Applications to control, pattern recognition,
nonlinear system modeling, speech and image processing.
Prereq: CS 302, or CS 310, or knowledge of C.
Principles of knowledge-based search techniques; automatic deduction,
knowledge representation using predicate logic, machine learning,
probabilistic reasoning. Applications in tasks such as problem solving, data
mining, game playing, natural language understanding, computer vision, speech
recognition, and robotics.
Prereq: CS 367.
The course covers basic techniques and tools in natural language processing:
generative grammars, parsing, dictionary construction, semantic networks,
generation of text from a knowledge base, natural language interfaces, and
machine translation.
Prereq: CS 536 or CS 537
or 564 or consent of instructor.
An introduction to basic tools and applications for modeling and analysis of
computer systems. Fundamentals of network flow graphs, graph models of
computation and stochastic models of computer system performance. Network
delay analysis and capacity planning, reachability analysis for deadlock
detection in distributed systems, Markov chains, elementary queueing theory,
basic concepts of queueing network models and associated analyses.
Prereq: Math 223, CS 367 and CS 354.
The effect of scientific and technological change on social and economic
organization. Historical examples. Comparison, with these examples, of the
computer and its effect. Consideration of possible uses of computer systems,
social change which they would influence, and the choices they present.
Prereq: Junior standing.
(Last taught: Fall 90)
The design of computer systems and components. Processor design, instruction
set design, and addressing; control structures and microprogramming; memory
management, caches, and memory hierarchies; interrupts and I/O structures.
Prereq: ECE/CS 352 and CS/ECE 354;
co-req: CS 367.
Introduction to fundamental geometric computations and algorithms, and their
use for solving engineering and scientific problems. Computer representations
of simple geometric objects and paradigms for algorithm design. Applications
from areas of engineering analysis, design and manufacturing, biology,
statistics, and other sciences.
Prereq: CS 367 or equivalent,
Math 223 or equivalent, or consent of instructor.
Survey of computer graphics. Image representation, formation, presentation,
composition and manipulation. Modeling, transformation, and display of
geometric objects in 2 and 3 dimensions. Representation of curves and
surfaces. Rendering, animation, multi-media and visualization.
Prereq: Math 320 or 340 (linear algebra), and CS 367.
What a database management system is; different data models currently used to
structure the logical view of the database: relational, hierarchical, and
network. Hands-on experience with relational and network-based database
systems. Implementation techniques for database systems. File organization,
query processing, concurrency control, rollback and recovery, integrity and
consistency, and view implementation.
Prereq: CS 367
and 354.
Algorithms for computational problems in molecular biology. The course will
study algorithms for problems such as: genome sequencing and mapping,
pairwise and multiple sequence alignment, modeling sequence classes and
features, phylogenetic tree construction, and gene-expression data
analysis.
Prereq: CS 367 and Math 222.
Survey of important and useful algorithms for sorting, searching,
pattern-matching, graph manipulation, geometry, and cryptography. Paradigms
for algorithm design. Techniques for efficient implementation.
Prereq: CS 367,
Math 222, and CS 240, or consent of instructor.
Formulation and modeling of applications
from computer sciences, operations research, business, science and
engineering involving optimization and equilibrium models.
Survey and appropriate usage of software tools for solving such problems,
including modeling language use, automatic differentiation, subroutine
libraries and web-based optimization tools and environments.
Prereq: CS 302, Math 340 or equivalent.
Prereq: Consent of instructor.
Architecture of computer networks and network protocols, protocol
layering, reliable transmission, congestion control, flow
control, naming and addressing, unicast and multicast routing, network
security, network performance, widely used protocols such as Ethernet,
wireless LANs, IP, and HTTP.
Prereq: CS 537.
This is a senior level undergraduate course covering various topics on
information security. the course will cover a wide range of topics, such as,
cryptographic primitives, security protocols, system security, and emerging
topics.
Prereq: CS 537 or consent of instructor. Elementary
knowledge of mathematical logic and discrete probability theory is also
required.
Survey of software technology important to computer games and other forms
of interactive technology: Real-time image generation, managing complex
geometric models, creating virtual characters, simulating physical
phenomenon, networking technology for distributed virtual environments.
Prereq: CS 559.
Prereq: Honors candidacy and consent of instructor.
(A year's course must be taken to get credit.)
Prereq: Consent of instructor.
Prereq: Junior or senior standing and consent of instructor.
Design and implementation of compilers for modern programming languages.
Emphasis on tools for compiler construction.
Prereq: CS 536.
Advanced topics in compiling and programming languages design. Advanced
parsing techniques; automatic syntactic error correction; local and global
code optimization; attribute grammars; programming language design issues
(data and control abstractions, specification and verification of high level
languages).
Prereq: CS 701.
Introduction to principles of advanced programming languages and
programming-language theory. Topics include: lambda-calculus, functional
languages, polymorphic functions, type inference, structural induction, lazy
evaluation, operational semantics, denotational semantics, and axiomatic
semantics.
Prereq: CS 536 or consent of instructor.
Advanced course covering various analysis techniques used in software
engineering. This course will cover techniques for analyzing various software
artifacts. Some of the topics that will be covered are: model checking,
testing, program analysis, requirements analysis, and safety analysis.
Prereq: CS 536 or consent of instructor. A basic knowledge
of mathematical logic is also required.
Design and implementation of protocols, systems, and applications for mobile
and wireless networking, particularly at the media access control, network,
transport, and application layers. Focus is on the unique problems and
challenges presented by the properties of wireless transmission, various
device constraints such as limited battery power, and node mobility.
Prereq: CS 640 or CS 537 or equivalent, or
permission of the instructor.
Techniques for quantitative analysis of algorithms. Charging arguments,
amortization, probabilistic methods. Adversary and information lower bounds.
Use of methods from combinatorics, complex analysis, and asymptotics in
obtaining precise analyses of quicksort, chained hashing, and other
algorithms.
Prereq: CS 577, knowledge of complex variables at the level of
Math 321.
(Last taught: Spring 96)
Development of finite difference methods for hyperbolic, parabolic, and
elliptic partial differential equations. Analysis of accuracy and stability of
difference schemes. Direct and iterative methods for solving linear systems.
Introduction to finite volume methods. Applications from science
and engineering.
Prereq: CS 302,
CS 412, Math 322, 340, 521 or equivalent, or consent of
instructor.
Introduction to spectral methods (Fourier; Chebyshev; Fast Fourier Transform),
finite element methods (Galerkin methods; energy estimates and error analysis),
and mesh-free methods (Monte Carlo; smoothed-particle hydrodynamics) for
solving partial differential equations. Applications from science and
engineering.
Prereq: CS 302,
CS 412, Math 322, 340, 521 or equivalent, or consent of
instructor.
Fundamentals of normed spaces and linear operators; analysis of nonlinear
operators; existence of, and iterative methods for, solutions of linear and
nonlinear operator equations, error estimation; variational theory and
minimization problems; monotonicity theory. Development of abstract tools and
application of them to the general analysis of numerical methods for such
problems as differential and integral equations.
Prereq: CS 513, CS 514 and Math 234 or consent
of instructor.
Optimization problems and techniques for networks, including single and
multi-commodity network flow, critical path, and facilities location problems.
The theory of totally unimodular matrices and its relationship to network
optimization.
Prereq: CS 525 or consent of instructor.
Formulation of integer programming problems and the characterization of
optimization problems representable as integer and mixed-integer programs.
The degree of difficulty of classes of integer programs and its relation to
the structure of their feasible sets. Optimality conditions.
Branch-and-bound, cutting plane, and decomposition methods for obtaining
solutions or approximating solutions.
Prereq: CS 525 or consent of instructor.
A generalized optimization model; discrete and continuous state spaces;
deterministic and stochastic transition functions. Multistage decision
processes. Functional equations and successive approximation in function and
policy spaces. Relationship to linear programming and acyclic networks.
Markovian decision processes. Solution methods and computational problems.
Associated topics and applications such as calculus of variations; feedback
control processes; and optimal trajectories, inventory and maintenance
policies, and stopping rules.
Prereq: CS 525 or IE 623;
Math 521 or CS 726; Math 431 and computer programming, or
consent of instructor.
(Last taught: Spring 83)
Separation theorems and other properties of convex sets in finite-dimensional
spaces. Formulation of nonlinear programming problems. Saddle-point
(Lagrangian) optimality criteria for convex nonlinear programs. Duality
theorems for convex programs. First, and second-order Kuhn-Tucker
stationary-point theory for differentiable non-convex programs. Perturbation
and sensitivity analysis. Applications and extensions.
Prereq: Familiarity with basic mathematical analysis (e.g., Math 521) and
either Math. 443 or 320, or consent of instructor.
Conjugate convex functions and Fenchel-Rockafellar duality. Monotone operators
and subdifferentials. Advanced methods for nonconvex problems, such as
variational principles, generalized gradients, degree and index arguments, and
multivalued ordinary differential equations. Applications to economics and
operations research.
Prereq: CS 726 or consent of instructor.
(Infrequently offered.)
Rigorous description, and convergence proofs of various nonlinear programming
algorithms. Emphasis on algorithms that are important, can be proved to
converge and are practical. Unification of classes of algorithms and
convergence rates. Each student will code and test one of the algorithms
described in the course.
Prereq: Consent of instructor.
Learning and hypothesis formation; knowledge acquisition; deductive and
inductive inference systems; reasoning techniques involving time, nonmonotonic
reasoning, spatial reasoning, truth maintenance systems; planning strategies.
Prereq: CS 540.
Sparse matrices in engineering and science. Sparsity preservation. Numerical
error control. Transversal algorithms, Tarjan's algorithm, Tinney's
algorithms, minimum degree, banding, nested dissection, frontal methods.
Linear and nonlinear equation solving. Compensation. Sparse vector methods.
Iterative methods. ODE and PDE applications.
Prereq: CS 367
and (ECE 334 or ( CS 412 and Math 340)); or consent of
instructor.
Advanced topics in operating systems, including process communication,
resource allocation, multiprocess and network operating systems, kernel
philosophies, fault-tolerant systems, virtual machines, high-level language
systems, verifiability and proof techniques.
Prereq: CS 537 or consent of instructor.
Statistical techniques of computer system performance evaluation and
measurement. System selection and tuning strategies. Deterministic and
probabilistic models of process scheduling and resource allocation. Analytic
and simulation models of computer systems. Systematic study of system
architectures.
Prereq: Math 222, CS 537 or CS 736, or
consent of instructor.
Basic concepts, distributed programming; distributed file systems; atomic
actions; fault tolerance, transactions, program & data replication, recovery;
distributed machine architectures; security and authentication; load balancing
and process migration; distributed debugging; distributed performance
measurement; distributed simulation techniques; distributed applications;
correctness considerations and proof systems.
Prereq: CS 736 or consent of instructor.
(Infrequently offered.)
Advanced topics in computer communications networks: Congestion and flow
control; Routing; Rate-based protocols; High-speed interfaces and
technologies; Metropolitan area networks; Fast packet switching technologies;
Advanced applications; Network services: name service, authentication,
resource location.
Prereq: CS 640.
Advanced analytical modeling techniques for performance analysis of computer
systems, including discrete-parameter (embedded) Markov Chains, M/G/1 queues,
stochastic Petri nets, queueing networks, renewal theory, and sample path
analysis. Application areas include high performance computer architectures,
databases, and operating system resource allocation policies.
Prereq: CS 547 or consent of instructor.
750 Real-Time Computing Systems 3cr. (also ECE)
Introduction to the unique issues in the design and analysis of computer
systems for real-time applications. Hardware and software support for
guaranteeing timeliness with and without failures. Resource management,
time-constrained communication, scheduling and imprecise computations,
real-time kernels and case studies.
Prereq: CS 552 and 537 or consent of
instructor.
Advanced techniques of computer design. Parallel processing and pipelining;
multiprocessors, multi-computers and networks; high performance machines and
special purpose processors; data flow architecture.
Prereq: ECE/CS 552 and CS 537.
Overview of MOS devices and circuits; introduction to integrated circuit
fabrication; topological design of data flow and control; interactive graphics
layout; circuit simulation; system timing; organizational and architectural
considerations; alternative implementation approaches; design project.
Prereq: ECE 340, ECE/CS 352, and CS/ECE 552
or consent of instructor.
Broad introduction to computer-aided design tools for VLSI, emphasizing
implementation algorithms and data structures. Topics covered: design styles,
layout editors, symbolic compaction, module generators, placement and routing,
automatic synthesis, design-rule checking, circuit extraction, simulation and
verification.
Prereq: CS 367, good programming skills,
CS 352; CS 755 strongly recommended.
(Last taught: Spring 94)
Parallel algorithms, principles of parallelism detection and vectorizing
compilers, interconnection networks, SIMD/MIMD machines, processor
synchronization, data coherence, multis, dataflow machines, special purpose
processors.
Prereq: CS 752 or consent of instructor.
Advanced topics in computer architecture that explore the implications to architecture of
forthcoming evolutionary and revolutionary changes in application demands,
software paradigms, and hardware implementation technologies.
Prereq: CS 752 and CS/ECE 757 required. Alternatively, consent of instructor.
Computational approaches to learning: including inductive inference,
explanation-based learning, analogical learning, connectionism, and formal
models. What it means to learn. Algorithms for learning. Comparison and
evaluation of learning algorithms. Cognitive modeling and relevant
psychological results.
Prereq: CS 540.
Implementation of database management systems, the impact of new technology on
database management systems, back-end database computers, distributed database
management systems, concurrency control and query execution in both
distributed and centralized systems, implementation of multiple user views,
roll-back and recovery mechanisms, database translation.
Prereq: CS 564, CS 537,
and CS 536 or consent of instructor.
High-level perceptual processing by computer; recognition of complex objects
and scenes; advanced computer vision systems; relation to the living visual
system; algorithm-structured multi-computer architectures for perception;
binocular and multi-modal vision; recognition and tracking of moving objects;
learning in perceptual systems; perceptual-motor control of robots.
Prereq: CS 731 or consent of instructor.
(Last taught: Fall 91)
Fundamentals of image analysis and computer vision; image acquisition and
geometry; image enhancement; recovery of physical scene characteristics;
shape-from techniques; segmentation and perceptual organization;
representation and description of two-dimensional and three-dimensional
objects; shape analysis; texture analysis; goal-directed and model-based
systems; parallel algorithms and special-purpose architectures.
Prereq: CS 540.
Develop algorithms and mathematical models for natural language processing
tasks, including text categorization, information retrieval, speech
recognition, machine translation, and information extraction. Focus is on the
state-of-the-art computational techniques as they are applied to natural
language tasks.
Prereq: CS 540 or the equivalent.
Advanced course covering computational problems in molecular biology.
The course will
study algorithms for problems such as:
modeling sequence classes and features,
phylogenetic tree construction,
gene-expression data protein and RNA structure prediction, and whole-genome analysis and
comparisons.
Prereq: CS 576.
Survey of technical issues in the creation of moving and dynamic computer
imagery. Principles of animation. Manual motion specification and
keyframing. Procedural and simulation-based motion synthesis. Motion
capture processing, editing and use. Animation systems. Modeling,
rendering and video issues relating to animation. Image-based animation
methods and warping. Applications of animation such as games and virtual
environments. Basic introduction to artistic issues in animation, such as
cinematography. Special Effects for Film and Video.
Prereq: CS 559.
Survey of models and algorithms used in the computer generation of images.
The physics of global illumination, the global illumination equation,
approximations and techniques for solving them. Large database rendering.
Image-based methods. Stylized rendering. Point-based (splatting)
algorithms.
Prereq: CS 559.
A unified view on geometric, algorithmic, and computational
issues of automatic motion planning of motion for mobile robots
and arm manipulators in a complex environment. Planning with
complete information - configuration space, connectivity graphs,
computational complexity; with partial information - algorithm
convergence, topological issues. Effect of system kinematics.
Relation between sensing media and algorithm efficiency.
Prereq: Math 340 or equivalent and consent of instructor.
(Infrequently offered.)
Study of database programming languages. Topics include: Logic based
languages, embedded query languages, object-oriented languages. There will be
coverage of types, persistence, inheritance, object identity, data models,
implementation issues, and case studies of actual systems and
languages.
Prereq: CS 564 and CS 536 or consent
of instructor.
Algorithms for graph manipulation, geometry, matrix multiplication, string
processing, information retrieval, etc. Mathematical models and analyses.
Lower bounds. Probabilistic, distributed, and parallel algorithms. Advanced
data structures.
Prereq: CS 577.
For students writing a Master's thesis or project.
Prereq: Master's candidate.
For pre-Master's students doing research projects.
Prereq: Master's candidate.
Models of computation, Turing machines, recursive functions, Church's thesis,
undecidable problems, degrees of unsolvability. Denotational semantics, logic
of programs. Applications to automata, formal languages, program
verification, programming languages, and complexity.
Prereq: CS 520.
Design, implementation, and analysis of algorithms for exact arithmetic on
arbitrarily large integers, Gaussian integers and rational numbers.
Algorithms for modular arithmetic and internal arithmetic. Algorithms for
integer greatest common divisor calculation and factorization. Classical and
modern algorithms.
Prereq: Math 541 and CS 367,
or consent of instructor.
Study of computation with limited resources (time, space, etc.). Complexity
hierarchies, structure of P, NP, PSPACE, co-NP. Strong NP-completeness,
isomorphism completeness, relativized complexity. Abstract complexity,
probabilistic complexity. Lower bounds, time-space tradeoffs, pebbling,
alternation.
Prereq: CS 520.
(Infrequently offered.)
Topic selected from advanced areas. A variable content course which may be
repeated any number of times for credit.
Prereq: Consent of instructor.
(Infrequently offered.)
Topics selected from advanced areas. A variable content course which may be
repeated any number of times for credit.
Prereq: Consent of instructor.
(Infrequently offered.)
Advanced topics in algorithms, complexity, and models of computation,
discussed in a seminar format. The exact topic varies.
Prereq: consent of instructor.
(Infrequently offered.)
Interpolation and approximation by means of interpolation; uniform
approximation; best approximation; approximation in normed linear spaces;
spline functions; orthogonal polynomials; degree of approximation;
computational procedures.
Prereq: Consent of instructor.
Prereq: Post-Master's, pre-dissertator status.
This seminar course brings together trainees, trainers, and other interested faculty
and students for cross-disciplinary exposure to current research in computer
science, biostatistics, engineering, biological sciences, and biomedical
research problems related to bioinformatics and computational biology.
Prereq: Consent of instructor.
Prereq: Dissertator status.
Prereq: Dissertator status.
The various research areas in the Department each run an advanced, non-credit
seminar where graduate students, visitors, and faculty members from within and
outside the Department present their latest research or discuss recently
published papers. These seminars give graduate students the opportunity to
learn about current research problems and to get valuable feedback on their
own research.
Also, each year the Department runs a Distinguished Lecturer Series where 5-6
leading researchers in a subfield of computer science visit.
The visitors commonly give two lectures - one to a general computer science audience
and a second, more specialized, talk targeted toward researchers in the speaker's speciality.
|
|
 |