2026-09-07 19:46 UTC
Now, for everyone feeling smug the CS1 handouts were easy, CS2 brings drops Computer Science on you. The task here -and why I found it painful at first-, is not to skim through recognising symbols or words, it is to go through *proving every assertion*.
Not done that for a long time. Maybe this is my chance to play with Lean.
Note: this is the preliminaries chapter. If you can't get past here, game over
https://github.com/steveloughran/edinburgh_cs/blob/main/1986-cs2/1986-cs2-foundations-01-mathematical-preliminaries.pdf
#computerscience #cs
Replies (1)
-
@stevel@hachyderm.io 2026-09-07 20:01
After that, chapter 2, propositional logic comes as light relief. If you can't write if () statements you're not a software engineer. What's interesting here is that it ties boolean logic in with the preliminaries: and, or, not, xor etc are all functions with inputs of {0, 1}+, and outputs in {0,1}, so all those function composition rules in Preliminaries apply. I was fine until p26 & how {!, ^, true, false} isn't complete the way NAND gates are. I'm ok with not being able to prove that https://github.com/steveloughran/edinburgh_cs/blob/main/1986-cs2/1986-cs2-foundations-02-propositional-logic.pdf #computerscience