Formal methods in computer science are mathematically rigorous techniques used to specify, develop, analyze, and verify software and hardware systems. These methods rely on various theoretical computer science fundamentals such as logic calculi, formal languages, automata theory, control theory, program semantics, type systems, and type theory to improve the reliability and robustness of designs.
UC Berkeley
Winter 2013
This course provides basic theoretical and practical foundations of distributed systems. Students learn about system models, safety and liveness of protocols, different failure models, reliable group communication abstractions, and more. It utilizes a textbook and additional research paper-based lectures.
No concepts data
+ 17 more concepts