Ph.D. Qualifying Written Exam

Ph.D. Qualifying Written Exam

CS PhD program offers written qualifying exams in the following basics, core and specialization areas of CS to test if a PhD student has an acceptable mastery of basic undergraduate level knowledge in computer science and engineering:

CS Basics
  • Data Structures and Algorithms (CS300, CS301)

Core Areas
  • Programming Languages and Compiler Design (CS305, CS402)
  • Database Systems and Software Engineering (CS306, CS308)
  • Computer Architecture and Digital Design (CS303, CS401)
  • Operating Systems and Computer Networks (CS307, CS408)
  • Automata Theory and Theory of Computation (CS302, CS407)

Specialization areas:
  • Computer Graphics (CS405)
  • Machine Learning (CS412)
  • Artificial Intelligence (CS404)
  • Cryptography and Network Security (CS432)

As part of the requirements for an admission to PhD candidacy, students enrolled in the CS PhD program must pass:
  • the Data Structures and Algorithms exam;
  • two qualifying exams from the core area exams;
  • another written qualifying exam in CS (can be a core or specialization area exam) -OR- Engineering Mathematics -OR- one of the other FENS PhD programs;
  • an oral qualifying exam in CS after successfully passing the 4 written exams.

General information about PhD qualifying exams at SU can be found at http://fens.sabanciuniv.edu/en/phdqualifying


1. Data Structures and Algorithms

Topics

  • Asymptotic notation, complexity analysis
  • Data structures (stacks, queues, priority queues, linked lists, hash tables, binary search trees, AVL trees, red-black trees)
  • Advanced data structures (B-trees, binomial trees, Fibonacci heaps, data structures for disjoint sets)
  • Recurrences
  • Sorting and order statistics (heapsort, quicksort, sorting in linear time, medians and order statistics)
  • Dynamic programming
  • Greedy algorithms
  • Amortized analysis
  • Elementary graph algorithms (search, topological sort, strongly connected components)
  • Minimum spanning trees
  • Single-source shortest paths
  • All-pairs shortest paths
  • Maximum flow
  • NP Completeness

References

  • T. H. Cormen, C. E. Leiserson, and R. L. Rivest, Introduction to Algorithms, The MIT Press / McGraw-Hill Book Company, 1994.
  • Mark Allen Weiss, Data Structures and Algorithm Analysis in C++ 2nd Ed. Addison Wesley

2. Programming Languages and Compiler Design

Topics Related to Programming Languages

  • Describing Syntax and Semantics
  • Names, Bindings, Type Checking, and Scopes
  • Data Types
  • Expressions and the Assignment Statement
  • Statement-Level Control Structures
  • Procedures
  • Abstract Data Types
  • Functional Programming Languages
  • Logic Programming Languages
  • Object Oriented Design

Topics Related to Programming Languages

  • Lexical processing: tokenization and lexical analysis
  • Parsing
  • Basics of symbol table organization, type checking and handling of user-defined types
  • Data representation issues, memory management
  • Runtime environment organization
  • Code generation and optimization

References

  • Ravi Sethi, Programming Languages Concepts and Constructs, 2nd ed., Addison-Wesley.
  • Alfred Aho, Ravi Sethi, Jeffrey Ullman, and Compilers: Principles, Techniques, and Tools, Addison-Wesley, 1985.

3. Database Systems and Software Engineering

Topics Related to Database Systems

  • Data Models, E-R Model. Database Architecture.
  • Relational Algebra and Calculi.
  • Data Manipulation Languages: SQL,QUEL, QBE.
  • Functional Dependency Theory. Normalization of Relations.
  • Multivalued and Join Dependencies.
  • Query processing and optimization techniques
  • Indexing techniques
  • Transaction processing. Concurrency Control Techniques
  • Serializability. Locking, deadlocks, timestamping.
  • Security and integrity, authorization, and encryption

References

  • Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, second edition, McGraw Hill, 2000.

Topics Related to Software Engineering

  • Software development processes
  • Agile software development
  • Software modelling (UML)
  • Requirements engineering
  • Software architecture
  • Object oriented design
  • Software design patterns
  • Software verification and validation

