University of Pittsburgh Pitt Home | Find People | Contact Us

GRADUATE AND PROFESSIONAL BULLETIN < Previous Page | Table of Contents | Next Page >

FAS - Computer Science

The department offers programs of graduate study leading to the Master of Science and Doctor of Philosophy degrees in Computer Science. The MS program, with thesis or non-thesis options, has two specialized areas of concentration available: Software Engineering and Artificial Intelligence.

Contact Information

Department Chair: Rami Melham
Main Office: 322 Eberly Hall
Phone: (412) 624-8493
Fax: (412) 624-8854
E-mail: melham@cs.pitt.edu
Web site: http://www.cs.pitt.edu/

Research

The Department of Computer Science faculty research areas encompass a broad range of computer science specialties in four general areas and include a wide variety of applications. The research areas and respective topical interests include:

  1. Algorithms and theoretical foundations: computational complexity, design and analysis of algorithms, distributed algorithms, online algorithms, theory of learning algorithms, and probabilistic algorithms
  2. Parallel and distributed systems: computer architectures, computer networks, database systems, distributed systems, fault tolerance, fine-grained systems, image processing, modeling and simulation, operating systems, optical computing, parallel computation, parallelizing compilers, performance evaluation, real-time systems, scientific computation, VLSI CAD, and VLSI processor arrays
  3. Software systems and interfaces: design of programming languages, software development environments, software engineering techniques, specification and verification, debugging and testing, user interface software technology, computer graphics techniques, multimedia interfaces, and visual languages
  4. Artificial intelligence: cognitive modeling of learning, computational biology, expert systems, explanation, intelligent tutoring systems, machine learning, natural language processing, and planning

Facilities

Students and faculty in the Department of Computer Science access computing facilities in a distributed network environment. The network interconnects nearly 300 systems, workstations, and other devices and supports a wide variety of architectures and platforms. Multiple servers provide file, computer, software, and print facilities. Optical fiber-based Ethernet links tie the department to the campus backbone, PITTNET, which is based on dual 100 Mbps FDDI rings. PITTNET provides such Ethernet links to all University facilities and also to the Pittsburgh Supercomputer Center. Systems housed at the PSC include a Cray C90, a Cray T3E, and a Digital AlphaCluster. The University of Pittsburgh and other universities in Pennsylvania are linked to the Internet by means of several network service providers.

Interdisciplinary Programs

The Department of Computer Science is a participant in a number of interdisciplinary programs. Besides offering a dual MS degree in Computer Science and Mathematics, Department of Computer Science faculty are very actively involved in the Intelligent Systems Program, the Keck Center for Advanced Training in Computational Biology, the Computer Engineering Program (with the School of Engineering), and the Telecommunications Program (with the School of Information Sciences).

Admissions

To be considered for admission to graduate study in the Department of Computer Science, a student must have received a bachelor's degree with at least a B average from an accredited college or university. Those who have been working professionally in the computer field may be given special consideration. However, the professional computer scientist must be knowledgeable in a number of areas besides programming. Thus, the applicant whose enthusiasm for programming has led to the acquisition of considerable programming skill at the expense of satisfactory academic achievement is generally not regarded favorably. Students are required to submit general GRE scores. The advanced GRE score in computer science is recommended. For foreign students, the TOEFL score is also required; a minimum score of 550 is required for admission.

Prerequisites for Graduate Study

To be admitted to full graduate status, an applicant should minimally have completed the following courses or their equivalents.

  • In computer science, a total of at least six courses.
    1. All of the following core courses:
    a. Discrete Structures (CS 0441)
    b. Information or Data Structures (CS 0445)
    c. Computer Organization/Assembly Language (CS 0447)
    2. One in each of the following advanced course categories:
    a. Theory of Computer Science (CS 1510 or CS 1511)
    b. Programming Languages Design (CS 1520 or CS 1621)
    c. Systems Software (CS 1550 or CS 1651)
  • In mathematics, a total of at least five courses.
    1. Three calculus courses (MATH 0220, 0230, 0240)
    2. One course in linear algebra (preferably MATH 1180 or 0280)
    3. One course in probability and statistics that explicitly requires calculus as a prerequisite (STAT 1151 or 1152)

Part-time graduate students are welcome, but the Department of Computer Science cannot guarantee that a degree can be earned solely through attendance in late afternoons and evenings.

Financial Assistance

