As someone who had a technical but "not real CS" curriculum, I enjoyed Parr's "Language Implementation Patterns" book [0] because it illustrates how certain grammar-forms become recognizable code-patterns and control-flow.
Granted, it's definitely got a bent towards Parr's ANTLR project and the Java language, but I still found it made things "click" a lot better than my daunting lack of progress an old "Dragon Book" [1] which IIRC tended to float along with more mathy-notations and theory than concrete examples.
[0]: http://www.amazon.com/Language-Implementation-Patterns-Domai...
[1]: https://en.wikipedia.org/wiki/Compilers:_Principles,_Techniq...
I didn't struggle with compilers as an undegrad at all, and I found this book too slow for me, so I'm optimistic that you will be pleased by the pacing. :)
If you want to see a way older approach, I did really enjoy Jack Crenshaw's "Let's Build a Compiler"[2]—but it's so vintage it may be totally hipster by now. :)
[1] https://www.amazon.com/Language-Implementation-Patterns-Doma...
[2] http://compilers.iecc.com/crenshaw/