Formal methods are rigorous techniques for the mathematical analysis of software and hardware systems. This course introduces aspects of formal methods with applications to software engineering problems.The topics covered in the course include:Introduction to Formal MethodsFormal methods tools, e.g.,SMT solvers on the example of Z3Relational models and the Alloy AnalyzerModel Checking using SMVApplications of formal methods in practiceAfter completion students will be able toModel problems in different formalismsAnalyze software models using formal method toolsEvaluate formal methods for software engineering problems