A number of financial aid opportunities are available on a competitive basis. Many of these positions are teaching assistantships or fellowships requiring approximately 20 hours of work per week in conjunction with the department's curriculum. A foreign student needs a TOEFL score of at least 600 in order to be considered for a teaching assistantship or fellowship. Because of substantial amounts of research funding awarded to Department of Computer Science faculty, they also offer a number of graduate research assistantships. Other opportunities, such as special fellowships, occur with varying frequency.

Financial need should be indicated on the application form. The Department of Computer Science is anxious to provide assistance whenever warranted and possible, but the applicant must be eligible for full graduate status in order to be considered for an assistantship or fellowship. Each such appointment is normally supplemented with a scholarship to cover tuition and individual medical insurance.

Degree Requirements

The minimal requirements established by the Graduate Faculty of the University, as described under General Academic Regulations, and any additional requirements of FAS Graduate Studies described under FAS Degree Requirements, should be read in conjunction with department-specific degree requirements described in the following sections.

Requirements for the Master's Degree

The MS program has been designed to attract students with a broad spectrum of interests who may have specialized in any of a wide variety of disciplines as undergraduates. The requirements for the Master of Science degree in Computer Science are:

Completion of the following courses:

1. Three required courses:
a. CS 1510 or CS 15111
b. CS 2410 or CS 2510
c. CS 2210 or CS 2710
2. Five elective, graduate-level courses in CS
3. Either:
a. A six-credit (minimum) MS thesis (CS 2000), or
b. A three-credit MS project (CS 2910) and one additional course
 
1If an MS student has already taken CS 1510 or CS 1511 or an equivalent course prior to enrollment, and received a B or better, then the student must either take the other course or one of CS 2110 or CS 2150. If a student has already taken both CS 1510 and CS 1511 or equivalent courses prior to enrollment, and received a B or better, then the student must take one of CS 2110 or CS 2150.

Thesis/project requirement:

This satisfies the FAS comprehensive examination requirement.

  1. For the thesis option, a written thesis is required, with a final oral examination conducted by the faculty advisor and a thesis committee.
  2. For the non-thesis option, a project report must be produced and defended before the faculty advisor.

General requirements include:

  1. All courses except project or thesis must be taken for a letter grade.
  2. The student must receive a grade of C or better for each course, and must maintain an overall average of B or better.
  3. Other requirements, options, and procedures are detailed in the department's current Regulations for Graduate Study.

Specialized Master of Science Tracks

The Department of Computer Science currently offers two specialized MS Areas of Concentration: one in Artificial Intelligence and one in Software Engineering. The decision to choose one of these areas of concentration can be made after admission to the MS program. Successful completion of the requirements for these areas of concentration results in a transcript that reads "Master of Science in Computer Science/Area of Concentration: Artificial Intelligence" (or "Software Engineering"). All the requirements for the traditional MS described above must be completed for the specialized tracks. There are special, additional requirements in the elective course selections. Students interested in either specialization should consult the department's Graduate Secretary at (412) 624-8495 and/or the faculty member designated as currently responsible for the track.

Requirements for the PhD Degree

The program has been designed with both structure and flexibility in mind. The structure assures the quality of the program and establishes checkpoints that serve to inform both student and faculty of progress being made. The flexibility of the program is necessary to accommodate individual student differences and aspirations. The program consists of three basic parts: the course-requirement block as specified below, an individually tailored block of student-elected courses and seminars, and a research block. The requirements for the Doctor of Philosophy degree in Computer Science are:

Completion of the following courses:

  1. CS 2110, CS 2150, CS 2210, CS 2410, CS 2510, and CS 2710. These six courses represent the core areas and are required.
  2. Any additional six graduate (2000-level or higher) courses, including at least two at the 3000 level. None of these six courses can be independent studies, directed research, or thesis or dissertation research.

NOTE: All courses must be taken for a letter grade. The student must receive a grade of B or better in each of the core courses, and a grade of C or better in each of the six additional courses. In addition, he or she must maintain an average of B or better. Only 2000- or 3000-level courses are acceptable; 1000-level courses and below do not count toward the PhD degree.

PhD Preliminary Examinations:

These are designed to determine that a student in the PhD program has the breadth of knowledge to undertake independent research in computer science.

The student is expected to:

  1. Take at least one core-area exam per year starting in the third term of full-status registration.
  2. Pass four out of the six core area exams within three years after full-status registration. A student may attempt each area exam twice.

