Take a look at: Understanding Computation: From Simple Machines to Impossible Programs by Tom Stuart.
It's pretty much "computation theory for the everyday programmer". It uses Ruby to implement things like Turing Machines and the lambda calculus. Extremely accessible, and a lot of fun.
Re:Computer Science from the Bottom Up
by mattwillmart on Saturday May 01, 2021 @02:28AM
(#27003806)
Thank you
Specifically "mathematically explaining what it means to compute, and building up to the abstraction of a Turing machine"
Thanks