My background is that of a reasonably experienced programmer who hasn't learnt Comp Science formally. I am now learning Cryptography as a hobby in my spare time & I think I have learnt a reasonable amount of stuff through self-study.
I have learnt Elementary Number, Abstract Algebra & some amount of Algebraic Geometry through self study. I am not great at any of this but I think I have reached a satisfactory amateur level in these subjects.
I also have managed to get fair understanding of Cryptographic Hashing, RSA, DH, ECDH, Pairings etc. through self-study. Now I am trying to learn zkSNARKs & I am kind of getting stuck with self study of the non-math parts - i.e. the Comp Science parts - Theory of Computation, Complexity Theory, Circuits, Arithmetization etc.
I am looking for self study books which will help me with whatever I need to learn to understand zkSNARKS (& possibly other similar stuff like STARKs, PLONKs etc).
I tried a few books
Borak & Arora - In "About the book", they write this book is also meant for Self-Study but this is absolutely not true. I got totally stumped in page 3 or something where I couldn't make head nor tail what they write very casually. May be they assume some prerequesites.
Justin Thaler's Proof's, Arguments & Zero Knowledge book. I started it but it seems you need to know Computation Theory to understand this book, so this doesn't seem suitable.
Michael Sipser's book (Introduction to Theory of Computation) - this seems to be a very good book & also possibly suitable for self-study but it's quite a big book & I am wondering if I need to know the whole book? Are there parts I can skip & jump ahead.
So I am wondering if someone can tell me what all I need to learn for understanding zkSNARKs & if there is a better book than Sipser for self study & what parts of the book I need to study? What do I need to learn & what can I skip? I am not going to be giving any exams so I don't think I need an end-to-end knowledge at least to start.