The main areas of the Theory exam are algorithms and data structures, automata and computation, and numerical computing. The reading list for the Theory exam is as follows:
R. Sedgewick, Algorithms in Java, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching, 3rd edition, Addison Wesley, 2002
R. Sedgewick, Algorithms in Java, Parts 5: Graph Algorithms, 3rd edition, Addison Wesley, 2004
John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman, Introduction to Automata Theory, Languages and Computation, Addison Wesley, 2007 (3rd edition), Chapters 1-10.
Gene H. Golub and Charles F. Van Loan, Matrix Computations, 3rd edition, Johns Hopkins University Press, 1996, Chapters 1-5, 7-8, and 10.
C. E. Wee and R. N. Goldman, "Elimination and Resultants", IEEE Computer Graphics and Applications, Part 1 in January 1995 (Vol 15, No 1), pages 69-77; and Part 2 in March 1995 (Vol 15, No 2), pages 60-69.