Computing Models and Computability Theory

advertisement

CISE Ph.D. Qualifier

Topics References

Computer Architecture

Topics:

A. Architectural Fundamentals

1. Definition of architecture

2. Distinction between Architecture and organization

3. RISC and CISC architectures

4. General purpose Machines

5. Classification of Computers and their instructions

6. Effect of architecture on implementation

7. Performance metrics and methods

B. Arithmetic

1. Integer arithmetic

2. Fixed Point Arithmetic

3. Floating Point Arithmetic Floating Point

C. Processor Internals Design

1. Instruction formats

2. Registers

3. Data Paths

4. Control Units

5. Buses

6. Data types and encodings

7. Addressing modes

8. Operand specification

9. Microprogramming

D. Pipelining

1. Hazards

2. Implementation

3. Dealing with branches and exceptions

F. Branch Instructions

1. Delayed branch

2. Branch prediction

3. Multiple pre-fetching

G. Memory System

1. RAM

2. Memory Hierarchies

3. Caches

4. Virtual memory and TLB’s

5. Performance analysis

H. I/O System

1. Pooling

2. Memory-mapped I/O

3. Programmed I/O

4. Interrupt handling

5. DMA

6. I/O Processors

7. Format change and Error control

References:

1. William Stallings, Computer Organization and Architecture, (seventh edition), Prentice Hall, 2005.

Chapters: 2, 4, 7.2-7.6, 9, 10, 12, 13, 16, 17

2. Heuring, V. P. y Jordan, H. F., Computer Systems Design and Architecture, (second edition), Addison

Wesley, 2003.

Chapters: 3, 4, 5, 6, 7 and 8.

3. Hennessy J. and Patterson, David A., Computer Architecture: A Quantitative Approach (3rd Edition)

Morgan Kaufmann, 2002.

Chapters: 2, 5, Appendix A

4. Hennessy J. and Patterson, David A., Computer Organization & Design: The Hardware/Software

Interface, Third Edition, Morgan Kaufmann, 2004.

Chapters: 3, 4, 5, 6, 7, 8

Theory of Computation

Topics:

Mathematical Foundations

A. Logic and Proofs

1. Truth tables and tautologies

2. Proof Methods

3. Mathematical and Structural Induction

4. Axiomatic method

B. Set theory

1. Venn Diagrams

2. Set Algebra

3. Countability

C. Probability theory

1. Axioms

2. Random Variables

3. Conditional Probability and Bayes Theorem

Computing Models and Computability Theory

A. Regular languages

1. Deterministic Finite State Automata (DFA)

2. Regular Expressions

3. Equivalence of Finite Automata and Regular Expressions

4. Non-deterministic Finite State Automata (NFA)

5. Equivalence of DFA and NFA

6. Pumping lemma and Applications

B. Context-free languages

1. Push Down Automata (PDA)

2. Context-Free Grammars (CFG)

3. Equivalence of PDA and CFG

4. Pumping lemma and applications

C. Turing Machines and Church-Turing Thesis

1. The Simple Turing Machine

2. Variants of the Turing Machine

3. Church-Turing Thesis and Universal Computing Models

4. Universal Turing Machines

D. Decidability and The Halting Problem

1. Decidable languages

2. The Halting Problem (Proof) and applications

3. Undecidable problems

E. Complexity Theory

1. Complexity measures

2. Complexity classes (Space/Time)

3. The classes P and NP and the P=NP Question

4. NP-completeness and NP-hardness

5. Polynomial-time reducibility

6. Examples of NP-complete problems (Proofs)

7. Cook’s theorem

References:

1. Michael Sipse r, “Introduction to the Theory of Computation”, Second Edition, MIT Press, 2005.

Part One: Automata and Languages sections 1, and 2

Part Two: Computability Theory

Sections 3, 4, and 5

Part Three: Complexity Theory

Sections 7, and 8

2. John E. Hopcroft, Raj eev Motwani, and Jeffrey D. Ullman, “Introduction to Automata Theory,

Languages, and Computation”, Third Edition, Addison Wesley, 2006.

Chapter 1, section 1.5

Chapter 2, sections 2.2, 2.3 and 2.5

Chapter 3, sections 3.1, 3.2 and 3.4

Chapter 4, sections 4.1, 4.2, and 4.3

Chapter 5, sections 5.1, 5.4

Chapter 6, sections 6.1.2, 6.2, 6.3, 6.4

Chapter 7, all sections

Chapter 8, sections 8.1, 8.2, 8.4, 8.5

Chapter 10, sections 10.1, 10.2, 10.3, 10.4

Chapter 11, section 11.2

3. http://www.dartmouth.edu/~chance/teaching_aids/books_articles/probability_book/book.html

Chapters 1 to 4.

Algorithms

Topics:

A. Searching

1. Linear and Binary Search Algorithms

B. Sorting

1. Comparison-based sorting

2. Optimality of n log n comparison-based sorting

C. Lists

1. Vectors (variable-sized arrays)

2. Linked Lists

3. Stacks

4. Queues

5. Priority Queues (List Implementation)

D. Sets

1. Trees and Balanced Trees

2. Dictionaries and Hashing

3. Heaps and Priority Queues

4. Disjoint Sets

E. Directed and Undirected Graphs

1. Adjacency list and Adjacency Matrix Representation

2. Graph Traversal: Depth-First and Breadth-First

3. Shortest Paths Algorithms

4. Spanning Trees

5. Connected Components

F. Algorithm Design Techniques

1. Greedy Method

2. Divide and Conquer

3. Dynamic Programming

4. Backtracking

5. Branch and Bound

G. Matrices

LU Decomposition

H. Algebraic methods

Fast Fourier Transform

I. String Algorithms

References :

1. A.V. Aho, J.E. Hopcroft, J.D. Ullman. The design and analysis of computer algorithms . Addison-

Wesley, 1974.

Chapters: 3, 4, 5,10

2. T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein. Introduction to Algorithms . MIT Press. Second

Edition, 2001.

Chapters: 1,3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 21, 22, 23, 24, 25, 34, Appendix

3. R. Sedgewick. Algorithms . Addison-Wesley. Second Edition, 1988.

Chapters: 1, 3, 4, 5, 6, 8, 9, 11, 12, 14, 15, 29, 30, 31, 32, 42

4. R. Sedgewick, P. Flajolet. An introduction to the analysis of algorithms . Addison-Wesley, 1996.

Chapters: 1, 2, 4, 5

Download