PhD in Computer Science

A complete description of all the requirements for the PhD degree is available in the Computer Science department and from the department website. The following are the most important components of the degree.

Admission Tests and Prerequisites

The candidate must complete or have completed the requirements for a master’s degree in computer science or the equivalent. Unusually well-qualified candidates may be accepted as 16-course PhD candidates directly after earning the bachelor’s degree. Graduate Record Examination (GRE) General Test results are required.

Course Requirements (Breadth)

Eight semester courses (32 credits) beyond those taken to fulfill the master’s degree are required. These will provide a reasonable breadth of background in computer science as well as mastery of the basic tools relevant to the research area selected.

Language Requirement

The department does not have a foreign language requirement.

Qualifying Examination (Depth)

All PhD candidates must pass a written or oral comprehensive examination administered by the department. In addition, every PhD candidate is required to pass an oral examination in a distinct area of computer science. These examinations must be completed by the end of the third year of study (the second year, for post-master’s PhD candidates).

Residency Requirement, Dissertation Prospectus, and Final Oral Examination

Please see General Requirements for the PhD.

Dissertation

An original thesis is required. A thesis advisor must be selected from among the BUCS faculty and a thesis proposal must be successfully defended by the end of the fifth year of study (the fourth year, for post-master’s PhD).

Courses

Certain courses in other departments may be taken, if approved in advance.

  • CAS CS 511 Object-Oriented Software Principles
  • CAS CS 520 Programming Languages
  • CAS CS 525 Compiler Design Theory
  • CAS CS 530 Analysis of Algorithms
  • CAS CS 532 Computational Geometry
  • CAS CS 535 Complexity Theory
  • CAS CS 537 Randomness in Computing
  • CAS CS 538 Fundamentals of Cryptography
  • CAS CS 539 Methods of Scientific Computing
  • CAS CS 542 Machine Learning
  • CAS CS 548 Advanced Cryptography
  • CAS CS 549 Pattern Matching and Detection with Applications in Biological Sequence Analysis
  • CAS CS 551 Parallel Computer Architecture
  • CAS CS 552 Introduction to Operating Systems I
  • CAS CS 553 Operating Systems II
  • CAS CS 556 Advanced Computer Networks
  • CAS CS 558 Computer Networks Security
  • CAS CS 559 Algorithmic Aspects of Computer Networks
  • CAS CS 562 Advanced Database Applications
  • CAS CS 565 Data Mining
  • CAS CS 580 Advanced Computer Graphics
  • CAS CS 585 Image and Video Computing
  • CAS CS 591 Topics in Computer Science
  • GRS CS 640 Artificial Intelligence
  • GRS CS 655 Introduction to Computer Networks
  • GRS CS 660 Introduction to Databases
  • GRS CS 670 Performance Analysis of Computer Systems
  • GRS CS 680 Graduate Introduction to Computer Graphics
  • GRS CS 697 Computer Science Graduate Initiation
  • GRS CS 698 CS Teaching Fellow Training
  • GRS CS 699 Teaching College Computer Science I
  • GRS CS 791, 792 Advanced Topics in Computer Science

Directed Study or Research in Computer Science

Prereq: consent of instructor. Directed study must be approved by faculty supervisor and department faculty member concerned. Time arranged. Variable cr.

Directed study (research) courses may be used toward completing a master’s project, a master’s thesis, or research work, as determined in consultation with the student’s faculty advisor.

  • GRS CS 910, 911    Directed Study in Computer Systems
  • GRS CS 920, 921    Directed Study in Programming Languages
  • GRS CS 930, 931    Directed Study in Algorithmic Information Theory
  • GRS CS 932, 933    Directed Study in Algorithms
  • GRS CS 935, 936    Directed Study in Computational Complexity
  • GRS CS 952, 953    Directed Study in Operating Systems
  • GRS CS 960, 961    Directed Study in Database Systems
  • GRS CS 979, 980    Directed Study in Image and Video Computing