School of Electronic Engineering and Computer Science

ECS407U Logic and Discrete Structures

Module code: ECS407U

Credits: 15
Semester: SEM1

This module consists of two parts and each one is of fundamental importance for any serious approach to Computer Science: Logic and Discrete Structures.

Logic plays a very important role in computer architecture (logic gates), software engineering (specification and verification), programming languages (semantics, logic programming), databases (relational algebra and SQL the standard computer language for accessing and manipulating databases), artificial intelligence (automatic theorem proving), algorithms (complexity and expressiveness), and theory of computation (general notions of computability).

Discrete Mathematics is used by computer scientists to think about their subject and to communicate their ideas independently of particular computers and programs.

The aim of this course is to allow you to gain experience in constructing and manipulating the formal structures, which will prepare you for the many similar formalisms and structures that you will meet in other courses and throughout your career.

Topics include:

  • Propositional logic 
  • Predicate Calculus
  • Producing and annotating formal proofs
  • Programming language, Prolog.
  • This course will also cover a variety of standard representations, operations, properties, constructions and applications associated with selected structures from Discrete Mathematics (sets, relations, functions, directed graphs, orders).

Level: 4