Book list:
- Analysis of Boolean Functions
- Computational Complexity : A Modern Approach
- Introduction to Automata Theory, Languages, and Computation
- Introduction to Modern Cryptography
- The Probabilistic Method
if there are mistakes or you know answers to the unsolved (but hard) exercises, please let me know.