Menu Close

Ph.D. Qualifiers Study Guide

Overview

Following graduate division guidelines, the ICS Ph.D. Qualifying Examination is given in the first semester of a student’s residency in the Ph.D. portion of his or her studies. Its purpose is to assess students’ preparation in Computer Science and to identify any deficiencies that should be addressed with further study. A student should be able to pass this exam based on their Masters level study in computer science.

In order to provide guidance to students who elect to study for this exam, we provide below:

  • The areas of coverage are in terms of the ACM curriculum (details are in the ACM CC2005 report), a nationally known reference framework. This curriculum is for undergraduate education, but nevertheless provides a strong basis for a graduate-level qualifying exam.
  • Pointers to books and book chapters that relate to the items in the ACM curriculum. This content is found in many texts and the references are just examples.  Although this may seem like a lot of material, based on your previous education you should be able to quickly skim through a significant fraction of that material and focus on the material that you may not have covered in the past or that you like re-visiting. The table of contents of all cited books is easily available on-line so that you can check the material coverage, and any decent library should have these books available as well. In some cases we cite older editions because they are sufficient and might be found online.
  • Sample questions are available upon request

Exam Coverage in terms of the ACM (Undergraduate) Curriculum

  • DS. Discrete Structures
    • DS1. Functions, relations, and sets
    • DS2. Basic logic
    • DS3. Proof techniques
    • DS4. Basics of counting
    • DS5. Graphs and trees
    • DS6. Discrete probability
    • DS7. Matrix algebra
  • PF. Programming Fundamentals
    • PF1. Fundamental programming constructs
    • PF2. Algorithms and problem-solving
    • PF3. Fundamental data structure
    • PF4. Recursion
  • AL. Algorithms and Complexity
    • AL1. Basic algorithmic analysis
    • AL2. Algorithmic strategies
    • AL3. Fundamental computing algorithms
    • AL6. The complexity classes P and NP
  • AR. Architecture and Organization
    • AR1. Digital logic and digital systems
    • AR2. Machine level representation of data
    • AR3. Assembly level machine organization
    • AR4. Memory system organization and architecture
  • OS. Operating Systems
    • OS1. Overview of operating systems
    • OS2. Operating system principles
    • OS3. Concurrency
    • OS4. Scheduling and dispatch
    • OS5. Memory management
  • NC. Net-Centric Computing
    • NC1. Introduction for net-centric computing
    • NC2. Communication and networking
    • NC3. Network security
    • NC7. Compression and decompression
  • PL. Programming Languages
    • PL1. Overview of programming languages
    • PL4. Declarations and types
    • PL5. Abstraction mechanisms
    • PL6. Object-oriented programming
    • PL7. Functional programming
    • PL8. Language translation systems
  • IM. Information Management
    • IM1. Information models and systems
    • IM2. Database systems
    • IM3. Data modeling
    • IM4. Relational databases
    • IM5. Database query languages
    • IM6. Relational database design

Bibliographical References

The textbooks listed below are “classics” and are provided only as possible options to review the material. The chapters listed are on standard topics that are covered by similar chapters in most other textbooks: many other textbooks would be fine. More recent editions of some of these are available but may be more costly to acquire.

  • DS. Discrete Structures:
    • Discrete Mathematics and Its Applications, 6th ed., K. H. Rosen – McGraw-Hill Science/Engineering/Math, Chapters 1-11
  • PF. Programming Fundamentals:
    • Introduction to Algorithms, T. Cormen, C. Leiserson, R. Rivbest, C. Stein – MIT Press, Chapters 1-4, 6-8, 10-13, 15-16, 22-26
  • AL. Algorithms and Complexity
    • Introduction to the Theory of Computation, M. Sipser – PWS Pub. Co, Chapters 0-5, 7, 10.6
    • Alternatively, the material covered by ICS 311.
  • AR. Architecture and Organization
    • Computer Architecture: A Quantitative Approach, 3rd ed., J. L. Hennessy and D. A. Patterson – Morgan Kaufmann, Chapters 1, 2, 3.1-4, 4.1-3, 5.1-9, 7.1-7, A.1-5
  • OS. Operating Systems
  • NC. Net-Centric Computing Choose one of these:
    • Computer Networks and Internets, 5th ed., D. Comer – Prentice Hall, Chapters 1-4, 13, 15, 16, 20-27, 30
    • Computer Networking: A Top-Down Approach, 5th ed., J. Kurose, K. Ross – Addison Wesley, Sections 1.1-6, 2.1-5, 3.1-5, 4.1-5, 5.1, 5.4-6, 6.2, 6.3, 8.2, and 8.3 
    • Computer Networks: A Systems Approach, Larry Peterson and Bruce Davie, 4th edition, Chapters 1, 2-2.6, 2.8, 3-3.2, 3.4, 4, 5-5.2, 5.5, 6.3, 8.1, 9.1.
  • PL. Programming Languages
    • Modern Programming Languages: A Practical Introduction, A. B. Webber – Franklin, Beedle & Associates, Chapters 1-19, 23,24
    • Compilers: Principles, Techniques and Tools, A. V. Aho, R. Sethi, J. D. Ullman – Addison-Wesley, Chapters 1-5
  • IM. Information Management:
    • Database Management Systems, 3rd ed., R. Ramakrishnan, J. Gehrke – McGraw Hill Higher Education, Chapters 1-5, 8, 16, 19