Aims:

In this foundation module, students will be made aware of the influences which have helped to shape the built environment. This is mostly considered...

Introduction to the Built Environment (BCPM0060)

Mathematical Logic|Logic|Propositional Logic|Computability Theory|Computer Science|Formal Langu

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...

Logic, Computation and Language Theory (BASC0040)

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.

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).

By the end of the module, you should be able to:

• Recall the definitions of the logics and logical systems presented in the course;

• Understand the mechanisms of proof systems presented in the course;

• Understand and use correctly terms and notation commonly used in elementary logic texts;

• Be able to discuss automata theory;

• Translate logical formulas into English;

• Write logical formulas expressing ideas given in English;

• Construct proofs using proof systems presented in the course;

• Be able to discuss models of computation;

• Discuss computability;

• Translate simple natural language arguments into logical symbolism.