Banner
PhD Qualifying Exams

Exams

Requests for an exam are due two months before the exam date. To register for an exam, send email to Therese Michael (tmichae1 /at/ cs.gmu.edu), indicating which exams you wish to take.

Upcoming Exam Dates


January 7-11, 2013

Artificial Intelligence PhD Qualifying Exam

Primary course
CS 580 (Artificial Intelligence)
Primary textbook
S. J. Russell and P. Norvig. Artifical Intelligence: A Modern Approach. Prentice Hall, 3rd edition, 2010.

Topic Description Readings (Russell and Norvig)
Search Methods 1. Uninformed search methods (breadth-first, depth-first, uniform-cost search)

2. Heuristic search methods (hill-climbing, best-first, A*)

3. Constraint Satisfaction

4. Game playing (mini-max, alpha-beta prunning, heuristic search)

Ch II Problem Solving (sections 3-6)
Knowledge Representation and Reasoning 1. First-order logic and natural deduction

2. Clausal form of logic and resolution theorem proving

3. Production systems (forward and backward chaining)

4. Ontologies, frame systems and semantic networks

5. Planning

6. Uncertainty and Probabilistic Reasoning

Ch III (sections 7-12)

Ch IV (sections 13-14)

Learning 1. Learning from observations (decision tree learning, version space learning)

2. Explanation-based learning

3. Statistical Learning (complete data, instance-based, and neural networks)

Ch V (sections 18-20)
Communication and Perception 1. Natural language processing (lexicographics, syntax, semantics)

2. Perception

Ch. VI (sections 22-24)

Databases PhD Qualifying Exam

