translate statements and reasoning given in natural language to propositional and predicate logic, explain how predicate logic formulas are interpreted as true or false, and explain the concepts of tautology, valid inference, logical truth and logical consequence
describe some mathematical models for calculations such as finite automata, regular and context-free grammars, and how these models are related to each other
use automata and logic to model simple systems and define and explain basic correctness properties of models
use tools to, in simple cases, determine if a model satisfies a correctness property
The course consists of a theoretical part and a practical part. The theoretical part contains:
Logical expressions, formulation and specification of natural language, logical consistency and equivalence. Regular expressions, context-free and regular grammars, finite automata. System modelling. Interpretation and model. Modal logic.
The practical part contains: Modelling of a small IT system, formulation of correctness properties and analysis of systems with respect to correctness properties.
Lectures, tutorials, labs.
Oral and written assessment of assignments, 3 credits, written examination, 2 credits.