I am not a computer science graduate and have always been fascinated by programming languages and how they work. i am currently reading a book called crafting interpreters (
https://craftinginterpreters.com) which i think is a very good introduction to the topic plus it's very practical without getting too deep into theory.