SE212: Logic and Computation
This course builds on top of MATH135. It’s is about Logic and sets, and their use in software engineering and computer science. We study the use of logic for:
- Specifying the behaviour of systems
- Checking the correctness of programs
https://student.cs.uwaterloo.ca/~se212/
The 4 major topics of the course:
- Propositional Logic
- Predicate Logic
- Set Theory and Formal Specification
- Program Correctness using Floyd-Hoare Logic
Link to course notes here.
- Specification = describing what the software is supposed to do, see Formal Specification
- Correctness = the software does what it is supposed to do, see Program Correctness
- We check correctness in 3 ways.
- Inspection
- Testing Blackbox Testing and Whitebox Testing
- Formal Verification What we learn SE212
Concepts
- Syllogism
- Formal Verification
- george
- Module 2: Propositional Logic
- Module 3: Predicate Logic
- Module 4: Theory
- Module 5: Set Theory
- Module 6: Formal Specification in Z
- Module 7: Program Correctness
Related
- These are concepts that are not covered, but that the professor mentioned
- Spatial Temporal Reasoning
As I was studying for my final exam, I started thinking about Semantics and Artificial Intelligence
- Well, there are strides in NLP, the AI manages to learn about these ideas in some sort of Latent Space
Precedence for this course: