Programming Languages, lambda calculus, calculus of constructions
northhorizon.net
northhorizon.net
There's some material for xkcd.com
Reading the rest of the article, one thing I don't get is why the focus on the idea that "programs and proofs are equivalent". You can do math in isolation, but your programs have to run on something which runs on something which runs on something all the way down to the hardware level where at any step along the way you lose control of the "precision" of the code being run or some anomaly environmental/hardware factor affects the overall outcome and the proof is out the window.