References

  • Object Oriented Software Engineering: Practical Software Development using UML and Java (2nd edition), Timothy C. Lethbridge and Robert Laganiere, McGraw-Hill, 2005, ISBN 0-07-710908-2
  • Software Engineering (10th edition), Ian Sommerville, Pearson, 2016, ISBN

    978-0133943030

4. Computer Architecture and Digital Design

Topics

  • Processor: Datapath and Control
  • Pipelining (pipelined control, hazards, exceptions, performance)
  • Memory Hierarchy (caches, virtual memory)
  • Processor-Peripheral Interfacing
  • Number systems and conversion, boolean algebra, the assertion level concept
  • Minterm and maxterm expansions, Karnaugh maps and Quine McCluskey minimization
  • Combinatorial logic circuit design, NAND and NOR gate based design
  • State machines and sequential circuits, flip-flops, minimization of state tables, state assignment
  • Higher level digital system design using SSI-MSI blocks such as multiplexers/decoders, adders, memory and programmable gate arrays
  • Bus oriented systems
  • Asynchronous sequential circuits, flow tables, timing hazards

References

  • David A. Patterson, John L. Hennessy, Computer Organization and Design The Hardware/Software Interface, Morgan Kaufmann Publishers, 1994.
  • M. Morris Mano, Charles R. Kime, Logic and Computer Design Fundamentals 2nd Edition, Prentice Hall.

5. Operating Systems and Computer Networks

Topics Related to Operating Systems

  • Processes & Interprocess Communication
  • Process Scheduling
  • Memory Management
  • File Systems
  • Input/Output
  • Deadlocks
  • Naming, security, and reliability
  • Resource sharing, and remote execution
  • Network architectures

Topics Related to Computer Networks

  • Local and wide-area networks
  • Network technologies and topologies
  • TCP/IP protocols (application, transport and network layers)
  • Routing, addressing, naming, multicasting, switching, internetworking
  • Congestion/flow/error control
  • Medium access control
  • Data Link Layer protocols
  • Physical layer basics
  • Quality of service
  • Network security

References

  • A. S. Tanenbaum, Modern Operating Systems, Prentice-Hall, 1992.
  • A. S. Tanenbaum, Computer Networks 4th ed., Prentice-Hall, 2003 (reference).
  • W. Stallings, Computer Networking with Internet Protocols and Technology, Prentice-Hall, 2004 (main text).

6. Automata Theory and Theory of Computation

Topics

  • Deterministic Finite State Automata DFA ; definitions , tabular and graphical representations and uses of DFA as language acceptors,.
  • Non-deterministic Finite Automata NDFA with and without epsilon (invisible) transitions ; conversion of NFDA to equivalent DFA ; minimal state DFA and algorithms to compute them,
  • Algebra of regular expressions RE ; language definitions as RE expressions ; conversions between various finite automata and REs,
  • Computational complexity of basic algorithms involving finite automata and REs
  • Turing Machines TMs ; decidability, semidecidability and computability ; various versions of TMs (multi-tape, multi-dimensional , random access, nondeterministic etc.) and equivalences between them,
  • The halting problem and other derived undecidable problems ; Turing computability
  • Basic definitions and problems related to computational complexity ; polynomial , NP and NP-complete problems ; Cook's theorem and some basic NP-completeness proofs
  • PSPACE-complete problems ; definitions and basic proofs,
  • Definition of context-free grammars and applications,
  • General grammars (or re-writing systems),
  • Recursive functions and basic equivalence result between TMs , general grammars and recursive functions,
  • Recursion theorem , self-reproduction and consequences,

References

  • P. Linz, An Introduction to Formal Languages and Automata 3rd ed., Jones and Bartlett Pub., 2000.
  • J. E. Hopcroft, R. Motwani, J. D. Ullman, Introduction to Automata Theory, Languages, and Computation 2nd ed., Addison-Wesley, 2000.

7. Computer Graphics

Topics

  • Overview of graphics systems, applications
  • Graphics and raster graphics algorithms for drawing in 2D
  • Geometrical transformations in 2D and 3D
  • Viewing in 3D
  • Computer animation principles
  • Color and shading; Shaders
  • Texture mapping
  • Illumination and Radiosity
  • Modeling shapes with polygonal meshes
  • Modeling curves: implicit, explicit and parametric; emphasis on cubic polynomials
  • Surface modeling: Bicubic Bezier polynomials, splines, nurbs
  • Visible surface determination
  • Virtual Environments

