This course builds on top of MATH135
SE212: Logic and Computation
This course 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: