https://vulms.org/cs701-handouts/
Cs701 handouts-Theory of Computation