Comprehensive Examinations:

After completing most of the additional courses and seminars comprising the remainder of the program and after selecting a dissertation topic, the student must pass both an oral comprehensive examination and an examination of his/her dissertation proposal. The purpose of the comprehensive examination is to determine that a student has sufficient depth of knowledge in a specialized area of computer science to undertake dissertation research on a topic in that area. The purpose of the dissertation proposal presentation and examination is for the student's Faculty Committee to (a) judge the dissertation topic and the student's preparedness for it, and (b) give substantive feedback to the student on the topic and the methods of research to be used. Normally, the comprehensive examination should be completed within one to two years of passing the preliminary examinations.

Residency Requirement:

The student is required to spend at least two successive terms in full-time graduate study during the degree program. This residency requirement must be satisfied by the end of the term in which the comprehensive examination is taken.

Dissertation:

The research block requires that the student perform research and write a dissertation describing an original investigation in the student's area of specialization. An open, oral defense of the dissertation is also required.

Course Listings

CS 1501 Data Structures and Algorithms
CS 1502 Formal Methods in Computer Science
CS 1510 Design and Analysis of Algorithms
CS 1511 Introduction to the Theory of Computation
CS 1515 Scientific Computation
CS 1520 Programming Languages
CS 1530 Software Engineering
CS 1538 Introduction to Simulation
CS 1541 Introduction to Computer Architecture
CS 1550 Introduction to Operating Systems
CS 1555 Database Management Systems
CS 1566 Introduction to Computer Graphics
CS 1571 Introduction to Artificial Intelligence
CS 1573 Artificial Intelligence Programming
CS 1590 Social Implications of Computing Technology
CS 1621 Structure of Programming Languages
CS 1622 Introduction to Compiler Design
CS 1631 Software Design Methodology
CS 1645 Introduction to High Performance Computing
CS 1651 Advanced Systems Software
CS 1652 Data Communication and Computer Networks
CS 1900 Internship
CS 1950 Directed Study
CS 2000 Research and Thesis for the Master's Degree
CS 2110 Theory of Computation
CS 2150 Design and Analysis of Algorithms
CS 2210 Compiler Design
CS 2310 Software Engineering
CS 2410 Computer Architecture
CS 2450 Parallel Computing
CS 2510 Computer Operating Systems
CS 2520 Wide Area Networks
CS 2550 Principles of Database Systems
CS 2610 Interface Design and Evaluation
CS 2650 Distributed Multi-media Systems
CS 2710 Foundations of Artificial Intelligence
CS 2750 Machine Learning and Communication
CS 2900 Graduate Internship
CS 2910 MS Project
CS 2990 Independent Study
CS 3000 Research and Dissertation for the PhD Degree
CS 3110 Advanced Topics in Theory of Computation
CS 3120 Theory of Learning Algorithms
CS 3150 Advanced Topics in Design and Analysis of Algorithms
CS 3210 Advanced Topics in Programming Languages
CS 3220 Compiling Techniques for Parallel Systems
CS 3230 Advanced Compiler Techniques
CS 3310 Advanced Topics in Software Engineering
CS 3320 Specification and Design of Software Systems
CS 3350 Modeling and Simulation
CS 3410 Advanced Topics in Computer Architecture
CS 3420 Fault Tolerant Parallel and Distributed Systems
CS 3450 Advanced Topics in Parallel Computing
CS 3510 Advanced Topics in Operating Systems
CS 3520 Advanced Topics in Computer Networks
CS 3530 Advanced Topics in Distributed and Real-Time Systems
CS 3550 Advanced Topics in the Management of Data
CS 3610 Advanced Topics in Human-Computer Interaction
CS 3630 Interactive Computer Graphics
CS 3650 Visual Languages and Programming
CS 3710 Advanced Topics in Artificial Intelligence
CS 3720 Advanced Topics in Expert Systems
CS 3730 Natural Language Processing
CS 3740 Knowledge Representation
CS 3750 Advanced Topics in Machine Learning
CS 3760 Advanced Topics in Computational Rationality
CS 3790 Pattern Recognition
CS 3900 PhD Directed Study


GRADUATE AND PROFESSIONAL BULLETIN < Previous Page | Table of Contents | Next Page >

 Home | Top of Page | Revised 3/13/03 4:25 PM Pitt Home | Find People | Contact Us