•
Foundations of Computing. 'Aims: To introduce the basic concepts of discrete mathematics that are needed for the study of computer science. Syllabus: Sets, Relations, Functions, Basic combinatorial principles, Discrete probability, Graphs, Trees, Finite automata, Regular languages'
•
Elementary Logic and Applications. 'Aims: To provide you with an introduction to the essential mathematics that underlies computer programming: propositional logic, predicate logic, proof methods, and induction; an introduction to the application of logic and proof to issues in programming. '
•
Computer Science Logic 'This module intends to show how various logical formalisms are used as specification, verification, representation and reasoning tools in computer science, AI and IT.' Or, in other words, it applies the first-year logic module, to do things like proving a program will execute successfully.
•
Foundations of Computing II. 'After studying this module, you will be able to work with integers, matrices, recurrences, graphs and probabilities; model and solve practical problems by using the taught methods and design efficient algorithms for graph, matrix and number theoretic problems in computer science. Syllabus: Number Theory, Graph Theory, Matrix Algebra, Recurrence Relations, Probability and Statistics.'