Introduces the fundamentals of software engineering, covering instruction processing, algorithms, programming languages, abstractions, testing, security, and open source.
Introduces formal verification and its advantages over traditional testing methods, discussing automated theorem proving and compiling correctness statements into verification conditions.