Duke University 2008-2009 - Office of the Registrar - Duke University
Duke University 2008-2009 - Office of the Registrar - Duke University
Duke University 2008-2009 - Office of the Registrar - Duke University
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
The Department <strong>of</strong> Computer Science <strong>of</strong>fers programs leading to <strong>the</strong> MS and PhD<br />
degrees in areas <strong>of</strong> concentration including algorithms, artificial intelligence, scientific<br />
computing and numerical analysis, and systems and architecture. The MS program consists<br />
<strong>of</strong> coursework (30 credits) and a research <strong>the</strong>sis or project under <strong>the</strong> supervision <strong>of</strong> a faculty<br />
advisor. The PhD program consists <strong>of</strong> coursework and a sequence <strong>of</strong> research milestones<br />
culminating in a doctoral dissertation. Course programs for both degrees include a breadth<br />
requirement, advanced courses in <strong>the</strong> declared area <strong>of</strong> concentration, and two courses in a<br />
related field <strong>of</strong> study. For <strong>the</strong> PhD program <strong>the</strong> breadth requirement is satisfied by earning<br />
qualifying credit in four <strong>of</strong> six core areas <strong>of</strong> subject knowledge. All entering graduate<br />
students participate in a special seminar course (Computer Science 300) to introduce <strong>the</strong>m<br />
to <strong>the</strong> discipline and pr<strong>of</strong>ession <strong>of</strong> computer science. A student entering graduate study in<br />
computer science should have a strong undergraduate grounding in <strong>the</strong> fundamentals <strong>of</strong><br />
calculus, linear algebra, and discrete ma<strong>the</strong>matics, and basic knowledge <strong>of</strong> data structures,<br />
assembly language, and one or more higher-level computing programming languages; some<br />
undergraduate research experience is preferred. Students should consult <strong>the</strong> <strong>of</strong>ficial<br />
departmental documents Graduate Degree Requirements and Addendum: Graduate<br />
Research in Computer Science for a full explanation <strong>of</strong> requirements not listed in this<br />
bulletin.<br />
Outstanding programs in geometric computing; internet systems, networking and<br />
security; biological computing and nanotechnologies; memory systems and massive data<br />
management; learning and modeling, computer graphics and visualization, sensor networks,<br />
numerical analysis, s<strong>of</strong>tware engineering, complexity <strong>the</strong>ory, and robotics provide exciting<br />
and challenging research opportunities to students in computer science. The research<br />
interests <strong>of</strong> our faculty overlap with <strong>the</strong>se areas and with researcher areas in o<strong>the</strong>r disciplines<br />
such as biology, engineering, nanotechnology, environmental sciences and medicine.<br />
210. Operating Systems. Fundamental principles <strong>of</strong> operating system design applied to<br />
state-<strong>of</strong>-<strong>the</strong>-art computing environments (multiprocessors and distributed systems)<br />
including process management (coscheduling and load balancing), shared memory<br />
management (data migration and consistency), and distributed file systems. Instructor:<br />
Chase or Cox. 3 units.<br />
212. Distributed Information Systems. Principles and techniques for sharing information<br />
reliably and efficiently in computer networks, ranging from high-speed clusters to globalscale<br />
networks (e.g., <strong>the</strong> Internet). Topics include advanced distributed file systems,<br />
distributed programming environments, replication, caching and consistency, transactional<br />
concurrency control, reliable update and recovery, and issues <strong>of</strong> scale and security for<br />
Internet information services. Prerequisites: Computer Science 110 or 210 and Computer<br />
Science 214, or consent <strong>of</strong> <strong>the</strong> instructor. Instructor: Chase. 3 units.<br />
214. Computer Networks and Distributed Systems. Basic systems support for processto-process<br />
communications across a computer network. The TCP/IP protocol suite and <strong>the</strong><br />
Berkeley sockets application programs interface. Development <strong>of</strong> network application<br />
programs based on <strong>the</strong> client-server model. Remote procedure call and implementation <strong>of</strong><br />
remote procedure call. Prerequisite: knowledge <strong>of</strong> <strong>the</strong> C programming language. Instructor:<br />
Staff. 3 units.<br />
215. Wireless Networking and Mobile Computing. 3 units. C-L: see Electrical and<br />
Computer Engineering 256<br />
216. Advanced Database Systems. Advanced database management system design<br />
principles and techniques. Materials drawn from both classic and recent research literature.<br />
Possible topics include access methods, query processing and optimization, transaction<br />
processing distributed databases, object-oriented and object relational databases, data<br />
warehousing, data mining, web and semistructured data, search engines. Programming<br />
projects required. Prerequisites: An introductory database course or consent <strong>of</strong> instructor.<br />
Instructor: Babu or Yang. 3 units. C-L: Computational Biology and Bioinformatics 233<br />
Courses <strong>of</strong> Instruction 107