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