Primary course
CS 550 (Database Systems)
Alternate course
INFS 614 (Database Management)
Primary textbook
Database Management Systems (3rd Ed.), Ramakrishnan and Gehrke, McGraw-Hill, 2003.
Alternative textbook
Database Systems -- An Application-Oriented Approach (Complete Version, 2nd Ed.), Kifer, Bernstein, and Lewis, Addison-Wesley, 2005.
(Note: The Introductory Version of this textbook includes all the required material except for Section 13.1 which is included only in the Complete Version).
Topic Description Readings (R&G) Readings (KB&L)
Basic concepts 1. Managing data
2. Objectives of database systems
3. Historical perspective
4. Database system architecture
5. Transaction management
Chapter 1 Chapters 1-2
Database design and the ER model 1. Database design overview
2. Basic concepts of the ER model
3. Integrity constraints in the ER model
4. ER diagrams
5. Advanced ER features
Chapter 2 (Sections 2.1-2.6) Chapter 4 (Sections 4.1-4.4, 4.7.1, 4.8, 4.9)
The relational model 1. Basic structures
2. Integrity constraints (domain, key, foreign key)
3. Converting ER diagrams to relation schemes
4. The relational algebra
5. The relational calculus
Chapter 3 (Sections 3.1-3.6)
Chapter 4 (Sections 4.1-4.4)
Chapter 3 (Sections 3.1-3.2)
Chapter 4 (Section 4.5)
Chapter 5 (Section 5.1)
Chapter 13 (Section 13.1)
SQL 1. Data definition and modification
2. Basic retrieval, ordering, null values
3. Aggregation, nesting, derived relations
4. Views, assertions, triggers
5. Embedded SQL
Chapter 5 (Sections 5.1-5.8) Chapter 3 (Section 3.3)
Chapter 5 (Sections 5.2-5.3)
Chapter 7 (Sections 7.1-7.2)
Chapter 8 (Sections 8.1-8.3)
The theory of database design 1. Design issues
2. Functional dependencies (closure, attribute closure, Armstrong's axioms)
3. Normal forms (BCNF and 3NF)
4. Decompositions (lossless and dependency preserving)
5. Normalization algorithms
Chapter 19 (Sections 19.1-19.6) Chapter 6 (Sections 6.1-6.8)

Language Processing PhD Qualifying Exam

Primary course
CS 540 (Language Processing)
Primary textbook
A. V. Aho, M. S. Lam, R. Sethi, J. D. Ullman, Compilers: Principles, Techniques and Tools, 2nd ed., Addison-Wesley, 2006.
Alternative textbook
A. V. Aho, R. Sethi, J. D. Ullman, Compilers: Principles, Techniques and Tools, Addison-Wesley, 1986.
Alternative textbook
K. D. Cooper and L. Torczon, Engineering a Compiler, Morgan Kaufmann, 2004.
Alternative textbook
A. Appel, Modern Compiler Implementation in C, Cambridge University Press, 1998. Benjamin/Cummings, 1991.
Topic Description Readings (Aho, Lam, Sethi, and Ullman)
Lexical Analysis Function of lexical analysis, token specification,token recognition Ch. 3 (omit 3.9)
Syntax Analysis Context free language specification, FIRST and FOLLOW set generation, Top-down parsing (recursive, table driven) algorithms and table generation, Bottom-up parsing algorithms and SLR table generation Ch. 2.4, Ch. 4
Syntax Directed Translation and Attribute Grammars Synthesized and inherited attributes, Writing attribute grammars, Synthesized attribute eval. for LR parsing Ch. 2.3, Ch. 5.1-5.3
Types Type systems, Type evaluation, Polymorphism, Type inference Ch. 6.3, 6.5
RT Environments Static and Stack Storage allocation, Runtime addressing, Parameter passing, Garbage collection Ch. 7
Intermediate Code Types of intermediate languages expression, Control flow, Array addressing Ch. 6
Code Generation and Optimization Control flow graphs, DAG representations, Register allocation, Basic optimizations, Iterative data-flow analysis, Loops Ch. 8.1, 8.4-8.8, Ch. 9.1, 9.2, 9.6

Foundations of Computer Science PhD Qualifying Exam (August 2012)

Primary courses
50% Algorithms: CS 583 (Design and Analysis of Algorithms)
50% Theory: CS 600 (Theory of Computation)
Primary textbooks
Intro to Algorithms (2 ed). Cormen, Leiserson, Rivest, Stein
Intro to the Theory of Computation (2 ed). Sipser
Logic in Computer Science. Huth, Ryan
Topics Description Readings
Foundations function growth: O, theta, omega notation Cormen 3
recurrence relations Cormen 4
probabilistic analysis; randomized algorithms Cormen 5
amortized analysis Cormen 17
dynamic programming Cormen 15
greedy algorithms Cormen 16.1-3
Sorting heapsort, quicksort, mergesort Cormen 6, 7, 2
non-comparison-based Cormen 8
selection / order statistics Cormen 9
Data Structures balanced binary search trees Cormen 12, 13
hash tables Cormen 11
heaps / priority queues Cormen 6.5, 20
Graph Algorithms breadth/depth-first search Cormen 22
minimum spanning trees Cormen 23
shortest paths Cormen 24, 25
maximum flow Cormen 26.1-3
Logic propositional logic Huth 1.1-5
predicate logic (first-order logic) Huth 2.1-5
mathematical induction Huth 1.4.2
well-formed formulas Huth 1.3, 2.1
natural deduction proofs Huth 1.2, 2.3
entailment Huth 1.4, 2.4
soundness and completeness Huth 1.4, 2.5
Formal Languages and Automata finite automata; regular expressions Sipser 1
push-down automata; context-free languages Sipser 2
Turing machines Sipser 3.1
Computability Church-Turing thesis Sipser 3
decidable/recursive languages Sipser 4
recusively-enumerable languages Sipser 4
reducibilty Sipser 5
Complexity time complexity: NP-complete Sipser 7, Cormen 34
space complexity: PSPACE, LOGSPACE (L) Sipser 8

Foundations of Computer Science PhD Qualifying Exam (January 2013 onwards)

Primary course
CS 583 (Design and Analysis of Algorithms)
Primary textbook
Intro to Algorithms (3rd ed). Cormen, Leiserson, Rivest, Stein
Topics Description Readings
Foundations function growth: O, theta, omega notation Cormen 3
recurrence relations Cormen 4
probabilistic analysis; randomized algorithms Cormen 5
amortized analysis Cormen 17
dynamic programming Cormen 15
greedy algorithms Cormen 16.1-3
Sorting heapsort, quicksort, mergesort Cormen 6, 7, 2
non-comparison-based Cormen 8
selection / order statistics Cormen 9
Data Structures balanced binary search trees Cormen 12, 13
hash tables Cormen 11
heaps / priority queues Cormen 6.5, 19
Graph Algorithms breadth/depth-first search Cormen 22
minimum spanning trees Cormen 23
shortest paths Cormen 24, 25
maximum flow Cormen 26.1-3
Complexity NP-completeness Cormen 34

Operating Systems PhD Qualifying Exam (January 2013)

Primary courses
CS 571 (Operating Systems)
Primary textbook
Operating System Concepts, 8th Edition, Silberschatz, Galvin, and Gagne, John Wiley, 2008.
Alternative textbook
Distributed Systems: concepts and design, 4th edition, Coulouris, Dollimore, and Kindberg, Addison Wesley, 2005.

Topics Description Readings (Silberschatz, Galvin, and Gagne)
Architecture Basics and OS Structures Computer-System Organization, Computer-System Architecture, Operating-System Structure, Operating-System Operations, Storage Levels and Caching, Operating System Services, User Operating System-Interface, System Calls, OS Design Paradigms (Simple Structure, Layered Approach, Microkernels, Modules, Virtual Machines), OS Generation, System Boot Chap. 1 and 2
Process Management Processes, Threads, CPU Scheduling, Process Synchronization, Deadlocks, Atomic Transactions Chaps. 3 through 7
Memory Management Contiguous Allocation, Paging, Segmentation, Virtual Memory, Page Replacement Algorithms, Thrashing Chaps. 8 and 9
Storage Management File-System Interface, File System Implementation, Allocation Methods, Efficiency and Performance Issues, Mass-Storage Structure, Disk Scheduling, RAID Structure Chaps. 10 through 12
Protection and Security Access Control, Program Threats, System and Network Threats, Basic Cryptography, User Authentication Chaps. 14 and 15
Distributed Systems Distributed System Structures, Distributed File Systems, Distributed Coordination Chaps. 16 through 18

Operating Systems PhD Qualifying Exam (August 2013 onwards)

Primary courses
CS 571 (Operating Systems)
Primary textbooks
[OSC] Operating System Concepts, 8th Edition, Silberschatz, Galvin, and Gagne, John Wiley, 2008.
[DS] Distributed Systems: concepts and design, 5th edition, Coulouris, Dollimore, and Kindberg, Addison Wesley, 2011.
Additional readings
[VM1] "Virtual machine monitors: current technology and future trends" by M. Rosenblum and T. Garfinkel, IEEE Computer, Vol. 38, No. 5. (May 2005), pp. 39-47.
[VM2] "The Architecture of Virtual Machines" by James E. Smith and Ravi Nair, IEEE Computer, Vol. 38, No. 5. (May 2005), pp. 32-38.
[VM3] "Xen and the Art of Virtualization" by P. Barham et al., Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles (SOSP 2003), pp. 164-177
Note: The electronic (pdf) copies of VM1, VM2, and VM3 are available at the IEEE and ACM digital libraries, which can be accessed through the GMU library site (http://library.gmu.edu)

Topics Description Readings
Architecture Basics and OS Structures Computer-System Organization, Computer-System Architecture, Operating-System Structure, Operating-System Operations, Storage Levels and Caching, Operating System Services, User Operating System-Interface, System Calls, OS Design Paradigms, OS Generation, System Boot OSC Chap. 1 and 2
Process Management Processes, Threads, CPU Scheduling, Process and Thread Synchronization, Deadlocks, Atomic Transactions OSC Chap. 3 through 7
Memory Management Contiguous Allocation, Paging, Segmentation, Virtual Memory, Page Replacement Algorithms, Thrashing OSC Chap. 8 and 9
Storage Management File-System Interface, File System Implementation, Allocation Methods, Efficiency and Performance Issues, Mass-Storage Structure, Disk Scheduling, RAID Structure OSC Chap. 10 through 12
Protection and Security Access Control, Program Threats, System and Network Threats, Basic Cryptography, User Authentication OSC Chap. 14 and 15
Distributed Systems Fundamentals of Distributed Systems, Distributed File Systems, Time and Global States, Distributed Coordination and Agreement OSC Chap. 16 through 18, DS Chapter 14.1, 14.2, 14.4, 15.1, 15.2, 15.3, 15.5.1
Virtual Machines Fundamentals of Virtual Machine Technologies, Process and System Virtual Machines, Para-virtualization, OS support for Virtual Machines VM1, VM2, VM3

Computer Networks PhD Qualifying Exam (January 2013)

Primary courses
CS 555 (Computer Communications and Networking)
Primary textbook
Data and Computer Communications, 9th ed., W. Stallings, Prentice Hall, 2010
Topic Description Readings (Stallings)
Protocol and communication model Functions of each layer Chapter 1 and 2
Communications media characteristics Characteristics of wire, fiber, and radio as channels Chapters 3 and 4
Analog and digital transmission Analog transmission of digital data; digital transmission of analog data Chapter 5
Error detection and correction Cyclic redundancy check Chapter 6
DLC ARQ protocols Sliding window, selective repeat, go-back-N Chapter 7
LANs CSMA/CD, binary exponential backoff Chapters 15 and 16
Wireless CDMA, CSMA/CA Chapters 9 and 17
Connectionless vs connection-oriented protocols Virtual circuit model; datagram model Chapter 10 and 11
Routing Routing algorithms, distance vector, link-state, border gateways Chapters 12 and 19
Congestion control Congestion control in data networks and TCP congestion control Chapters 13 and 22
Internet Internet Protocols, multicasting Chapters 18 and 19
Transport Connection phase; sliding window; TCP Chapter 22
Multimedia and real-time networking Quality of service; MIME types Chapters 19 and 26
Network security Authentication; encryption; message digests Chapter 23 and 24

Computer Networks PhD Qualifying Exam (August 2013 onwards)

Primary courses
CS 555 (Computer Communications and Networking)
Primary textbook
Computer Networks -- A Systems Approach, Larry Peterson and Bruce Davie, 5th edition
Topic Description Readings
Protocol and communication model Functions of each layer Chapter 1
Communications Building Blocks Communication theories; hardware and software; encoding methods Chapters 1, 2.1, 2.2
Error detection and correction Cyclic redundancy check; Hamming Code Chapter 2.4
DLC ARQ protocols Sliding window, selective repeat, go-back-N Chapter 2.5
LANs CSMA/CD, binary exponential backoff Chapter 2.6
Wireless CDMA, CSMA/CA Chapter 2.7
Internetworking Switching and Bridging, IP Chapters 3.1, 3.2
Routing Routing algorithms, distance vector, link-state, border gateways Chapter 3.3
Congestion control Congestion control in data networks and TCP congestion control Chapters 5 and 6
Global Internet Internet Protocols Chapter 4
Transport Connection phase; sliding window; TCP/UDP Chapter 5
End-to-end Data and Applications Quality of service; compression; overlay routing; CDN Chapters 7, 9.2, 9.3, 9.4
Network security Authentication; encryption; message digests Chapter 8

Software Modeling PhD Qualifying Exam

Primary courses
SWE 621 (Software Modeling and Architectural Design)
Primary textbook
Gomaa, "Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures”, Cambridge University Press, February 2011, ISBN: 9780521764148
Alternative textbook
Gomaa, "Designing Concurrent, Distributed, and Real-Time Applications with UML", Addison-Wesley, August 2000.
Alternative textbook
Fowler and Kendall, "UML Distilled", Third Edition, Addison-Wesley, 2004.
Topic Description Readings (Gomaa 2011) Readings (Fowler and Kendall) Readings (Gomaa 2000)
Software Processes Software Process models Chapter 3   Chapter 2
Chapter 5
Software Prototyping Prototyping in the software process, throw-away prototyping, evolutionary prototyping Chapter 3   Chapter 5
Object-Oriented Software Engineering with UML Background. Unified Modeling Language (UML) notation, Object-Oriented Software Life Cycle  Chapters 2 and 5 Chapters 1 and 2 Chapters 2 and 6
Use case modeling Use cases, actors, include and extend relationships, use case packages   Chapter 6 Chapter 9 Chapter 7
Static modeling Classes, attributes, and relationships. Multiplicity of associations, association classes, aggregation and composition, generalization/specialization; software context class diagrams, entity modeling; object structuring criteria, stereotypes.   Chapters 7 and 8 Chapters 3 and 5 Chapter 8 and 9
Finite state machines and statecharts States, events, conditions, actions and activities, entry and exit actions; hierarchical statecharts.   Chapter 10
Chapter 10 Chapter 10
Dynamic Modeling Object Interaction Modeling; developing interaction models from use cases, ensuring consistency between statecharts and interaction models.   Chapters 9 and 11 Chapters 4 and 12
Chapter 11
Software Architectural Design Multiple views of software architecture, Subsystem Structuring Criteria. Distributed application design. Client/server applications.   Chapters 12, 13, and 15   Chapters 12 and 13
Concurrent Task Design Concurrent Task Structuring; Task Interfaces - message communication, event synchronization.   Chapter 18   Chapter 14
Class Design Information hiding class design; designing class operations, inheritance in software design, class interface specs.   Chapter 14   Chapter 15
Design Patterns Design patterns and architectural patterns; architectural styles; architectural structure patterns, architectural communication patterns.
  Chapters/sections 4.5, 12.3, 12.4, 15.2, 15.3, 16.2, and 17.6, Appendix A     Chapters 3 and 12
Relational Database design   Design of database wrapper classes, identifying primary keys, mapping associations to foreign keys, mapping whole/part and generalization / specialization relationships to relational databases.   Chapter 15    

Software Construction PhD Qualifying Exam

Primary course
SWE 619 (Software Construction)
Primary textbook
Liskov. Program Development in Java: Abstraction, Specification, and Object-oriented Design. Addison-Wesley, 2000.
Topic Description Readings (Liskov)
Abstraction Decomposition and Abstraction 1.1
Parameterization 1.2
Specification 1.2
Java Objects Program structures and packages 2.1, 2.2
Objects and Type Checking 2.3, 2.4
Dispatching and Types 2.5, 2.6
Procedural Abstraction Specifications 3.1, 3.2, 3.3
Implementing 3.4
Designing 3.5
Exceptions Exceptions in Java 4.1, 4.2
Programming with Exceptions 4.3
Design and Defensive Programming 4.4, 4.5
Data Abstraction Specifications and implementation 5.1-5.5
Reasoning 5.6, 5.7
Designing 5.8, 5.9
Iteration Abstraction Iterators in Java 6.1
Specifications and implementation 6.2-6.4
Design 6.5-6.7
Type Hierarchies Assignment and dispatching 7.1
Defining hierarchies 7.2-7.5
Specifications and implementation 7.6-7.8
Theoretical properties 7.9, 7.10
Polymorphic Abstraction Defining and using 8.1, 8.2
Equality and robustness 8.3-8.6

Software Testing PhD Qualifying Exam (only for IT PhD)

Primary course
SWE 637 (Software Testing)
Primary textbook
Ammann and Offutt, "Introduction to Software Testing", Cambridge University Press, January 2008, ISBN-13: 9780521880381. See the book website for more information. Contact the authors for updated information.
Topic Description Readings
Introduction and Overview Overview of Software Testing Chapter 1
Graph Coverage Graph coverage criteria; creating graphs from source code, design elements, specifications, and use cases; representing graphs algebraically Chapter 2
Logic Testing Logic expression coverage criteria; Structural logic coverage of programs; Specification-based logic coverage; Logic coverage of finite state machines; Disjunctive normal form criteria Chapter 3
Input Space Partitioning Input domain modeling; Combination strategies criteria; Constraints among partitions Chapter 4
Syntax-Based Testing Syntax-based coverage criteria; Program-based grammars; Integration and object-oriented testing; Specification-based grammars; Input space grammars Chapter 5
Engineering Test Criteria for Technologies Testing object-oriented software; Testing web applications and web services; Testing graphical user interfaces; Real-time software and embedded software; Chapter 7

Information Security and Assurance PhD Qualifying Exam (January 2013)

Primary course
ISA 562 (Information Security Theory and Practice)
Primary textbooks
  1. Computer Security: Art and Science by Matt Bishop, 1st edition. Addison-Wesley.
  2. Official (ISC)2® Guide to the CISSP® CBK
Topic Description Reading (Bishop) Reading (ISC)
Introductory concepts Introductory concepts Chapter 1 Chapter 1
Access control and models Access control policies and models Chapters 2, 3, 4, 5, 6, 7, 8, 15 Chapter 2
Cryptography Basic cryptography Chapter 9 Chapter 4
Key management Distributed access control and identity management Chapter 10  
Authentication and identity Basic techniques Chapters 12,14  
Cryptographic protocols, telecommunication, and network security SSL and IpSec, TLS, etc. Chapter 11 Chapter 10
Other topics Business continuity, risk management, operational security, and physical security   Chapters 3, 5, 6, 7, 8, 9


Information Security and Assurance PhD Qualifying Exam (August 2013 onwards)

Primary course
ISA 656 (Network Security)
Primary textbooks
[Kaufman] Network Security: Private Communication in a Public World (2nd Edition) Kaufman et al., Publication Date: April 22, 2002 | ISBN-10: 0130460192
[Bishop]  Computer Security: Art and Science (1st Edition) Matt Bishop Publication Date: December 2, 2002 | ISBN-10: 0201440997 | ISBN-13: 978-020144099
Additional readings
[A1] Chapter 3 of "Who Goes There? Authentication Through the Lens of Privacy". National Academies Press, 2003. [Html Link]
[A2] Tor: The Second-Generation Onion Router, Roger Dingledine, Nick Mathewson, and Paul Syverson, Proceedings of the 13th USENIX Security Symposium, August 2004. [PDF Link]
[A3] Universal Re-encryption for Mixnets, Philippe Golle, Markus Jakobsson, Ari Juels, Paul Syverson, The Cryptographers' Track at the RSA Conference, 2004. [PDF Link]
 
Topic
Description
Readings [Kaufman]
Readings [Bishop]
Access control and models; Security Policies and their Application
The Access Control Matrix; Discretionary and Mandatory Access Control (DAC and MAC), RBAC, MAC; Access control policies and models   Chapters: 2, 4-7
Basic Cryptography
Block Ciphers, Stream Ciphers, Digital Certificates and Public-Key Infrastructure; Hash Functions, MACs Chapters 2-7, 11, 15 Chapters: 9, 11
Cryptographic Protocols
Cryptographic protocols: Needham-Schroeder, Kerberos, EKE and IKE Chapters 12, 13, 14, 17  
Authentication and Identity Management; Key management
User Authentication Protocols, Trust Negotiation, IPSEC and IKE, Web Security; SSL, TLS and other secure protocols Chapters 18, 19  
Firewalls, VPNs & Application Security
Email, Firewalls, Packet Filtering, VPNs, Denial of Service Chapters 20-23, 24.5  
Transport & Wireless Security
Transport-level, Internet Protocol, and Wireless Security Chapters 16, 17, 19  
Anonymity & Privacy
Privacy Challenges, MixNets, Onion Routing
Additional Readings [A1], [A2], [A3]