Programming Language SecurityExplores programming language security, covering type safety, memory safety, threat safety, Rust's ownership model, sandboxing, and compartmentalization.
Software Engineering EssentialsCovers software engineering essentials, emphasizing requirements, modularity, and abstraction, with practical insights and examples.
From Tests to ProofExplores software engineering concepts, emphasizing the significance of tests and clear specifications in ensuring software correctness.
Scientific Computing EssentialsCovers algorithmic thinking, Python programming, numerical methods, and essential computing concepts for scientific computing.
From Tests to ProofExplores the shift from software testing to formal specifications, highlighting the significance of clear requirements in software engineering.