2026-09-07 20:01 UTC
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
Replies (1)
-
@stevel@hachyderm.io 2026-09-07 20:07
And Ch 03, Algorithm Analysis. Big O notation and more. That I know enough to be able to do it for mergesort trivially. But dynamic programming I haven't done for a long time. Going to make those some golang exercises before i calculate their complexities. (Yes, the handout gives answers, but I'm trying work things through) https://github.com/steveloughran/edinburgh_cs/blob/main/1986-cs2/1986-cs2-foundations-03-foundations-design-and-analysis-of-algorithms.pdf #computerscience