19.01.2013 Views

Duke University 2009-2010 - Office of the Registrar - Duke University

Duke University 2009-2010 - Office of the Registrar - Duke University

Duke University 2009-2010 - Office of the Registrar - Duke University

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Development <strong>of</strong> network application programs based on <strong>the</strong> client-server model. Remote procedure call and<br />

implementation <strong>of</strong> remote procedure call. Prerequisite: knowledge <strong>of</strong> <strong>the</strong> C programming language. Instructor: Staff.<br />

3 units.<br />

215. Wireless Networking and Mobile Computing. 3 units. C-L: see Electrical and Computer Engineering 256<br />

216. Data-Intensive Computing Systems. Data-Intensive Computing Systems. Principles and techniques for making<br />

intelligent use <strong>of</strong> <strong>the</strong> massive amounts <strong>of</strong> data being generated in commerce, industry, science, and society. Topics<br />

include indexing, query processing, and optimization in large databases, data mining and warehousing, new abstractions<br />

and algorithms for parallel and distributed data processing, fault-tolerant and self-tuning data management for cloud<br />

computing, and information retrieval and extraction for <strong>the</strong> Web. Prerequisites: Computer Science 116 or an introductory<br />

database course or consent <strong>of</strong> instructor. Instructor: Babu or Yang. 3 units. C-L: Computational Biology and<br />

Bioinformatics 233, Computational Biology and Bioinformatics 265<br />

219. Statistical Data Mining. 3 units. C-L: see Statistics and Decision Sciences 218<br />

220. Advanced Computer Architecture I. Fundamental aspects <strong>of</strong> advanced computer architecture design and analysis.<br />

Topics include processor design, pipelining, superscalar, out-<strong>of</strong>-order execution, caches (memory hierarchies), virtual<br />

memory, storage systems, simulation techniques, technology trends and future challenges. Prerequisite: Computer<br />

Science 104 or Electrical and Computer Engineering 152 or equivalent. Instructors: Board, Kedem, Lebeck, or Sorin.<br />

3 units. C-L: Electrical and Computer Engineering 252<br />

221. Advanced Computer Architecture II. Parallel computer architecture design and evaluation. Design topics include<br />

parallel programming, message passing, shared memory, cache coherence, cache coherence, memory consistency<br />

models, symmetric multiprocessors, distributed shared memory, interconnection networks, and synchronization.<br />

Evaluation topics include modeling, simulation, and benchmarking. Prerequisite: Computer Science 220 or Electrical<br />

and Computer Engineering 252 or consent <strong>of</strong> instructor. Instructor: Lebeck or Sorin. 3 units. C-L: Electrical and<br />

Computer Engineering 259<br />

225. Fault-Tolerant and Testable Computer Systems. 3 units. C-L: see Electrical and Computer Engineering 254<br />

226. Probability for Electrical and Computer Engineers. 3 units. C-L: see Electrical and Computer Engineering 255<br />

230. Design and Analysis <strong>of</strong> Algorithms. Design and analysis <strong>of</strong> efficient algorithms. Algorithmic paradigms.<br />

Applications include sorting, searching, dynamic structures, graph algorithms, randomized algorithms. Computationally<br />

hard problems. NP completeness. Prerequisite: Computer Science 100 or equivalent. Instructor: Agarwal, Arge, or<br />

Reif. 3 units.<br />

232. Approximation Algorithms. Cover traditional approximation algorithms with combinatorial and linear<br />

programming techniques; extended survey <strong>of</strong> cut problems and metric embeddings; embeddings, dimensionality<br />

reduction, locality sensitive hashing, and game <strong>the</strong>ory. Instructor: Munagala. 3 units.<br />

234. Computational Geometry. Models <strong>of</strong> computation and lower-bound techniques; storing and manipulating<br />

orthogonal objects; orthogonal and simplex range searching, convex hulls, planar point location, proximity problems,<br />

arrangements, linear programming and parametric search technique, probabilistic and incremental algorithms.<br />

Prerequisite: Computer Science 230 or equivalent. Instructor: Agarwal, Edelsbrunner, or Reif. 3 units. C-L:<br />

Computational Biology and Bioinformatics 234, Computational Biology and Bioinformatics 264<br />

235. Topics in Data Compression. Emphasis on <strong>the</strong> redundancies found in textual, still-frame images, video, and voice<br />

data, and how <strong>the</strong>y can be effectively removed to achieve compression. The compression effects in information<br />

processing. Additional topics may include information <strong>the</strong>ory, <strong>the</strong> vulnerability <strong>of</strong> compressed data to transmission<br />

errors, and <strong>the</strong> loss <strong>of</strong> information with respect to <strong>the</strong> human visual system (for image data). Available compression<br />

technologies and <strong>the</strong> existing compression standards. Prerequisites: Computer Science 130 and 208 or Computer<br />

Science 254 or Electrical Engineering 282. Instructor: Markas or staff. 3 units.<br />

236. Computational Topology. Introduction to topology via graphs; facts about curves and surfaces; representing<br />

triangulations; discussion <strong>of</strong> simplicial complexes; emphasis on Delaunay and alpha complexes and on homology<br />

groups; computational via matrix reduction; Morse functions; PL functions; Reeb graphs; development <strong>of</strong> persistent<br />

homology; pro<strong>of</strong> <strong>of</strong> stability; applications and extensions. Prerequisite: Computer Science 230. Instructor: Edelsbrunner<br />

or Harer. 3 units. C-L: Ma<strong>the</strong>matics 264<br />

237. Randomized Algorithms. Models <strong>of</strong> computation, Las Vegas and Monte Carlo algorithms, linearity <strong>of</strong> expectation,<br />

Markov and Chebyshev inequalities and <strong>the</strong>ir applications, Chern<strong>of</strong>f bound and its applications, probabilistic methods,<br />

expanders, Markov chains and random walk, electric networks and random walks, rapidly mixing Markov chains,<br />

randomized data structures, randomized algorithms for graph problems, randomized geometric algorithms, number<br />

<strong>the</strong>oretic algorithms, RSA cryptosystem, derandomization. Prerequisite: Computer Science 230. Instructors: Agarwal<br />

and staff. 3 units.<br />

240. Computational Complexity. Turing machines, undecidability, recursive function <strong>the</strong>ory, complexity measures,<br />

reduction and completeness, NP, NP-Completeness, co-NP, beyond NP, relativized complexity, circuit complexity,<br />

alternation, polynomial time hierarchy, parallel and randomized computation, algebraic methods in complexity <strong>the</strong>ory,<br />

communication complexity. Prerequisite: Computer Science 140 or equivalent. Instructor: Agarwal. 3 units.<br />

Departments, Programs, and Course Offerings 83

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!