|
Search our Site
ON THIS PAGE: Introduction to the Department
| DEPARTMENT OF COMPUTER SCIENCE
JAN F. PRINS, Chair James Anderson (62) Distributed and Concurrent Algorithms, Real-Time Systems, Fault-Tolerant Computing, Formal Methods Sanjoy K. Baruah (78) Scheduling Theory, Real-Time and Safety-Critical System Design, Computer Networks, Resource Allocation and Sharing in Distributed Computing Environments Gary Bishop (39) Hardware and Software for Man-Machine Interaction, 3D Interactive Computer Graphics, Virtual Environments, Tracking Technologies, Image-Based Rendering Frederick P. Brooks Jr. (9) 3D Interactive Computer Graphics, Human-Computer Interaction, Virtual Worlds, Computer Architecture, the Design Process Prasun Dewan (63) User Interfaces, Distributed Collaboration, Software Engineering Environments, Object-Oriented Databases, Mobile Computing Henry Fuchs (11) High-Performance Graphics Hardware, 3D Medical Imaging, Head-Mounted Displays, Virtual Environments Guido Gerig (75) Image Analysis, Shape-Based Object Recognition, 3D Object Representation and Quantitative Analysis, Medical Image Processing John H. Halton (26) Applications of Combinatorial and Probabilistic Methods and of Scientific and Mathematical Analysis to Computational, Scientific, and Engineering Problems Kevin Jeffay (40) Real-Time Systems, Operating Systems, Distributed Systems, Multimedia Networking, Computer-Supported Cooperative Work, Performance Evaluation Ming C. Lin (72) Physically Based and Geometric Modeling, Applied Computational Geometry, Robotics, Distributed Interactive Simulation, Virtual Environments, Algorithm Analysis Dinesh Manocha (58) Geometric and Solid Modeling, Physically Based Modeling, Computer Graphics, Simulation-Based Design, Symbolic and Scientific Computation, Computational Geometry Stephen M. Pizer (6) Image Analysis and Display, Human and Computer Vision, Graphics, Numerical Computing, Medical Imaging David A. Plaisted (28) Mechanical Theorem Proving, Term Rewriting Systems, Logic Programming, Algorithms Jan F. Prins (33) Parallel Algorithms, Languages, and Architectures, Computational Biology and Bioinformatics, High-Level Programming Languages, Compilers, Computer-based Assistive Technologies Daniel A. Reed (92) Design of Very High-Speed Computers, Providing New Computing Capabilities for Scholars in Science, Medicine, Engineering and the Humanities, Tools and Techniques for Capturing and Analyzing the Performance of Parallel Systems, Collaborative Virtual Environments for Real-Time Performance Analysis John B. Smith (25) Computer-Supported Cooperative Work, Hypermedia Systems, World Wide Web Architecture and Programming, Java Object Storage and Access Jack S. Snoeyink (79) Computational Geometry, Algorithms for Geographical Information Systems and Computational Biology, Geometric Modeling and Computation, Theory of Computation Stephen F. Weiss (10) Information Storage and Retrieval, Natural Language Processing, Communications and Distributed Systems, Computer-Supported Cooperative Work
Kye S. Hedlund (22) Computer-Aided Design, Computer Architecture, Algorithm Design and Analysis, Parallel Processing Anselmo A. Lastra (52) Interactive 3D Computer Graphics, Hardware Architectures for Computer Graphics Ketan Mayer-Patel (80) Multimedia Systems, Networking, Multicast Applications Leonard McMillan (87) Computer Graphics, Image Processing, Computer Vision, Multimedia, Microelectronics, Computer Organization Marc Pollefeys (89) Computer Vision, Image-Based Modeling and Rendering, Image and Video Analysis, Multi-View Geometry David Stotts (59) Computer-Supported Cooperative Work, Hypermedia, Software Engineering and Formal Methods, Programming Languages and Concurrency, Interoperable Distributed Systems Wei Wang (90) Data Mining, Database Systems, Bioinformatics
Jasleen Kaur (88) Design of Networks and Operating Systems, Specifically, Resource Management for Providing Service Guarantees, Internet Measurements, Overlay and Peer-to-Peer Networks, Router Architectures Maria Papadopouli (86) Applications for Mobile, Wireless Networks, Ad Hoc, and Sensor Networks, Pervasive Computing Montek Singh (84), High-Performance and Low-Power Digital Systems, Asynchronous Circuits and Systems, System-on-a-Chip Design, VLSI CAD
Diane Pozefsky (93) Computer-Supported Cooperative Work, Distributed Systems, Mobile Computing, Networking, Software Engineering and Environments F. Donelson Smith (42) Computer Networks, Operating Systems, Distributed Systems, Multimedia, Computer-Supported Cooperative Work
Russell M. Taylor II (69) 3D Interactive Computer Graphics, Virtual Worlds, Distributed Computing, Scientific Visualization, Human-Computer Interaction Gregory F. Welch (71) Human-Machine Interaction, 3D Interactive Computer Graphics, Virtual/Augmented Environment Tracking Systems, Shared Virtual Environments and Telecollaboration Mary C. Whitton (81) Virtual and Augmented Reality Systems for Data Visualization, Computer Graphics System Architectures
Research Assistant Professors Naga Govindaraju (96) Computer Graphics, Computational Geometry, Scientific Computation, Hardware Architectures, Databases and Data Mining Michael Rosenthal (95) Interventional Radiology, Medical Imaging, Augmented Reality Martin Styner (94) Medical image analysis, 3D object shape representation and quantitative shape analysis, image processing
Timothy L. Quigg (83) Intellectual Property Rights, Industrial Relations, Contract Management, Research Administration Leandra Vicci (35) Information Processing Hardware: Theory, Practice, Systems, and Applications Jeannie M. Walsh (56) Computer Education, Social, Legal, and Ethical Issues Concerning Information Technology
Elizabeth Bullitt, Computer-Aided Surgery, Computer-Aided Diagnosis M. Gail Jones, Science Education, Gender and Science, High-Stakes Assessment Nanotechnology Education, Haptics and Learning J. Stephen Marron, Smoothing Methods for Curve Estimation Julian Rosenman (47) Computer Graphics for Treatment of Cancer Patients, Contrast Enhancement for X-Rays Richard Superfine, Condensed Matter Physics, Biophysics, Microscopy Sean Washburn, Condensed Matter Physics, Materials Science
Stephen R. Aylward (73) Computer-Aided Diagnosis, Computer-Aided Surgical Planning, Statistical Pattern Recognition, Image Processing, Neural Networks Siddhartha Chatterjee (68) High-Level Programming Languages, Compilation for Highly Parallel Machines, Object-Oriented Programming, Parallel Algorithms and Architectures Bert Dempsey (76) Computer-Supported Cooperative Work, Computer Networks, Multimedia Communications, Digital Library Systems Steven E. Molnar (54) Architectures for Real-Time Computer Graphics; VLSI-Based System Design, Parallel Rendering Algorithms Andrew B. Nobel, Statistical Analysis of Microarrays, Analysis of Internet Traffic, Non-Parametric Inference, Pattern Recognition: Clustering and Classification Lars S. Nyland, High-Performance Computing, Hardware Systems, Computer Graphics and Image Analysis, Geometric Modeling and Computation Diane H. Sonnenwald, Collaboration among Multidisciplinary, Cross-Organizational Teams, Collaboration, Human Information Behavior, Digital Libraries
Sarang C. Joshi, Image Analysis, Medical Image Processing, Computer Vision, Computational Anatomy
Nicholas England (67) Systems Architectures for Graphics and Imaging, Scientific Visualization, Volume Rendering, Interactive Surface Modeling John Poulton (32) Graphics Architectures, VLSI-Based System Design, Design Tools, Rapid System Prototyping Adjunct Research Assistant Professor Mark Foskey, Computer-Aided Surgical Planning, Computer-Aided Diagnosis, Geometric Computation
Peter Calingaert Gyula A. Magó Donald F. Stanat
The MS and PhD curricula are oriented toward the design and application of real computer systems and toward that portion of theory that guides and supports practice. The PhD program prepares teachers and researchers for positions with universities, government research laboratories, and industry. Academic employment ranges from four-year colleges, where teaching is the primary focus, to positions at major research universities. The MS program prepares highly competent and broadly skilled practitioners. A majority of the master’s graduates work in industry, in companies ranging from small start-up operations to government labs and large research and development corporations. Most of the department’s approximately 150 graduate students are full time. Students contribute to nearly every aspect of the department’s operation. In addition to taking a wide variety of courses, they participate in groundbreaking research, teach, attend research group meetings, and can serve on committees that affect all aspects of life in the department. The Computer Science Students Association sponsors both professional and social events and represents the students in departmental matters. Its president is a voting member at faculty meetings. Sitterson Hall, opened in 1987, provides seventy-four thousand square feet of sophisticated, state-of-the-art research facilities and office space for all members of the department. The building is organized in “clusters” to create research communities featuring shared laboratories and open conference areas to facilitate interaction among students and faculty. The building contains the 60-seat C. Hugh Holman video teleclassroom, a 125-seat auditorium; the Lib Moore Jones Faculty Conference Room; a reading room; and various research laboratories, conference areas, and study areas. Graduate students have access to all of the department’s research and teaching facilities, including specialized research laboratories for graphics and image processing, computer building and design, and collaborative, distributed, and parallel systems. The laboratories, offices, conference areas, and classrooms are bound together by the department’s fully integrated, distributed computing environment. The department maintains a rich and varied computing environment ranging from standard IBM and Dell PCs (running Windows XP, Linux, or FreeBSD), Macs (running OS/X), a few Suns (Solaris), and one big SGI (IRIX) to specialized research equipment. These are interconnected by a high-speed data network with gigabit switches. A full infrastructure (including desktop computers with 100Mb switched connections, AFS file system, and backups, in an office with fiber, voice, and video) is provided for all students. The department’s open lab structure means that all specialized equipment is available to all students. Sitterson Hall has wireless connectivity throughout the building, and holds the Campus Internet II connection. The network is connected to the North Carolina Research and Education Network (NC-REN), a statewide network that links research and educational institutions. All classrooms and many offices are equipped with projectors. A two-way video classroom and teleconference room allow connection to any institution served by the network, including all of the University of North Carolina’s 16 campus, Duke, Wake Forest, and other public and non-profit institutions. Students have access to the entire University library system, which includes a major academic affairs library and numerous satellite libraries containing more than 5 million books and periodicals, and access to libraries at NC State and Duke universities with a unified on-line searching capability. The Brauer Library, located in adjacent Phillips Hall, is a satellite library with extensive holdings in computer science, mathematics, operations research, physics, and statistics. Graduate Curriculum A flexible course of study for the MS and PhD degrees focuses on areas of choice and accommodates differences in students’ backgrounds. The two degree programs share a basic distribution requirement of four courses chosen from theoretical, systems, and applied subject areas. The PhD program includes work in specialized areas, preparation for teaching, and active involvement in advanced research. Master of Science An MS candidate must earn 30 semester hours of credit in courses numbered
400 or higher, of which up to 6 hours may be transferred from another
institution or graduate program, and of which 18 hours must be completed
in the Computer Science Department. Satisfactory completion of the distribution
requirement provides 12 hours of credit. The remaining credits are earned
in areas of specific interest, and may include course work, as needed,
to address the following requirements: A thesis is optional; if one is written, it counts for six hours. A comprehensive exam is required and has two possible forms: (1) satisfactory completion of an integrative paper (which also satisfies the technical writing requirement if written as part of COMP 911), or (2) an oral exam covering material from the courses in the candidate’s program of study. While either exam is sufficient for the MS program, the integrative paper is required for the PhD program. A student with an assistantship generally completes the MS degree in four semesters or fewer. Doctor of Philosophy Admission to the PhD program is by oral qualifying examination and recommendation of the faculty. There is no credit hour requirement for the PhD program, but a PhD candidate must complete courses to satisfy the distribution requirement and any needed background preparation, and must write an integrative paper. A PhD candidate proposes an individual program of study, typically 15 to 18 hours. The program of study includes a primary and secondary concentration in computer science, training in mathematics, and a supporting program of external courses or a foreign language. Previous course work can be used to satisfy much of the program of study. A candidate must also satisfy the program product requirement, teach a course, participate in the technical communication seminar, pass an oral examination in the proposed dissertation area, and submit and defend a dissertation that presents an original contribution to knowledge. The normal time needed to complete the degree by a full-time student with an assistantship is five years. Distribution Requirement A PhD student fulfills the distribution requirement by satisfactory completion of four courses from the list below, with at least one course from each area. Grades earned in these four courses must satisfy additional requirements according to the degree program (MS or PhD). Formal COMP 651: Computational Geometry COMP 662: Scientific Computation COMP 735: Distributed and Concurrent Algorithms COMP 750: Algorithm Analysis Systems COMP 631: Computer Networks COMP 720: Compilers COMP 723: Software Design and Implementation COMP 730: Operating Systems COMP 734: Distributed Systems Diverse COMP 633: Parallel and Distributed Computing COMP 665: Images, Graphics, and Vision COMP 740: Computer Architecture and Implementation COMP 741: Elements of Hardware Systems Integrative Paper An integrative paper is a survey of three or more technical papers that span multiple sub-fields of computer science and have a common thread. The integrative paper is written in one semester and is organized as an issue-based survey of approximately 5,000 words, emphasizing the integration of concepts found in the subject papers. Faculty members can suggest suitable collections of papers, but students may propose a collection of subject papers as well. Two faculty members must agree to read the integrative paper for style and content. The student follows a schedule of milestones for drafts and revisions. Both faculty members must accept the final revision for the integrative paper requirement to be satisfied. Concurrent registration in the technical writing class, COMP 911, is recommended but not required. The satisfactory completion of an integrative paper satisfies the technical writing requirement. Admission to the department is highly competitive. Although the department
welcomes promising students from all disciplines, entering students
must have a substantial background in both mathematics and computer
science. This background normally includes at least six semester courses
in mathematics and six in computer science. The department considers
knowledge of the following subjects to be essential preparation for
the graduate program: Most entering students have studied all but two or three of the following
subjects, which are required preparation for the graduate program: Students who are admitted but who have not completed all the requirements must complete them after admission. Preference is given to applicants who are solidly prepared, especially in mathematics. Previous Degrees. A baccalaureate degree is required, with a grade point average of at least B (3.0/4.0); most entering students have a GPA of more than 3.5. GRE. High scores on all three parts of the General Aptitude Test of the Graduate Record Examination are also recommended: a minimum of 80th percentile on the verbal and 90th percentile on the quantitative and analytical sections is recommended (a score of 5 is recommended for the Writing Assessment). In recent years, most entering students have averaged in the 90th percentile or higher on each of the three sections. Allowances are made in interpreting the verbal test scores of applicants whose native language is not English. Although GRE Advanced Test scores are not required, applicants are encouraged to take the advanced test in computer science, mathematics, engineering, or physics, as appropriate. Standardized test scores must be reported directly by ETS and no more than five years old. If you did not specify the UNC-Chapel Hill Graduate School institution code #5816 as a score recipient at the time of taking the test, or if your scores were sent more than one year ago, please contact the Educational Testing Service to request that your scores be sent to the department. TOEFL. Applicants whose native language is not English must submit TOEFL scores. Applicants from Australia, Bahamas, Canada (except Quebec), England, Ghana, Ireland, India, Jamaica, New Zealand, Nigeria, Scotland, St. Vincent and the Grenadines, Trinidad, Tobago, and Wales are exempt from the TOEFL requirement and should not submit test scores. Also exempt from the TOEFL requirement are those who have received a degree from a university in the United States. The required minimum total score of 233 on the Computer-based Test (equivalent to 575 on the Paper-based Test or 90 on the Internet-based Test). The department gives preference to applicants who score above 273 CBT (640 PBT; 111 iBT). Test scores, which can be no more than two years old, must be reported directly by ETS. If you did not specify the UNC-Chapel Hill Graduate School institution code #5816 as a score recipient at the time of taking the test, or if your scores were sent more than one year ago, please contact the Educational Testing Service to request that your scores be sent to the department. Personal Statement. Each applicant must submit a personal
statement directly to the department. The statement, between a half
page and two pages long, should include: Recommendations. Three letters of recommendation must be submitted electronically. Letters written by an applicant’s present or former professors are usually more informative than those written by employers or colleagues. Sponsorship. Because of the large number of applicants, the department’s faculty members are unable to provide individual assessments of an applicant’s chances for admission. Applicants cannot improve their chances of admission by finding a faculty sponsor within the department, because all admissions decisions are made by a faculty committee that reviews all applications, ranks the applicants by overall merit, and makes decisions on admission and financial support based on the application material submitted. In particular, students are not admitted by research project directors; contacting individual faculty members whose research is of interest has no effect on one’s chances of being admitted. How to Apply. Admission is based solely on merit. The University of North Carolina is an affirmative action, equal opportunity institution. Prospective applicants who clearly surpass the minimum requirements are encouraged to apply. You can submit an electronic application or write for application materials to: The Graduate School, CB# 4010, 200 Bynum Hall, UNC-Chapel Hill, Chapel Hill, NC 27599-4010. Telephone: (919) 966-2611. Web: gradschool.unc.edu/students_prospective.html. The Graduate School’s Web site includes information on applying and online application forms. Domestic applicants (U.S. citizens and resident aliens) should check gradschool.unc.edu/applicant_dom.html. International applicants should refer to gradschool.unc.edu/applicant_intl.html. Financial Support. During the academic year, most computer science students are supported by assistantships and fellowships. The stipend for research and teaching assistantships for the nine-month academic year 2005-2006 will be $15,000 (20 hours a week). Also, at no cost to them, students are covered by a comprehensive major medical insurance program, underwritten by Blue Cross/Blue Shield of North Carolina. Full-time summer employment on a research project is normally available to students who would like to receive support. The rate for summer 2006 will be $790 per week (40 hours) for 10 to 12 weeks. Alternatively, students may gain professional experience through summer internships with companies in the Research Triangle area or in other parts of the country. The combined annual financial package for our graduate assistants is approximately $24,480 depending on the type of summer support. Students with assistantships qualify for a Graduate Student Tuition Grant and pay no tuition. They are, however, responsible for paying student fees of approximately $700 per semester. Graduate Student Tuition grants typically cover MS students for four semesters of study and PhD students for ten semesters of study. Annual living costs for single graduate students in the Chapel Hill area are estimated to be $12,000 or higher. On-campus housing is available for both single and married students. The department provides a $500 educational fund each semester to any student who receives a competitive fellowship not granted by UNC-Chapel Hill. The fund may be used for education-related expenses including books, journals, travel, computer supplies and accessories, and professional memberships. The department also awards a $1,500 supplement each semester to nonservice fellowship holders who join a research team. To apply for an assistantship, the applicants should check the appropriate item on the admissions application form. Applicants for assistantships are automatically considered for all available fellowships. Students can expect continued support, contingent on satisfactory work performance and academic progress. Students are assigned to specific research projects just prior to the start of each semester, after faculty members and students have had an opportunity to meet and to discuss their interests. Deadlines. The fall semester runs from mid August to mid December; the spring semester from early January to early May. Applications for fall admission, complete with a personal statement, all transcripts, and recommendations should be received by The Graduate School no later than January 1. To ensure meeting that deadline, applicants are encouraged to take the Graduate Record Examination (GRE) no later than December 1. Early submission of applications is encouraged. International applicants should complete their applications earlier to allow time for processing financial and visa documents. For more information, write to the Director of Graduate Admissions, Department of Computer Science, CB# 3175, Sitterson Hall, Chapel Hill, NC 27599-3175, or send electronic mail to admit@cs.unc.edu. Interested persons are encouraged to visit the department’s Web site, www.cs.unc.edu. 401 [114] FOUNDATION OF PROGRAMMING (4). Prerequisite, a course in COMP 110-129. Advanced programming. Program specifications, preconditions, postconditions, loop invariants. Linear data structures, searching, and sorting. Algorithm paradigms and analysis. Fall and spring. Dewan, Weiss. 410 [121] DATA STRUCTURES (4). Prerequisite, COMP 401. The analysis of data structures and their associated algorithms. Abstract data types, lists, stacks, queues, trees, and graphs. Sorting, searching, hashing. Fall and spring. Hedlund, staff. 411 [120] COMPUTER ORGANIZATION (3). Prerequisite, COMP 401. Digital logic, circuit components. Data representation, computer architecture and implementation, assembly language programming. Fall and spring. Bishop, Fuchs. 416 [117] INTRODUCTION TO WWW PROGRAMMING (3). Prerequisite, COMP 401 or equivalent experience. Client-side programming in Java for the WWW. Introduction to TCP/IP, HTTP, and WWW architecture. Emphasis on applet programming and component programming using threads, simple client-server applications, and XML. Fall. J. Smith, Mayer-Patel, Dewan. 426 [118] ADVANCED WWW PROGRAMMING (3). Prerequisite, COMP 416. Server-side programming in Java for the WWW. Emphasis on servlet programming and distributed component programming using APIs for object serialization, remote method invocation, database connectivity, and XML generation. Spring. J. Smith, Mayer-Patel, Dewan. 431 [123] INTERNET SERVICES AND PROTOCOLS (3). Prerequisites, COMP 410, 411. Application-level protocols HTTP, SMTP, FTP, transport protocols TCP and UDP, and the network-level protocol IP. Internet architecture, naming, addressing, routing, and DNS. Sockets programming. Physical-layer technologies, Ethernet, ATM, and wireless. Spring. Jeffay, F. D. Smith. 455 [181] MODELS OF LANGUAGES AND COMPUTATION (3). Prerequisites, MATH 381 or other evidence of mathematical maturity, and COMP 110 or equivalent experience. Introduction to the theory of computation. Finite automata, regular languages, pushdown automata, context-free languages, and Turing machines. Undecidable problems. Spring. Anderson, Halton, Plaisted, Weiss, Snoeyink, Prins. 485 [171] NATURAL LANGUAGE PROCESSING (INLS 510) (3). Prerequisite, COMP 110, 116 or 121. See course listings for School of Information and Library Science. 486 [170] APPLICATIONS OF NATURAL LANGUAGE PROCESSING (INLS 512) (3). Prerequisite, COMP 110, 116, or 121, or graduate standing in Information and Library Science. See course listings for School of Information and Library Science. 487 [172] INFORMATION RETRIEVAL (INLS 509) (3). Prerequisite, INLS 261, COMP 110, or COMP 121. See course listings for School of Information and Library Science. 520 [140] COMPILERS (3). Prerequisites, COMP 410, 411. Design and construction of compilers. Theory and pragmatics of lexical, syntactic, and semantic analysis. Interpretation. Code generation for a modern architecture. Runtime environments. Includes a large compiler implementation project. Fall. (Alternate years.) Prins. 521 [130] FILES AND DATABASES (3). Prerequisites, COMP 410, 411, MATH 381. Placement of data on secondary storage. File organization. Database history, practice, major models, system structure, and design. Fall. Stotts, Weiss. 523 [145] SOFTWARE ENGINEERING LABORATORY (3). Prerequisites, COMP 410, 411. Organization and scheduling of software engineering projects, structured programming, and design. Each team designs, codes, and debugs program components and synthesizes them into a tested, documented program product. Spring. Stotts. 524 [144] PROGRAMMING LANGUAGE CONCEPTS (3). Prerequisite, COMP 410. Concepts of high-level programming and their realization in specific languages. Data types, scope, control structures, procedural abstraction, classes, concurrency. Run-time implementation. Spring. Staff. 530 [142] OPERATING SYSTEMS (3). Prerequisites, COMP 410, 411. Types of operating systems. Concurrent programming. Management of storage, processes, devices. Scheduling, protection. Case study. Students implement significant components of a small operating system. Fall. (Alternate years.) Jeffay. 541 [160] DIGITAL LOGIC AND COMPUTER DESIGN (4). Prerequisite, COMP 411. This course is an introduction to digital logic as well as the structure and electronic design of modern processors. Students will implement a working computer during the laboratory sessions. Spring. Lastra, Singh, McMillan, Bishop. 550 [122] ALGORITHMS AND ANALYSIS (3). Prerequisites, MATH 381 and COMP 410. Formal specification and verification of programs. Techniques of algorithm analysis. Problem-solving paradigms. Survey of selected algorithms. Fall and spring. Anderson, Hedlund, Lin, Manocha, Plaisted. 575 [136] INTRODUCTION TO COMPUTER GRAPHICS (3). Prerequisites, COMP 410, MATH 547. Hardware, software, and algorithms for computer graphics. Scan conversion, 2-D and 3-D transformations, object hierarchies. Hidden surface removal, clipping, shading, and antialiasing. Not for graduate computer science credit. Fall. Staff. 590 [190] TOPICS IN COMPUTER SCIENCE (1-3). Prerequisite, permission of the instructor. This course has variable content and may be taken multiple times for credit. Fall and spring. Staff. 631 [234] COMPUTER NETWORKS (3). Prerequisites, COMP 431, COMP 530, knowledge of probability and statistics (alternatively, STAT 435), or permission of the instructor. Traditional topics in computer networks, including link layer protocols, switching, IP, TCP, and congestion control. Additional topics may include peer-to-peer infrastructures, network security, and multimedia applications. Fall. Kaur, Jeffay, F. D. Smith, Mayer-Patel, Papadopouli. 633 [203] PARALLEL AND DISTRIBUTED COMPUTING (3). Prerequisites, COMP 530, 550. Principles and practices of parallel and distributed computing. Models of computation. Concurrent programming languages and systems. Architectures. Algorithms and applications. Practicum. Spring. Prins. 651 [281] COMPUTATIONAL GEOMETRY (3). Prerequisite, undergraduate analysis of algorithms course (e.g., COMP 550) or permission of instructor. Design and analysis of algorithms and data structures for geometric problems. Applications in graphics, CAD/CAM, robotics, GIS, and molecular biology. Fall. (Odd years.) Snoeyink, Lin. 662 [250] SCIENTIFIC COMPUTATION (MATH 662) (ENVR 662) (3). Direct methods for linear systems. Least squares problems. Iterative methods for linear systems. Direct and iterative methods for eigenvalue problems. The singular value decomposition. Methods for (stiff) systems of ODEs. Spring. Staff. 665 [235] IMAGES, GRAPHICS, AND VISION (3). Prerequisites, COMP 410, MATH 383. Display devices and procedures. Scan conversion. Matrix algebra supporting viewing transformations in computer graphics. Basic differential geometry. Coordinate systems, Fourier analysis, FDFT algorithm. Human visual system, psychophysics, scale in vision. Fall. Pizer, Bishop, Brooks. 715 [215] VISUALIZATION IN THE SCIENCES (MTSC 715) (PHYS 715) (3). Computational visualization applied in the natural sciences. For both computer science and natural science students. Available techniques and their characteristics, based on human perception, using software visualization toolkits. Project course. Fall. Taylor. 720 [240] COMPILERS (3). Prerequisites, COMP 455, 520, 524. Tools and techniques of compiler construction. Lexical, syntactic, and semantic analysis. Emphasis on code generation and optimization. (Alternate years.) Prins. 721 [230] DATABASE MANAGEMENT SYSTEMS (3). Prerequisites, COMP 521, 550. Database management systems, implementation, and theory. Query languages, query optimization, security, advanced physical storage methods and their analysis. (On demand.) Staff. 723 [204] SOFTWARE DESIGN AND IMPLEMENTATION (3). Prerequisites, COMP 524, 550. Principles and practices of software engineering. Object-oriented and functional approaches. Formal specification, implementation, verification, and testing. Software design patterns. Practicum. Fall. Stotts, Dewan. 724 [244] PROGRAMMING LANGUAGES (3). Prerequisites, COMP 455, 520, 524. Selected topics in the design and implementation of modern programming languages. Formal semantics. Type theory. Inheritance. Design of virtual machines. Garbage collection. Principles of restructuring compilers. (On demand.) Prins. 730 [242] OPERATING SYSTEMS (3). Prerequisite, COMP 530. Theory, structuring, and design of operating systems. Sequential and cooperating processes. Single processor, multiprocessor, and distributed operating systems. Spring. Dewan, Jeffay, F. D. Smith, Mayer-Patel. 734 [243] DISTRIBUTED SYSTEMS (3). Prerequisite, COMP 431 or permission of instructor. Design and implementation of distributed computing systems and services. Inter-process communication and protocols; naming and name resolution; security and authentication; scalability; high availability; replication; transactions; group communications; distributed storage systems. Fall. Dewan, Jeffay, F. D. Smith. 735 [247] DISTRIBUTED AND CONCURRENT ALGORITHMS (3). Prerequisites, COMP 633, 723. Verification of concurrent systems. Synchronization; mutual exclusion and related problems, barriers, rendezvous, nonblocking algorithms. Fault tolerance: consensus, Byzantine agreement, self-stabilization. Broadcast algorithms. Termination and deadlock detection. Clock synchronization. (Alternate years.) Anderson. 737 [232] REAL-TIME SYSTEMS (3). Prerequisite, COMP 530. Taxonomy and evolution of real-time systems. Timing constraints. Design, implementation, and analysis of real-time systems. Theory of deterministic scheduling and resource allocation. Case studies and project. Spring. (Alternate years.) Jeffay, Anderson, Baruah. 740 [206] COMPUTER ARCHITECTURE AND IMPLEMENTATION (3). Prerequisites, COMP 411, PHYS 352. Architecture and implementation of modern single-processor computer systems. Performance measurement. Instruction set design. Pipelining. Instruction-level parallelism. Memory hierarchy. I/O system. Floating-point arithmetic. Case studies. Practicum. Fall. Bishop. 741 [261] ELEMENTS OF HARDWARE SYSTEMS (3). Prerequisite, COMP 411. Issues and practice of information processing hardware systems for computer scientists with little or no previous hardware background. System thinking, evaluating technology alternatives, basics of electronics, signals, sensors, noise and measurements. Spring. Bishop, Vicci. 744 [268] VLSI SYSTEMS DESIGN (3). Prerequisites, COMP 740, knowledge of digital logic techniques. Introduction to the design, implementation and realization of very large-scale integrated systems. Each student designs a complete digital circuit that will be fabricated and returned for testing and use. Spring. Hedlund. 750 [202] ALGORITHM ANALYSIS (3). Prerequisites, COMP 455, 550. Algorithm complexity. Lower bounds. The classes P, NP, PSPACE, and co-NP; hard and complete problems. Pseudo-polynomial time algorithms. Advanced data structures. Graph-theoretic, number-theoretic, probabilistic, and approximation algorithms. Fall. Anderson, Plaisted, Baruah, Snoeyink. 752 [282] MECHANIZED MATHEMATICAL INFERENCE (3). Prerequisite, COMP 825. Propositional calculus. Semantic tableaux. Davis-Putnam algorithm. Natural deduction. First-order logic. Completeness. Resolution. Problem representation. Abstraction. Equational systems and term rewriting. Specialized decision procedures. Nonresolution methods. (On demand.) Plaisted. 758 [288] INFORMATION THEORY (STAT 252) (3). 759 [289] ERROR CORRECTING CODES (STAT 253) (3). 761 [231] INTRODUCTORY COMPUTER GRAPHICS (1). 762 [233] DISCRETE EVENT SIMULATION (OR 762) (3). See course listings for Department of Operations Research. 763 [248] SEMANTICS AND PROGRAM CORRECTNESS (3). Prerequisite, COMP 724. Formal characterization of programs. Denotational semantics and fixed-point theories. Proof of program correctness and termination. Algebraic theories of abstract data types. Selected topics in the formalization of concurrent computation. (On demand.) Staff. 764 [252] MONTE CARLO METHOD (3). Prerequisites, MATH 233, 416, 418, STAT 435, COMP 110, or consent of the instructor. Relevant probability and statistics. General history. Variance reduction for sums and integrals. Solving linear and nonlinear equations. Random, pseudorandom generators; random trees. Sequential methods. Applications. (On demand.) Halton. 766 [257] VISUAL SOLID SHAPE (3). Prerequisites, MATH 233, 416. 3-D differential geometry; local and global shape properties; visual aspects of surface shape. Taught largely through models and figures. Applicable to graphics, computer vision, human vision, and biology. Fall. (Alternate years.) Pizer. 767 [258] GEOMETRIC AND SOLID MODELING (3). Prerequisites, COMP 575 or 770, and MATH 661. Curve and surface representations. Solid models. Constructive solid geometry and boundary representations. Robust and error-free geometric computations. Modeling with algebraic constraints. Applications to graphics, vision, and robotics. (Alternate years.) Manocha. 768 [259] PHYSICALLY BASED MODELING AND SIMULATION (3). Prerequisites, COMP 665, or permission of the instructor. Geometric algorithms, computational methods, simulation techniques for modeling based on mechanics and its applications. (Alternate years.) Lin. 770 [236] COMPUTER GRAPHICS (3). Prerequisites, COMP 665, 761. Study of graphics hardware, software, and applications. Data structures, graphics, languages, curve surface and solid representations, mapping, ray tracing and radiosity. Spring. Bishop, Brooks, Fuchs, Lin, Manocha. 775 [254] IMAGE PROCESSING AND ANALYSIS (BMME 775) (3). Prerequisites, COMP 665, MATH 547, and STAT 435. Approaches to analysis of digital images. Scale geometry, statistical pattern recognition, optimization. Segmentation, registration, shape analysis. Applications, software tools. Spring. Gerig, Pizer. 776 [256] COMPUTER VISION IN OUR 3D WORLD (3). Prerequisites, MATH 416, 566, COMP 550, 665, 775, or permission of the instructor. Fundamental problems of computer vision. Projective geometry. Camera models, camera calibration. Shape from stereo, epipolar geometry. Photometric stereo. Optical flow, tracking, motion. Range finders, structured light. Object recognition. Fall. (Odd years.) Gerig, Welch. 785 [273] NEURAL NETWORKS (PSYC 291) (3). 787 [277] VISUAL PERCEPTION (3). Prerequisites, COMP 665 (vision segment), PSYC 730, or equivalent. Surveys form, motion, depth, scale, color, brightness, texture, and shape perception. Includes computational modeling of vision, experimental methods in visual psychophysics and neurobiology, recent research, and open questions. Fall. (Alternate years.) Pizer. 788 [275] EXPERT SYSTEMS (3). Prerequisite, COMP 750. Languages for knowledge engineering. Rules, semantic nets, and frames. Knowledge acquisition. Default logics. Uncertainties. Neural networks. (On demand.) Plaisted. 790 [290] TOPICS IN COMPUTER SCIENCE (1-3). Prerequisite, permission of the instructor. This course has variable content and may be taken multiple times for credit. Fall and spring. Staff. 822 [286] TOPICS IN DISCRETE OPTIMIZATION (OR 822) (3). See course listings for Department of Operations Research. 824 [245] FUNCTIONAL PROGRAMMING (3). Prerequisite, COMP 524. Programming with functional or applicative languages. Lambda calculus; combinators; higher-order functions; infinite objects. Least fixed points, semantics, evaluation orders. Sequential and parallel execution models. (On demand.) Prins, Plaisted. 825 [246] LOGIC PROGRAMMING (3). Prerequisite, COMP 524. Propositional calculus, Horn clauses, first-order logic, resolution. Prolog: operational semantics, relationship to resolution, denotational semantics, and non-logical features. Programming and applications. Selected advanced topics. (On demand.) Plaisted. 831 [241] INTERNET ARCHITECTURE AND PERFORMANCE (3). Prerequisite, COMP 431 or permission of instructor. Internet structure and architecture; traffic characterization and analysis; errors and error recovery; congestion and congestion control; services and their implementations; unicast and multicast routing. Spring. (Alternate years.) Jeffay, F. D. Smith, Mayer-Patel. 832 [249] MULTIMEDIA NETWORKING (3). Prerequisites, COMP 431 and 530. Audio/video coding and compression techniques and standards. Media streaming and adaptation. Multicast routing, congestion and error control. Internet protocols RSVP, RTP/RTCP. Integrated and differentiated services architecture for the Internet. Jeffay, Mayer-Patel. 841 [265] ADVANCED COMPUTER ARCHITECTURE (3). Prerequisite, COMP 740. Concepts and evolution of computer architecture, machine language syntax and semantics; data representation; naming and addressing; arithmetic; control structures; concurrency; input-output systems and devices. Milestone architectures. (Alternate years.) Brooks. 842 [267] ADVANCED COMPUTER IMPLEMENTATION (3). Prerequisites, COMP 740, knowledge of digital logic techniques. The application of digital logic to the design of computer hardware. Storage and switching technologies. Mechanisms for addressing, arithmetic, logic, input/output, and storage. Microprogrammed and hard-wired control. (On demand.) Staff. 844 [269] ADVANCED DESIGN OF VLSI SYSTEMS (3). Prerequisite, COMP 744. Advanced topics in the design of digital MOS systems. Students design, implement, and test a large custom integrated circuit. Projects emphasize the use of advanced computer aided design tools. (Alternate years.) Staff. 850 [228] ADVANCED ANALYSIS OF ALGORITHMS (3). Prerequisite, COMP 750. Design and analysis of computer algorithms. Time and space complexity; absolute and asymptotic optimality. Algorithms for searching, sorting, sets, graphs, and pattern-matching. NP-complete problems and provably intractable problems. (Alternate years.) Staff. 870 [238] ADVANCED IMAGE SYNTHESIS (3). Prerequisite, COMP 770. Advanced topics in rendering, including global illumination, surface models, shadings, graphics hardware, image-based rendering, and antialiasing techniques. Topics from the current research literature. Fall. (Alternate years.) Lastra. 872 [239] EXPLORING VIRTUAL WORLDS (3). Prerequisite, COMP 870. Project course, lecture, and seminar on real-time interactive 3D graphics systems in which the user is “immersed” in and interacts with a simulated 3D environment. Hardware, modeling, applications, multi-user systems. (Alternate years.) Fuchs, Brooks. 875 [255] RECENT ADVANCES IN IMAGE ANALYSIS (3). Prerequisite, COMP 775. Lecture and seminar on recent advances in image segmentation, registration, pattern recognition, display, restoration, and enhancement. Spring. (Even-numbered years.) Pizer, Gerig. 892 [395] PRACTICUM (0.5). Prerequisite, permission of instructor. Work experience in an area of computer science relevant to the student’s research interests and pre-approved by the instructor. The grade, pass or fail only, will depend on a written report by the student and on a written evaluation by the employer. Staff. 910 [220] COMPUTER SCIENCE MODULE (var). 911 [291] PROFESSIONAL WRITING IN COMPUTER SCIENCE (3). Prerequisite, graduate major in computer science. Analysis of good and bad writing. Exercises in organization and composition. Each student also writes a thesis-quality short technical report on a previously approved project. Fall and spring. Halton, J. B. Smith, Snoeyink, Weiss. 915 [321] TECHNICAL COMMUNICATION IN COMPUTER SCIENCE (1). Prerequisite, graduate major in computer science or permission of instructor. Seminar on teaching, short oral presentations, and writing in computer science. Spring. Weiss, Brooks. 916 [322] SEMINAR IN PROFESSIONAL PRACTICE (1). Prerequisite, satisfaction of MS Computer Science program product requirement. The role and responsibilities of the computer scientist in a corporate environment, as an entrepreneur, and as a consultant. Professional ethics. (Alternate years.) Brooks. 917 [323] SEMINAR IN RESEARCH (1). Prerequisite, graduate major in computer science. The purposes, strategies, and techniques for conducting research in computer science and related disciplines. (On demand.) Staff. 918 [310] RESEARCH ADMINISTRATION FOR SCIENTISTS (1). Prerequisite, graduate status. Introduction to grantsmanship, research grants and contracts, intellectual property, technology transfer, conflict of interest policies. Course project: grant application in NSF FastLane. Spring. Quigg. 980 [324] COMPUTERS AND SOCIETY (1). Prerequisite, graduate major in computer science. Seminar on social and economic effects of computers on such matters as privacy, employment, power shifts, rigidity, dehumanization, dependence, quality of life. (On demand.) Staff. 990 [390] RESEARCH SEMINAR IN COMPUTER SCIENCE (0.5-3). Prerequisite, permission of the instructor. Seminars in various topics offered by members of the faculty. Fall and spring. Staff. 991 [391] READING AND RESEARCH (1-3). Prerequisite, permission of the instructor. Directed reading and research in selected advanced topics. Fall and spring. Staff. 993 [393] MASTER’S THESIS (Var.). Prerequisite, permission of staff. Fall and spring. Staff. 994 [394] DOCTORAL DISSERTATION (Var.). Prerequisite, permission of staff. Fall and spring. Staff. |
![]()
| Department of Computer Science Campus Box 3175, Sitterson Hall College of Arts & Sciences The University of North Carolina at Chapel Hill Chapel Hill, NC 27599-3175 USA Phone: (919) 962-1700 Fax: (919) 962-1799 |
Content
Manager: pubs@cs.unc.edu
Server Manager: webmaster@cs.unc.edu Last Content Review: 1 February 2006 |