Description
This BASc module is meant to be an introduction to the theoretical concepts required for Year 2 computer science courses. However, the course also provides a stand-alone introduction for students interested in the theory of computation and its links with logic and language theory. The first part of the course will focus on mathematical logic and the second part will address the fundamentals of computation, automata, and language theory.
Teaching Delivery
This module will be taught in one two-hour lecture per week followed by a one-hour seminar.Ìý
Indicative Topics
The module will cover the following topics, which may be subject to variation depending on developments in academic research and the interests of the class:
- What is logic: Syntax and semantics of propositional logic;
- Logical equivalence, logical interpretation, and algebraic reasoning;
- Boolean Algebra and Induction;
- Language theory and syntax;
- Automata;
- Fundamentals of Computation (classes of languages, models of computation, computability, complexity).
Module aims and objectives
- Understand the main concepts in propositional logicÌý
- Understand the main concepts in first order logicÌý
- Understand the concept of computabilityÌý
- Being able to evaluate and decide simple logical formulaeÌý
- Being able to evaluate complex first order formulae and proof systemsÌý
- Understand the concept of proof systemÌý
- Being able to solve problems involving a mix of propositional, first order logic and proof systemsÌý
- Being able to discuss the main points in computability, decidability and undecidabilityÌý
- Being able to recognise computations on a Turing Machine, and being able to define simple recursive functionsÌý
Module deliveries for 2024/25 academic year
Last updated
This module description was last updated on 19th August 2024.
Ìý