Intended learning outcomes
- Understanding and manipulation of the basics of propositional logic, inference, predicates, quantifiers, set theory, binary relations, transitive closure, equivalence relations, order relations, induction and recurrence, modular arithmetic, regular languages, regular expressions, regular grammars and finite automata.
- Using the Python programming language to develop a simple application, typically a simple game, using, whenever appropriate, the basics of point 1.
- Understanding the importance of modular arithmetic in control digits, cryptography and crypto-coins.