lecture notes on introduction to complexity theory