References

8. Machine Learning Topics:

Topics

  • Basics of probability and statistics
  • Parameter estimation, MLE, MAP
  • Model evaluation
  • Model complexity, overfitting, bias/variance, regularization
  • Supervised classification models
  • K-NN
  • Decision trees
  • Bayes classifier
  • Naive bayes classifier
  • Logistic regression
  • Support vector machines
  • Neural networks
  • Deep learning fundamentals
  • Ensemble methods
  • Regression
  • Linear regression
  • Polynomial and Ridge regression
  • Regression trees
  • Dimensionality reduction
  • Feature selection, extraction
  • PCA
  • Clustering
  • K-means
  • Gaussian Mixture Models
  • Spectral clustering

References

  • Introduction to Machine Learning by Ethem Alpaydin,
  • Pattern Recognition and Machine Learning by Christopher M. Bishop
  • Machine Learning by Tom Mitchell,
  • Pattern classification by Richard O. Duda, Peter E. Hart [and] David G. Stork.
  • Machine Learning: A Probabilistic Perspective by Kevin R Murphy

9. Artificial Intelligence

Topics

  • Search Algorithms
  • Solving problems by searching [RN, Ch3]
  • Blind search: breadth-first search, uniform cost search, depth-first search, depth-first iterative deepening [RN, Ch3]
  • Heuristic search: best-first search, A* search, iterative-deepening A*, weighted A* [RN, Ch3]
  • Local search: hill-climbing search, simulated annealing, local beam search, genetic algorithms [RN, Ch4]
  • Adversarial search: minimax algorithm, alpha-beta pruning, depth-limited search with evaluation functions, expectimax search [RN, Ch5]
  • Backtracking search: constraint satisfaction problems (CSPs), constraint propagation, forward checking, arc/path consistency, backtracking search for CSPs, local search for CSPs [RN, Ch6]
  • Knowledge Representation and Reasoning
  • Propositional logic: satisfiability, entailment, deduction by resolution, SAT, DPLL, representing combinatorial search problems in propositional logic [RN, Ch7]
  • First-order logic (FOL): satisfiability, entailment, deduction by resolution, representing knowledge in FOL [RN, Ch8 & Ch9]
  • Planning: Situation Calculus, planning by FOL resolution, STRIPS, ADL, planning by searching [RN, Ch10]
  • Reasoning under uncertainty: quantifying uncertainty, Bayesian networks (BNs), semantics of BNs, exact inference in BNs, variable elimination algorithm, approximate inference in BNs, sampling methods [RN, Ch13 & Ch14]
  • Decision making under uncertainty: preferences, utilities, policies, decision trees/networks, value of information, Markov decision processes, value iteration, policy iteration [RN, Ch16 & Ch17]
  • Learning [RN, Ch18 ]
  • Supervised learning: decision trees; Bayes classifier; linear regression; neural networks
  • Gradient descent
  • Model Evaluation: overfitting, loss
  • Ensembles

References

  • [RN] Stuart Russell and Peter Norvig. Artificial Intelligence: A Modern Approach (3rd Edition).

10. Cryptography and Network Security

Topics

  • Cryptography and Computer and Network Security Concepts
  • Classical (Historical) Encryption Techniques
  • Symmetric Cryptography, Block Ciphers and Related Cryptosystems (AES, DES, 3DES, etc.)
  • Block Cipher Modes of Operation
  • Random Bit Generation and Stream Ciphers
  • Public-Key Cryptography, RSA and DH
  • Digital Signatures
  • Cryptographic Hash Functions
  • Message Authentication Codes
  • Key Management and Distribution
  • User and Message Authentication Protocols
  • Transport-Level Security (SSL, TLS, SSH)
  • Electronic Mail Security and Related Protocols
  • IP Security
  • Firewalls
  • Intrusion Detection Systems

Reference

  • W. Stallings, Cryptography And Network Security: Principles And Practice, 6th or 7th ed., Pearson, 2016. Missing topics can be found in earlier versions of that book or as online chapters (if you cannot find, please write to Albert Levi)