[ Table of Contents | Graduate Arts and Sciences Home | Bulletins Homepage | Next Section ]



  • Computer Science
    Department Chair: Siegfried Treu
    Main Office: 322 Alumni Hall
    (412) 624-8493 (phone) (412) 624-8854 (fax)
    http://www.cs.pitt.edu/

    Primary Faculty: Professors BUCHANAN (University Professor; Director, W.M. Keck Center; Co- director, Center for Parallel, Distributed and Intelligent Systems), CHANG (Co-director, CPDIS), CHIARULLI, DALEY, GUPTA, MELHEM (Director of Graduate Studies), SOFFA, TREU (Chair; Co-director, CPDIS), VanLEHN; Associate Professors CHRYSANTHIS, CHUANG, KALYANASUNDARAM, MOORE, MOSSÉ, POLLACK (Director, Intelligent Systems), PRUHS, ZNATI; Assistant Professor MOIR; Senior Lecturers McCARTHY, NOVACKY (Assistant Chair); Lecturer RAMIREZ

    Affiliated Faculty (Adjunct faculty and those with primary appointments in other areas): Professor LI (Engineering); Associate Professors COOPER (Medicine), LEVITAN (Engineering)

    Emeritus Faculty: Professor DWYER; Associate Professor BERZTISS

    Computer science is an academic discipline that evolved in response to the need to understand the nature, effective use, and potential applications of digital computers. A basic core of knowledge about computer capabilities and limitations has developed, and a great variety of problems have become apparent. Computer science departments are concerned with contributing to the material in this basic core, solving the problems, and disseminating the results.

    The principal interest of the computer science specialist is the development of techniques that can ultimately be incorporated into a computing system to make it more effective or efficient, or to make it accessible and helpful to a larger population of users. This interest leads to the study of ways of representing information, algorithms for manipulating information, programming languages in which to express algorithms, operating systems that monitor the flow and processing of information in a computing system or network, designs of powerful, new computer architectures, mathematical theories that give theoretical limits on the capabilities of computers, and ways to extend the domain of their applicability. The Department of Computer Science offers programs of graduate study leading to the Master of Science and Doctor of Philosophy degrees in Computer Science:

    • Master of Science program, with thesis or non-thesis options; two specialized tracks (in Software Engineering and Artificial Intelligence) are available within that program;
    • Doctor of Philosophy program.
  • Admission to Graduate Studies
    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.

    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:
      1. Discrete Structures (CS 0441)
      2. Information or Data Structures (CS 0445)
      3. Computer Organization/Assembly Language (CS 0447)
    2. One in each of the following advanced course categories:
      1. Theory of computer science (CS 1510 or CS 1511)
      2. Programming languages design (CS 1520 or CS 1621)
      3. 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 Math 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.

  • Graduate Student Support

    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.

    The University also pays the annual premium for individual medical insurance for a Teaching Assistant, Teaching Fellow or Graduate Student Researcher who holds an appointment during the Fall and Spring Terms.

     

  • Master's Degree Requirements
    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:
      1. CS 1510 or CS 1511*
      2. CS 2410 or CS 2510
      3. CS 2210 or CS 2710
    2. Five elective, graduate-level courses in CS.
    3. Either:
      1. A six-credit (minimum) MS thesis (CS 2000), or
      2. A three-credit MS project (CS 2910), and one additional course.

    Thesis/project requirement: This satisfies the FAS comprehensive 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.



    *If 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 he or she 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 he or she must take one of CS 2110 or CS 2150.

  • 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 or tracks: one in Artificial Intelligence and one in Software Engineering. The decision to choose one of these tracks can be made after admission to the MS program. Successful completion of the require­ments for these tracks 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, addi­tional 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.
  • Doctoral Degree Requirements
    The program has been designed with both structure and flexibility in mind. The structure assures the quality of the program and establishes check points which 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 his/her area of specialization. An open, oral defense of the dis­sertation is also required.

  • 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).

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

  • 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, on-line 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 tech­niques, 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.

  • Courses
  • 1501 DATA STRUCTURES AND ALGORITHMS 3 CR.
      Prerequisites: CS 0441, CS 0445, CS 0447, and MATH 0220  
    1502 FORMAL METHODS IN COMPUTER SCIENCE 3 CR.
      Prerequisites: CS 0441 and CS 0445  
    1510 DESIGN AND ANALYSIS OF ALGORITHMS 3 CR.
      Prerequisite: CS 1501  
    1511 INTRODUCTION TO THE THEORY OF COMPUTATION 3 CR.
      Prerequisites: CS 0441 and CS 0445  
    1515 SCIENTIFIC COMPUTATION 3 CR.
      Prerequisites: CS 0445, MATH 0230, and either MATH 0280 or MATH 1180  
    1520 PROGRAMMING LANGUAGES 3 CR.
      Prerequisite: CS 0445  
    1530 SOFTWARE ENGINEERING 3 CR.
      Prerequisite: CS 0445  
    1538 INTRODUCTION TO SIMULATION 3 CR.
      Prerequisites: CS 0447 and STAT 1151  
    1541 INTRODUCTION TO COMPUTER ARCHITECTURE 3 CR.
      Prerequisites: CS 0445 and CS 0447  
    1550 INTRODUCTION TO OPERATING SYSTEMS 3 CR.
      Prerequisites: CS 0445 and CS 0447  
    1555 DATABASE MANAGEMENT SYSTEMS 3 CR.
      Prerequisites: CS 0441 and CS 0445  
    1566 INTRODUCTION TO COMPUTER GRAPHICS 3 CR.
      Prerequisites: CS 0445, CS 0447, and MATH 0280 or MATH 1180  
    1571 INTRODUCTION TO ARTIFICIAL INTELLIGENCE 3 CR.
      Prerequisite: CS 0445 or consent of instructor  
    1573 ARTIFICIAL INTELLIGENCE PROGRAMMING 3 CR.
      Prerequisite: CS 1571 or consent of instructor  
    1590 SOCIAL IMPLICATIONS OF COMPUTING TECHNOLOGY 3 CR.
      Prerequisite: CS 0445 or consent of instructor  
    1621 STRUCTURE OF PROGRAMMING LANGUAGES 3 CR.
      Prerequisites: CS 0447 and CS 1520  
    1622 INTRODUCTION TO COMPILER DESIGN 3 CR.
      Prerequisites: CS 0441, CS 0447, and CS 1520  
    1631 SOFTWARE DESIGN METHODOLOGY 3 CR.
      Prerequisites: CS 0441 and CS 1530  
    1645 INTRODUCTION TO HIGH PERFORMANCE COMPUTING 3 CR.
      Prerequisite: CS 1541  
    1651 ADVANCED SYSTEMS SOFTWARE 3 CR.
      Prerequisite: CS 1550  
    1652 DATA COMMUNICATION AND COMPUTER NETWORKS 3 CR.
      Prerequisite: CS 1550  
    1900 INTERNSHIP 3 CR.
    1950 DIRECTED STUDY VAR. CR.
    2000 RESEARCH AND THESIS FOR THE MASTER'S DEGREE VAR. CR.
    2110 THEORY OF COMPUTATION 3 CR.
      Prerequisite: CS 1511 or consent of instructor  
    2150 DESIGN AND ANALYSIS OF ALGORITHMS 3 CR.
      Prerequisite: CS 1510 or consent of instructor  
    2210 COMPILER DESIGN 3 CR.
      Prerequisite: CS 1621 or consent of instructor  
    2310 SOFTWARE ENGINEERING 3 CR.
      Prerequisite: CS 1501  
    2410 COMPUTER ARCHITECTURE 3 CR.
      Prerequisite: CS 1541  
    2450 PARALLEL COMPUTING 3 CR.
      Prerequisites: CS 1510 and CS 1541  
    2510 COMPUTER OPERATING SYSTEMS 3 CR.
      Prerequisite: CS 1651 or consent of instructor  
    2520 WIDE AREA NETWORKS 3 CR.
      Prerequisite: CS 1652  
      Cross-listed with TELCOM 2321  
    2550 PRINCIPLES OF DATABASE SYSTEMS 3 CR
      Prerequisite: CS 1555  
    2610 INTERFACE DESIGN AND EVALUATION 3 CR
      Prerequisites: At least two 2000-level core courses in CS  
    2650 DISTRIBUTED MULTI-MEDIA SYSTEMS 3 CR
      Prerequisite: CS 1555 or consent of instructor  
    2710 FOUNDATIONS OF ARTIFICIAL INTELLIGENCE 3 CR
      Prerequisite: CS 1573 or consent of instructor  
      Cross-listed with ISSP 2160  
    2750 MACHINE LEARNING AND COMMUNICATION 3 CR
      Prerequisites: CS 1573 and CS 2710  
      Cross-listed with ISSP 2170  
    2900 GRADUATE INTERNSHIP 1 CR
    2910 MS PROJECT VAR. CR
    2990 INDEPENDENT STUDY VAR. CR
    3000 RESEARCH AND DISSERTATION FOR THE PHD DEGREE VAR. CR
    3110 ADVANCED TOPICS IN THEORY OF COMPUTATION 3 CR
    3120 THEORY OF LEARNING ALGORITHMS 3 CR
      Cross-listed with ISSP 3520  
    3150 ADVANCED TOPICS IN DESIGN AND ANALYSIS OF ALGORITHMS 3 CR
    3210 ADVANCED TOPICS IN PROGRAMMING LANGUAGES 3 CR.
    3220 COMPILING TECHNIQUES FOR PARALLEL SYSTEMS 3 CR.
    3230 ADVANCED COMPILER TECHNIQUES 3 CR.
    3310 ADVANCED TOPICS IN SOFTWARE ENGINEERING 3 CR.
    3320 SPECIFICATION AND DESIGN OF SOFTWARE SYSTEMS 3 CR.
    3350 MODELING AND SIMULATION 3 CR.
    3410 ADVANCED TOPICS IN COMPUTER ARCHITECTURE 3 CR.
    3420 FAULT TOLERANT PARALLEL AND DISTRIBUTED SYSTEMS 3 CR.
    3450 ADVANCED TOPICS IN PARALLEL COMPUTING 3 CR.
    3510 ADVANCED TOPICS IN OPERATING SYSTEMS 3 CR.
    3520 ADVANCED TOPICS IN COMPUTER NETWORKS 3 CR.
    3530 ADVANCED TOPICS IN DISTRIBUTED AND REAL-TIME SYSTEMS 3 CR.
    3550 ADVANCED TOPICS IN THE MANAGEMENT OF DATA 3 CR.
    3610 ADVANCED TOPICS IN HUMAN-COMPUTER INTERACTION 3 CR.
    3630 INTERACTIVE COMPUTER GRAPHICS 3 CR.
    3650 VISUAL LANGUAGES AND PROGRAMMING 3 CR.
      Cross-listed with ISSP 3180  
    3710 ADVANCED TOPICS IN ARTIFICIAL INTELLIGENCE 3 CR.
      Cross-listed with ISSP 3565  
    3720 ADVANCED TOPICS IN EXPERT SYSTEMS 3 CR.
      Cross-listed with ISSP 3300  
    3730 NATURAL LANGUAGE PROCESSING 3 CR.
      Cross-listed with ISSP 3120  
    3740 KNOWLEDGE REPRESENTATION 3 CR.
    3750 ADVANCED TOPICS IN MACHINE LEARNING 3 CR.
    3760 ADVANCED TOPICS IN COMPUTATIONAL RATIONALITY 3 CR.
      Cross-listed with ISSP 3570  
    3790 PATTERN RECOGNITION 3 CR.
      Cross-listed with EE 2372  
    3900 PHD DIRECTED STUDY VAR. CR.

    [ Table of Contents | Graduate Arts and Sciences Home | Bulletins Homepage | Next Section ]