Covers the basics of programming, including the development cycle of a program, strong typing, data storage in Java variables, and primitive data types.
Explores the foundations of modular verification using Separation Logic for realistic concurrent programs and discusses the challenges of shared mutable state in concurrency.