To provide the prerequisite understanding of, and competency in, the concepts and techniques of logic and mathematics that are required so that Associate Students in Computer Science (Programme code F210) can progress, after completion of an HND in Software Development, to Year 3 of the BSc in Computer Science.
Understanding and competencies are assessed by three one-hour class tests. To demonstrate that the learning outcomes have been met and to pass the course, students must pass each of the three class tests. The student has the opportunity to resit any class test that they do not pass at the first attempt.
1. Set theory (1.1 Definition of a set and subset., 1.2 Unions, intersections, and complements of sets. , 1.3 Set theory rules including de Morgan, distributive, associative, and commutative rules in set theory.)
2. Relations on a set (2.1 Definition and examples of relations on a set, 2.2 Properties of relations: symmetric, reflexive, and transitive, 2.3 Graphical representation a relation on a set, 2.4 Determining whether a relation is an equivalence relation and if so, the equivalence classes of the relation)
3. Functions (3.1 Definition of a function, 3.2 Domain and range of a function, 3.3 Properties of a function including whether it is injective or surjective and whether it has an inverse., 3.4 Compositions of functions)
4. Propositional Logic (4.1 Definition of the connectives by means of truth tables;, 4.2 Truth tables of compound propositions; , 4.3 Syntax: Order of precedence rules and brackets and parse trees, 4.4 Contradictions, satisfiable formulae, tautologies;, 4.5 Important logical equivalences, 4.6 Normal forms and adequate connectives, 4.7 Horn formulae and the Horn algorithm, 4.8 Valid arguments;, 4.9 Applications of truth-trees in propositional logic)
5. Introduction to First-Order Logic (5.1 Specification of a first-order language: names, predicates, quantifiers, and connectives, 5.2 Scope of a quantifier and bound and free variables in a formulae, 5.3 Open and closed formulae and their parse trees, 5.4 Interpretation of FOL formulae in a structure D and the interpretation of quantifiers, 5.5 Universally valid sentences in FOL, 5.6 Applications of truth trees in FOL, 5.7 Logical equivalence of sentences in FOL and de Morgan's laws for quantifiers)
6. Functional programming (6.1 Understanding recursion, 6.2 Defining functions using patter-matching, 6.3 Using higher-order functions, 6.4 Defining custom algebraic datatypes)
By the end of the course, students should be able to do the following:
Curriculum explorer: Click here
SCQF Level: 7
Credits: 15