Gihan Chanaka Jayatilaka : Blog : Suggested reading for students transitioning from engineering to CS theory


It would be awesome if you started your undergraduate education in the exact field that "clicks" with you and go to graduate school in the same field. However, this might not be the case for many of us who find our true passion somewhere in the middle. I started my undergraduate degree in computer engineering and figured out that my true passion is in the theoretical end of CS later on.

I recently attended International School-conference in Algorithms, Combinatorics, and Complexity to get an flavour of what I could expect to work on once I get into theory as my full-time activity. Prof. Madhu Sudan held vitural office hours for the participants. The following list is his answers to my question "what do you suggest for a student transitioning from engineering to theory as reading material in the summer right before graduate school?"

Students can go through the following 3 books sequentially. It is very useful to sharpen your proof skills in order to suceed in CS theory.

  1. Mathematics for computer science
    by E Lehman, T Leighton, AR Meyer [PDF]
  2. Introduction to the Theory of Computation
    by Michael Sipser [DOI]
  3. Computational Complexity: A Modern Approach
    by Sanjeev Arora and Boaz Barak [PDF]
Prof. Sudan suggested that once a student has gone through the 3 texts, they can start looking at subfield such as the ones given below.

[Written on : 25th June, 2021. Last edited : 25th June, 2021]